diff options
author | Pauli <paul.dale@oracle.com> | 2017-06-12 02:01:17 +0200 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2017-06-16 22:15:31 +0200 |
commit | 3791646202bb4da21992b0aecae253d394507a9e (patch) | |
tree | cc1f33ab05144ec2442df45366fac1175fcaca16 /test/test_test.c | |
parent | Add a missing break in test/shlibloadtest.c (diff) | |
download | openssl-3791646202bb4da21992b0aecae253d394507a9e.tar.xz openssl-3791646202bb4da21992b0aecae253d394507a9e.zip |
Add output routines to allow consistent formatting of memory, strings
and bignums. These have been refactored into their own file, along with
their error displays. The formatting follows the output format used
on error, except that bignums of sixty four bits or less are displayed
in a more compact one line form.
Added a TEST_note function for producing output without file and line
information.
Update the three tests that call BN_print so they use the new test
infrastructure instead.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3655)
Diffstat (limited to 'test/test_test.c')
-rw-r--r-- | test/test_test.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/test_test.c b/test/test_test.c index a1b04561b3..051058fffe 100644 --- a/test/test_test.c +++ b/test/test_test.c @@ -477,6 +477,38 @@ static int test_single_eval(void) && TEST_mem_eq(p--, sizeof("456"), "456", sizeof("456")); } +static int test_output(void) +{ + const char s[] = "1234567890123456789012345678901234567890123456789012" + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + test_output_string("test", s, sizeof(s) - 1); + test_output_memory("test", (const unsigned char *)s, sizeof(s)); + return 1; +} + +static const char *bn_output_tests[] = { + NULL, + "0", + "-12345678", + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789013" + "987657" +}; + +static int test_bn_output(int n) +{ + BIGNUM *b = NULL; + + if (bn_output_tests[n] != NULL + && !TEST_true(BN_hex2bn(&b, bn_output_tests[n]))) + return 0; + test_output_bignum(bn_output_tests[n], b); + BN_free(b); + return 1; +} + + void register_tests(void) { ADD_TEST(test_int); @@ -496,4 +528,6 @@ void register_tests(void) ADD_TEST(test_long_output); ADD_TEST(test_messages); ADD_TEST(test_single_eval); + ADD_TEST(test_output); + ADD_ALL_TESTS(test_bn_output, OSSL_NELEM(bn_output_tests)); } |