]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(test_main): Check that %i and %b
authorNiels Möller <nisse@lysator.liu.se>
Fri, 15 Nov 2002 08:12:55 +0000 (09:12 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Fri, 15 Nov 2002 08:12:55 +0000 (09:12 +0100)
generate leading zeroes when needed. Check that %b handles
negative numbers.

Rev: src/nettle/testsuite/sexp-format-test.c:1.3

testsuite/sexp-format-test.c

index 65039859570e85b7aa2305d630c94992018ef9d5..e071534609181542c5b665d209392b3dd66f4627 100644 (file)
@@ -40,14 +40,14 @@ test_main(void)
     ASSERT(MEMEQ(buffer.size, buffer.contents, e));
   }
   {
-    const uint8_t e[] = "1:a2:bc3:def4:ghij";
+    const uint8_t e[] = "1:\0""1:a2:bc3:def4:ghij5:\x00\xDE\xAD\xBE\xEF";
 
     nettle_buffer_init(&buffer);  
-    ASSERT(sexp_format(&buffer, "%i%i%i%i",
-                      0x61, 0x6263, 0x646566, 0x6768696a)
-          == strlen(e));
+    ASSERT(sexp_format(&buffer, "%i%i%i%i%i%i",
+                      0, 0x61, 0x6263, 0x646566, 0x6768696a, 0xDEADBEEF)
+          == LLENGTH(e));
     
-    ASSERT(buffer.size == strlen(e));
+    ASSERT(buffer.size == LLENGTH(e));
     ASSERT(MEMEQ(buffer.size, buffer.contents, e));
   }
 
@@ -66,22 +66,28 @@ test_main(void)
 #if HAVE_LIBGMP
   {
     mpz_t x;
-    const uint8_t e[] = "(3:foo(3:bar11:abcdefghijk))";
+    mpz_t y;
+    mpz_t z;
+    
+    const uint8_t e[] =
+      "(3:foo(3:bar1:\xff""11:abcdefghijk13:\0\x81""abcdefghijk))";
 
     nettle_buffer_clear(&buffer);
-    
-    nettle_mpz_init_set_str_256(x, 11, "abcdefghijk");
+
+    mpz_init_set_si(x, -1);
+    nettle_mpz_init_set_str_256_u(y, 11, "abcdefghijk");
+    nettle_mpz_init_set_str_256_u(z, 12, "\x81""abcdefghijk");
     nettle_buffer_init(&buffer);
 
-    ASSERT(sexp_format(&buffer, "(%z(%z%b))",
-                    "foo", "bar", x)
-          == strlen(e));
+    ASSERT(sexp_format(&buffer, "(%z(%z%b%b%b))",
+                    "foo", "bar", x, y, z)
+          == LLENGTH(e));
 
-    ASSERT(sexp_format(NULL, "(%z(%z%b))",
-                    "foo", "bar", x)
-          == strlen(e));
+    ASSERT(sexp_format(NULL, "(%z(%z%b%b%b))",
+                    "foo", "bar", x, y, z)
+          == LLENGTH(e));
     
-    ASSERT(buffer.size == strlen(e));
+    ASSERT(buffer.size == LLENGTH(e));
     ASSERT(MEMEQ(buffer.size, buffer.contents, e));
 
     nettle_buffer_clear(&buffer);
@@ -91,5 +97,3 @@ test_main(void)
 
   SUCCESS();
 }
-
-