tests: add unit tests covered with Clang sanitizers
[project/libubox.git] / tests / cram / test_base64.t
index 4f8809feb7e3ab0bd85d0ade85153830b93df54d..ade41fb1eb2a6b76b1acb3848fef740f586fd325 100644 (file)
@@ -19,3 +19,39 @@ check that base64 is producing expected results:
   4 foob
   5 fooba
   6 foobar
+
+  $ test-b64-san
+  0 
+  4 Zg==
+  4 Zm8=
+  4 Zm9v
+  8 Zm9vYg==
+  8 Zm9vYmE=
+  8 Zm9vYmFy
+  0 
+  1 f
+  2 fo
+  3 foo
+  4 foob
+  5 fooba
+  6 foobar
+
+check that b64_encode and b64_decode assert invalid input
+
+  $ alias check="egrep '(dumped|Assertion)' output.log | sed 's;.*\(b64_.*code\).*\(Assertion.*$\);\1: \2;' | LC_ALL=C sort"
+
+  $ test-b64_decode 2> output.log; check
+  Aborted (core dumped)
+  b64_decode: Assertion `dest && targsize > 0' failed.
+
+  $ test-b64_encode 2> output.log; check
+  Aborted (core dumped)
+  b64_encode: Assertion `dest && targsize > 0' failed.
+
+  $ test-b64_decode-san 2> output.log; check
+  Aborted (core dumped)
+  b64_decode: Assertion `dest && targsize > 0' failed.
+
+  $ test-b64_encode-san 2> output.log; check
+  Aborted (core dumped)
+  b64_encode: Assertion `dest && targsize > 0' failed.