/*
- * 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 <config.h>
#include <string.h>
#include "random.h"
#include "util.h"
+#include "ovstest.h"
#undef NDEBUG
#include <assert.h>
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('.');
{ 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;
test_big_vector();
- return 0;
+ putchar('\n');
}
+
+OVSTEST_REGISTER("test-sha1", test_shar1_main);