From a5472f05933630d7d64910b36717c3357e275aae Mon Sep 17 00:00:00 2001 From: Jon Griffiths Date: Mon, 29 Aug 2016 11:52:44 +1200 Subject: [PATCH] sha256: Simplify test We can use the iteration count in the test case to determine whether a single call is required. This simplifies the code and also means that we don't overstate the actual number of tests performed by a factor of 2. Simplify a couple of expressions while we are changing this. --- ccan/crypto/sha256/test/run-test-vectors.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ccan/crypto/sha256/test/run-test-vectors.c b/ccan/crypto/sha256/test/run-test-vectors.c index a64c35e4..ed2eb5f9 100644 --- a/ccan/crypto/sha256/test/run-test-vectors.c +++ b/ccan/crypto/sha256/test/run-test-vectors.c @@ -45,15 +45,13 @@ static struct test tests[] = { #endif }; -static bool do_test(const struct test *t, bool single) +static bool do_test(const struct test *t) { struct sha256 h; - if (single) { - if (t->repetitions != 1) - return true; + if (t->repetitions == 1) sha256(&h, t->test, strlen(t->test)); - } else { + else { struct sha256_ctx ctx = SHA256_INIT; size_t i; @@ -62,7 +60,7 @@ static bool do_test(const struct test *t, bool single) sha256_done(&ctx, &h); } - return memcmp(&h.u, t->result, sizeof(t->result)) == 0; + return memcmp(&h, t->result, sizeof(h)) == 0; } int main(void) @@ -70,13 +68,10 @@ int main(void) size_t i; /* This is how many tests you plan to run */ - plan_tests(sizeof(tests) / sizeof(struct test) * 2); + plan_tests(sizeof(tests) / sizeof(tests[0])); - for (i = 0; i < sizeof(tests) / sizeof(struct test); i++) - ok1(do_test(&tests[i], false)); - - for (i = 0; i < sizeof(tests) / sizeof(struct test); i++) - ok1(do_test(&tests[i], true)); + for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) + ok1(do_test(&tests[i])); /* This exits depending on whether all tests passed */ return exit_status(); -- 2.30.2