Prepare for post-2.2.0 (2.2.90).
[sliver-openvswitch.git] / tests / test-sha1.c
index e3c6217..1896c0f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009 Nicira Networks.
+ * Copyright (c) 2009, 2011, 2012 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@
 #include <string.h>
 #include "random.h"
 #include "util.h"
+#include "ovstest.h"
 
 #undef NDEBUG
 #include <assert.h>
@@ -94,25 +95,24 @@ static const struct test_vector vectors[] = {
 static void
 test_one(const struct test_vector *vec)
 {
-    uint8_t md[SHA1HashSize];
+    uint8_t md[SHA1_DIGEST_SIZE];
     int i;
 
     /* All at once. */
-    SHA1Bytes(vec->data, vec->size, md);
-    assert(!memcmp(md, vec->output, SHA1HashSize));
+    sha1_bytes(vec->data, vec->size, md);
+    assert(!memcmp(md, vec->output, SHA1_DIGEST_SIZE));
 
     /* In two pieces. */
     for (i = 0; i < 20; i++) {
         int n0 = vec->size ? random_range(vec->size) : 0;
         int n1 = vec->size - n0;
-        SHA1Context sha1;
-
-        assert(SHA1Reset(&sha1) == shaSuccess);
-        assert(SHA1Input(&sha1, (const void *) vec->data, n0) == shaSuccess);
-        assert(SHA1Input(&sha1, (const void *) (vec->data + n0), n1)
-               == shaSuccess);
-        assert(SHA1Result(&sha1, md) == shaSuccess);
-        assert(!memcmp(md, vec->output, SHA1HashSize));
+        struct sha1_ctx sha1;
+
+        sha1_init(&sha1);
+        sha1_update(&sha1, vec->data, n0);
+        sha1_update(&sha1, vec->data + n0, n1);
+        sha1_final(&sha1, md);
+        assert(!memcmp(md, vec->output, SHA1_DIGEST_SIZE));
     }
 
     putchar('.');
@@ -128,15 +128,18 @@ test_big_vector(void)
         { 0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E,
           0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F }
     };
+    size_t i;
 
     vec.data = xmalloc(SIZE);
-    memset(vec.data, 'a', SIZE);
+    for (i = 0; i < SIZE; i++) {
+        vec.data[i] = 'a';
+    }
     test_one(&vec);
     free(vec.data);
 }
 
-int
-main(void)
+static void
+test_shar1_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
 {
     int i;
 
@@ -146,5 +149,7 @@ main(void)
 
     test_big_vector();
 
-    return 0;
+    putchar('\n');
 }
+
+OVSTEST_REGISTER("test-sha1", test_shar1_main);