X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=test%2Fexptest.c;h=cde4d6bc4548d96f714dc4dbfdaed0b5092f87f5;hp=ee1bff168cac9215aabc19dcae38053b1af8ecce;hb=18289399743da6c3db462f37fc8797738e8acf7c;hpb=dc352c193755525292310c8992e3c9b81a556a31 diff --git a/test/exptest.c b/test/exptest.c index ee1bff168c..cde4d6bc45 100644 --- a/test/exptest.c +++ b/test/exptest.c @@ -11,7 +11,7 @@ #include #include -#include "../e_os.h" +#include "internal/nelem.h" #include #include @@ -22,14 +22,7 @@ #define NUM_BITS (BN_BITS2 * 4) -#define BN_print_var(v) bn_print_var(#v, v) - -static void bn_print_var(const char *var, const BIGNUM *bn) -{ - fprintf(stderr, "%s (%3d) = ", var, BN_num_bits(bn)); - BN_print_fp(stderr, bn); - fprintf(stderr, "\n"); -} +#define BN_print_var(v) test_output_bignum(#v, v) /* * Test that r == 0 in test_exp_mod_zero(). Returns one on success, @@ -39,8 +32,7 @@ static int a_is_zero_mod_one(const char *method, const BIGNUM *r, const BIGNUM *a) { if (!BN_is_zero(r)) { - fprintf(stderr, "%s failed:\n", method); - fprintf(stderr, "a ** 0 mod 1 = r (should be 0)\n"); + TEST_error("%s failed: a ** 0 mod 1 = r (should be 0)", method); BN_print_var(a); BN_print_var(r); return 0; @@ -51,7 +43,7 @@ static int a_is_zero_mod_one(const char *method, const BIGNUM *r, /* * test_mod_exp_zero tests that x**0 mod 1 == 0. It returns zero on success. */ -static int test_mod_exp_zero() +static int test_mod_exp_zero(void) { BIGNUM *a = NULL, *p = NULL, *m = NULL; BIGNUM *r = NULL; @@ -110,8 +102,8 @@ static int test_mod_exp_zero() goto err; if (!TEST_BN_eq_zero(r)) { - fprintf(stderr, "BN_mod_exp_mont_word failed:\n"); - fprintf(stderr, "1 ** 0 mod 1 = r (should be 0)\n"); + TEST_error("BN_mod_exp_mont_word failed: " + "1 ** 0 mod 1 = r (should be 0)"); BN_print_var(r); goto err; } @@ -164,10 +156,9 @@ static int test_mod_exp(int round) c = (c % BN_BITS) - BN_BITS2; BN_rand(m, NUM_BITS + c, BN_RAND_TOP_ONE, BN_RAND_BOTTOM_ODD); - BN_mod(a, a, m, ctx); - BN_mod(b, b, m, ctx); - - if (!TEST_true(BN_mod_exp_mont(r_mont, a, b, m, ctx, NULL)) + if (!TEST_true(BN_mod(a, a, m, ctx)) + || !TEST_true(BN_mod(b, b, m, ctx)) + || !TEST_true(BN_mod_exp_mont(r_mont, a, b, m, ctx, NULL)) || !TEST_true(BN_mod_exp_recp(r_recp, a, b, m, ctx)) || !TEST_true(BN_mod_exp_simple(r_simple, a, b, m, ctx)) || !TEST_true(BN_mod_exp_mont_consttime(r_mont_const, a, b, m, ctx, NULL))) @@ -207,8 +198,9 @@ static int test_mod_exp(int round) return ret; } -void register_tests(void) +int setup_tests(void) { ADD_TEST(test_mod_exp_zero); ADD_ALL_TESTS(test_mod_exp, 200); + return 1; }