1a8e1175bSopenharmony_cienc_char (all digits)
2a8e1175bSopenharmony_cienc_chars:
3a8e1175bSopenharmony_ci
4a8e1175bSopenharmony_cidec_value (all characters)
5a8e1175bSopenharmony_cidec_chars:
6a8e1175bSopenharmony_ci
7a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #1 buffer just right
8a8e1175bSopenharmony_cimbedtls_base64_encode:"":"":0:0
9a8e1175bSopenharmony_ci
10a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #2 buffer just right
11a8e1175bSopenharmony_cimbedtls_base64_encode:"f":"Zg==":5:0
12a8e1175bSopenharmony_ci
13a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #2 buffer too small
14a8e1175bSopenharmony_cimbedtls_base64_encode:"f":"Zg==":4:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
15a8e1175bSopenharmony_ci
16a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #3 buffer just right
17a8e1175bSopenharmony_cimbedtls_base64_encode:"fo":"Zm8=":5:0
18a8e1175bSopenharmony_ci
19a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #3 buffer too small
20a8e1175bSopenharmony_cimbedtls_base64_encode:"fo":"Zm8=":4:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
21a8e1175bSopenharmony_ci
22a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #4 buffer just right
23a8e1175bSopenharmony_cimbedtls_base64_encode:"foo":"Zm9v":5:0
24a8e1175bSopenharmony_ci
25a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #4 buffer too small
26a8e1175bSopenharmony_cimbedtls_base64_encode:"foo":"Zm9v":4:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
27a8e1175bSopenharmony_ci
28a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #5 buffer just right
29a8e1175bSopenharmony_cimbedtls_base64_encode:"foob":"Zm9vYg==":9:0
30a8e1175bSopenharmony_ci
31a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #5 buffer too small
32a8e1175bSopenharmony_cimbedtls_base64_encode:"foob":"Zm9vYg==":8:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
33a8e1175bSopenharmony_ci
34a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #6 buffer just right
35a8e1175bSopenharmony_cimbedtls_base64_encode:"fooba":"Zm9vYmE=":9:0
36a8e1175bSopenharmony_ci
37a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #6 buffer too small
38a8e1175bSopenharmony_cimbedtls_base64_encode:"fooba":"Zm9vYmE=":8:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
39a8e1175bSopenharmony_ci
40a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #7 buffer just right
41a8e1175bSopenharmony_cimbedtls_base64_encode:"foobar":"Zm9vYmFy":9:0
42a8e1175bSopenharmony_ci
43a8e1175bSopenharmony_ciTest case mbedtls_base64_encode #7 buffer too small
44a8e1175bSopenharmony_cimbedtls_base64_encode:"foobar":"Zm9vYmFy":8:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
45a8e1175bSopenharmony_ci
46a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #1
47a8e1175bSopenharmony_cimbedtls_base64_decode:"":"":0
48a8e1175bSopenharmony_ci
49a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #2
50a8e1175bSopenharmony_cimbedtls_base64_decode:"Zg==":"f":0
51a8e1175bSopenharmony_ci
52a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #3
53a8e1175bSopenharmony_cimbedtls_base64_decode:"Zm8=":"fo":0
54a8e1175bSopenharmony_ci
55a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #4
56a8e1175bSopenharmony_cimbedtls_base64_decode:"Zm9v":"foo":0
57a8e1175bSopenharmony_ci
58a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #5
59a8e1175bSopenharmony_cimbedtls_base64_decode:"Zm9vYg==":"foob":0
60a8e1175bSopenharmony_ci
61a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #6
62a8e1175bSopenharmony_cimbedtls_base64_decode:"Zm9vYmE=":"fooba":0
63a8e1175bSopenharmony_ci
64a8e1175bSopenharmony_ciTest case mbedtls_base64_decode #7
65a8e1175bSopenharmony_cimbedtls_base64_decode:"Zm9vYmFy":"foobar":0
66a8e1175bSopenharmony_ci
67a8e1175bSopenharmony_ciBase64 decode (Illegal character)
68a8e1175bSopenharmony_cimbedtls_base64_decode:"zm#=":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
69a8e1175bSopenharmony_ci
70a8e1175bSopenharmony_ciBase64 decode (Too much equal signs)
71a8e1175bSopenharmony_cimbedtls_base64_decode:"zm===":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
72a8e1175bSopenharmony_ci
73a8e1175bSopenharmony_ciBase64 decode (Invalid char after equal signs)
74a8e1175bSopenharmony_cimbedtls_base64_decode:"zm=masd":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
75a8e1175bSopenharmony_ci
76a8e1175bSopenharmony_ciBase64 decode (Space inside string)
77a8e1175bSopenharmony_cimbedtls_base64_decode:"zm masd":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
78a8e1175bSopenharmony_ci
79a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy" (no newline nor '\0' at end)
80a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4679":"foobar":0
81a8e1175bSopenharmony_ci
82a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy\n" (LF at end)
83a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46790a":"foobar":0
84a8e1175bSopenharmony_ci
85a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy\r\n" (CRLF at end)
86a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46790d0a":"foobar":0
87a8e1175bSopenharmony_ci
88a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy\r" (CR at end)
89a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46790d":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
90a8e1175bSopenharmony_ci
91a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy " (SP at end)
92a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d467920":"foobar":0
93a8e1175bSopenharmony_ci
94a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy \n" (SP+LF at end)
95a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4679200a":"foobar":0
96a8e1175bSopenharmony_ci
97a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy \r\n" (SP+CRLF at end)
98a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4679200d0a":"foobar":0
99a8e1175bSopenharmony_ci
100a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy \r" (SP+CR at end)
101a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4679200d":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
102a8e1175bSopenharmony_ci
103a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy  " (2SP at end)
104a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46792020":"foobar":0
105a8e1175bSopenharmony_ci
106a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy  \n" (2SP+LF at end)
107a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d467920200a":"foobar":0
108a8e1175bSopenharmony_ci
109a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy  \r\n" (2SP+CRLF at end)
110a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d467920200d0a":"foobar":0
111a8e1175bSopenharmony_ci
112a8e1175bSopenharmony_ciBase64 decode "Zm9vYmFy  \r" (2SP+CR at end)
113a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d467920200d":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
114a8e1175bSopenharmony_ci
115a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF\ny" (LF inside)
116a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d460a79":"foobar":0
117a8e1175bSopenharmony_ci
118a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF\ry" (CRLF inside)
119a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d460d0a79":"foobar":0
120a8e1175bSopenharmony_ci
121a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF\ry" (CR inside)
122a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d460d79":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
123a8e1175bSopenharmony_ci
124a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF y" (SP inside)
125a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d462079":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
126a8e1175bSopenharmony_ci
127a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF \ny" (SP+LF inside)
128a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46200a79":"foobar":0
129a8e1175bSopenharmony_ci
130a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF \ry" (SP+CRLF inside)
131a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46200d0a79":"foobar":0
132a8e1175bSopenharmony_ci
133a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF \ry" (SP+CR inside)
134a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46200d79":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
135a8e1175bSopenharmony_ci
136a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF  y" (2SP inside)
137a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d46202079":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
138a8e1175bSopenharmony_ci
139a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF  \ny" (2SP+LF inside)
140a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4620200a79":"foobar":0
141a8e1175bSopenharmony_ci
142a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF  \ry" (2SP+CRLF inside)
143a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4620200d0a79":"foobar":0
144a8e1175bSopenharmony_ci
145a8e1175bSopenharmony_ciBase64 decode "Zm9vYmF  \ry" (2SP+CR inside)
146a8e1175bSopenharmony_cibase64_decode_hex_src:"5a6d3976596d4620200d79":"":MBEDTLS_ERR_BASE64_INVALID_CHARACTER
147a8e1175bSopenharmony_ci
148a8e1175bSopenharmony_ciBase64 encode hex #1
149a8e1175bSopenharmony_cibase64_encode_hex:"010203040506070809":"AQIDBAUGBwgJ":13:0
150a8e1175bSopenharmony_ci
151a8e1175bSopenharmony_ciBase64 encode hex #2 (buffer too small)
152a8e1175bSopenharmony_cibase64_encode_hex:"010203040506070809":"AQIDBAUGBwgJ":12:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
153a8e1175bSopenharmony_ci
154a8e1175bSopenharmony_ciBase64 encode hex #3
155a8e1175bSopenharmony_cibase64_encode_hex:"0102030405060708":"AQIDBAUGBwg=":13:0
156a8e1175bSopenharmony_ci
157a8e1175bSopenharmony_ciBase64 encode hex #4
158a8e1175bSopenharmony_cibase64_encode_hex:"01020304050607":"AQIDBAUGBw==":13:0
159a8e1175bSopenharmony_ci
160a8e1175bSopenharmony_ci# Rotate the bytes around so that they end up at each offset modulo 3 in
161a8e1175bSopenharmony_ci# successive test cases.
162a8e1175bSopenharmony_ciBase64 encode hex all valid input bytes #0
163a8e1175bSopenharmony_cibase64_encode_hex:"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==":345:0
164a8e1175bSopenharmony_ci
165a8e1175bSopenharmony_ciBase64 encode hex all valid input bytes #1
166a8e1175bSopenharmony_cibase64_encode_hex:"0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff00":"AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AA==":345:0
167a8e1175bSopenharmony_ci
168a8e1175bSopenharmony_ciBase64 encode hex all valid input bytes #2
169a8e1175bSopenharmony_cibase64_encode_hex:"02030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff0001":"AgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQ==":345:0
170a8e1175bSopenharmony_ci
171a8e1175bSopenharmony_ciBase64 encode all valid output characters at all offsets
172a8e1175bSopenharmony_cibase64_encode_hex:"00108310518720928b30d38f41149351559761969b71d79f8218a39259a7a29aabb2dbafc31cb3d35db7e39ebbf3dfbff800420c41461c824a2cc34e3d04524d45565d865a6dc75e7e08628e49669e8a6aaecb6ebf0c72cf4d76df8e7aefcf7effe00108310518720928b30d38f41149351559761969b71d79f8218a39259a7a29aabb2dbafc31cb3d35db7e39ebbf3dfbff800420c41461c824a2cc34e3d04524d45565d865a6dc75e7e08628e49669e8a6aaecb6ebf0c72cf4d76df8e7aefcf7efd0":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/Q":261:0
173a8e1175bSopenharmony_ci
174a8e1175bSopenharmony_ciBase64 decode hex #1
175a8e1175bSopenharmony_cibase64_decode_hex:"AQIDBAUGBwgJ":"010203040506070809":9:0
176a8e1175bSopenharmony_ci
177a8e1175bSopenharmony_ciBase64 decode hex #2 (buffer too small)
178a8e1175bSopenharmony_cibase64_decode_hex:"AQIDBAUGBwgJ":"010203040506070809":8:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
179a8e1175bSopenharmony_ci
180a8e1175bSopenharmony_ciBase64 decode hex #3
181a8e1175bSopenharmony_cibase64_decode_hex:"AQIDBAUGBwg=":"0102030405060708":8:0
182a8e1175bSopenharmony_ci
183a8e1175bSopenharmony_ciBase64 decode hex #4
184a8e1175bSopenharmony_cibase64_decode_hex:"AQIDBAUGBw==":"01020304050607":7:0
185a8e1175bSopenharmony_ci
186a8e1175bSopenharmony_ciBase64 decode hex #5 (buffer too small)
187a8e1175bSopenharmony_cibase64_decode_hex:"AQIDBAUGBw==":"01020304050607":6:MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
188a8e1175bSopenharmony_ci
189a8e1175bSopenharmony_ciBase64 decode all valid input characters at all offsets
190a8e1175bSopenharmony_cibase64_decode_hex:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/Q":"00108310518720928b30d38f41149351559761969b71d79f8218a39259a7a29aabb2dbafc31cb3d35db7e39ebbf3dfbff800420c41461c824a2cc34e3d04524d45565d865a6dc75e7e08628e49669e8a6aaecb6ebf0c72cf4d76df8e7aefcf7effe00108310518720928b30d38f41149351559761969b71d79f8218a39259a7a29aabb2dbafc31cb3d35db7e39ebbf3dfbff800420c41461c824a2cc34e3d04524d45565d865a6dc75e7e08628e49669e8a6aaecb6ebf0c72cf4d76df8e7aefcf7efd0":195:0
191a8e1175bSopenharmony_ci
192a8e1175bSopenharmony_ciBase64 Selftest
193a8e1175bSopenharmony_cidepends_on:MBEDTLS_SELF_TEST
194a8e1175bSopenharmony_cibase64_selftest:
195a8e1175bSopenharmony_ci
196