X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-sha1.c;h=1896c0fe5f09588a91a41b1bfe40731e76329b0f;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=992c36cdafe92b6fa2358a4b9d19c18c9e05bdf9;hpb=d138cd2c0972990dfd58021f11cd877c475a1303;p=sliver-openvswitch.git diff --git a/tests/test-sha1.c b/tests/test-sha1.c index 992c36cda..1896c0fe5 100644 --- a/tests/test-sha1.c +++ b/tests/test-sha1.c @@ -1,17 +1,17 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2009, 2011, 2012 Nicira, Inc. * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ #include @@ -22,6 +22,7 @@ #include #include "random.h" #include "util.h" +#include "ovstest.h" #undef NDEBUG #include @@ -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);