diff options
author | Rich Salz <rsalz@openssl.org> | 2017-04-18 20:50:00 +0200 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2017-04-18 20:50:00 +0200 |
commit | 3304d57848479441ffa0facc6d9693a466559756 (patch) | |
tree | 3bbd1a1d6f0bbf9055bb68bdd83b0b26bdf71522 /test/randtest.c | |
parent | Convert more tests (diff) | |
download | openssl-3304d57848479441ffa0facc6d9693a466559756.tar.xz openssl-3304d57848479441ffa0facc6d9693a466559756.zip |
Convert more tests to framework
randtest, cipher_overhead_test, bioprintest, constant_time_test
Move test_bioprint to 04 group
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3228)
Diffstat (limited to 'test/randtest.c')
-rw-r--r-- | test/randtest.c | 95 |
1 files changed, 30 insertions, 65 deletions
diff --git a/test/randtest.c b/test/randtest.c index 9f7a0371a6..e1d84c318c 100644 --- a/test/randtest.c +++ b/test/randtest.c @@ -7,33 +7,24 @@ * https://www.openssl.org/source/license.html */ -#include <stdio.h> -#include <stdlib.h> #include <openssl/rand.h> - -#include "../e_os.h" +#include "testutil.h" +#include "test_main.h" /* some FIPS 140-1 random number test */ /* some simple tests */ -int main(int argc, char **argv) +static int fips_random_tests(void) { unsigned char buf[2500]; - int i, j, k, s, sign, nsign, err = 0; + int i, j, k, s, sign, nsign, ret = 1; unsigned long n1; unsigned long n2[16]; unsigned long runs[2][34]; - /* - * double d; - */ long d; - i = RAND_bytes(buf, 2500); - if (i <= 0) { - printf("init failed, the rand method is not properly installed\n"); - err++; - goto err; - } + if (!TEST_int_ge(RAND_bytes(buf, sizeof(buf)), 0)) + return 0; n1 = 0; for (i = 0; i < 16; i++) @@ -77,69 +68,43 @@ int main(int argc, char **argv) runs[sign][nsign - 1]++; /* test 1 */ - if (!((9654 < n1) && (n1 < 10346))) { - printf("test 1 failed, X=%lu\n", n1); - err++; + if (!TEST_true(9654 < n1 && n1 < 10346)) { + TEST_info("test 1 failed, X=%lu", n1); + ret = 0; } - printf("test 1 done\n"); /* test 2 */ d = 0; for (i = 0; i < 16; i++) d += n2[i] * n2[i]; d = (d * 8) / 25 - 500000; - if (!((103 < d) && (d < 5740))) { - printf("test 2 failed, X=%ld.%02ld\n", d / 100L, d % 100L); - err++; + if (!TEST_true(103 < d && d < 5740)) { + TEST_info("test 2 failed, X=%ld.%02ld", d / 100L, d % 100L); + ret = 0; } - printf("test 2 done\n"); /* test 3 */ for (i = 0; i < 2; i++) { - if (!((2267 < runs[i][0]) && (runs[i][0] < 2733))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 1, runs[i][0]); - err++; - } - if (!((1079 < runs[i][1]) && (runs[i][1] < 1421))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 2, runs[i][1]); - err++; - } - if (!((502 < runs[i][2]) && (runs[i][2] < 748))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 3, runs[i][2]); - err++; - } - if (!((223 < runs[i][3]) && (runs[i][3] < 402))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 4, runs[i][3]); - err++; - } - if (!((90 < runs[i][4]) && (runs[i][4] < 223))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 5, runs[i][4]); - err++; - } - if (!((90 < runs[i][5]) && (runs[i][5] < 223))) { - printf("test 3 failed, bit=%d run=%d num=%lu\n", - i, 6, runs[i][5]); - err++; + if (!TEST_true(2267 < runs[i][0] && runs[i][0] < 2733) + || !TEST_true(1079 < runs[i][1] && runs[i][1] < 1421) + || !TEST_true(502 < runs[i][2] && runs[i][2] < 748) + || !TEST_true(223 < runs[i][3] && runs[i][3] < 402) + || !TEST_true(90 < runs[i][4] && runs[i][4] < 223) + || !TEST_true(90 < runs[i][5] && runs[i][5] < 223)) { + TEST_info("During run %d", i); + ret = 0; } } - printf("test 3 done\n"); /* test 4 */ - if (runs[0][33] != 0) { - printf("test 4 failed, bit=%d run=%d num=%lu\n", 0, 34, runs[0][33]); - err++; - } - if (runs[1][33] != 0) { - printf("test 4 failed, bit=%d run=%d num=%lu\n", 1, 34, runs[1][33]); - err++; - } - printf("test 4 done\n"); - err: - err = ((err) ? 1 : 0); - EXIT(err); + if (!TEST_int_eq(runs[0][33], 0) + || !TEST_int_eq(runs[1][33], 0)) + ret = 0; + + return ret; +} + +void register_tests(void) +{ + ADD_TEST(fips_random_tests); } |