From 4afc60605abcf1ac8373838c71e94a131d29253e Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Tue, 11 Apr 2017 23:12:04 -0400 Subject: [PATCH] WIP: Convert ui,v3ext,verify_extra_test verify_extra_test still failing :( Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/3194) --- test/build.info | 4 ++-- test/uitest.c | 24 +++++++---------------- test/v3ext.c | 42 ++++++++++++++++++++++++++-------------- test/verify_extra_test.c | 28 ++++++++------------------- 4 files changed, 44 insertions(+), 54 deletions(-) diff --git a/test/build.info b/test/build.info index 6d0ffa0e31..d946567080 100644 --- a/test/build.info +++ b/test/build.info @@ -171,7 +171,7 @@ IF[{- !$disabled{tests} -}] INCLUDE[crltest]=../include DEPEND[crltest]=../libcrypto - SOURCE[v3ext]=v3ext.c + SOURCE[v3ext]=v3ext.c testutil.c test_main_custom.c INCLUDE[v3ext]=../include DEPEND[v3ext]=../libcrypto @@ -183,7 +183,7 @@ IF[{- !$disabled{tests} -}] INCLUDE[constant_time_test]=.. ../include DEPEND[constant_time_test]=../libcrypto - SOURCE[verify_extra_test]=verify_extra_test.c + SOURCE[verify_extra_test]=verify_extra_test.c testutil.c test_main_custom.c INCLUDE[verify_extra_test]=../include DEPEND[verify_extra_test]=../libcrypto diff --git a/test/uitest.c b/test/uitest.c index 0a7420d4d1..0000505a91 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -59,9 +59,9 @@ static int test_old() char pass[16]; int ok = 0; - if ((ui_method = - UI_UTIL_wrap_read_pem_callback(test_pem_password_cb, 0)) == NULL - || (ui = UI_new_method(ui_method)) == NULL) + if (!TEST_ptr(ui_method = + UI_UTIL_wrap_read_pem_callback( test_pem_password_cb, 0)) + || !TEST_ptr(ui = UI_new_method(ui_method))) goto err; /* The wrapper passes the UI userdata as the callback userdata param */ @@ -73,7 +73,7 @@ static int test_old() switch (UI_process(ui)) { case -2: - BIO_printf(bio_err, "test_old: UI process interrupted or cancelled\n"); + TEST_info("test_old: UI process interrupted or cancelled"); /* fall through */ case -1: goto err; @@ -81,14 +81,10 @@ static int test_old() break; } - if (strcmp(pass, defpass) == 0) + if (TEST_str_eq(pass, defpass)) ok = 1; - else - BIO_printf(bio_err, "test_old: password failure\n"); err: - if (!ok) - ERR_print_errors_fp(stderr); UI_free(ui); UI_destroy_method(ui_method); @@ -106,15 +102,9 @@ static int test_new_ui() int ok = 0; setup_ui_method(); - if (password_callback(pass, sizeof(pass), 0, &cb_data) > 0 - && strcmp(pass, cb_data.password) == 0) + if (TEST_int_gt(password_callback(pass, sizeof(pass), 0, &cb_data), 0) + && TEST_str_eq(pass, cb_data.password)) ok = 1; - else - BIO_printf(bio_err, "test_new: password failure\n"); - - if (!ok) - ERR_print_errors_fp(stderr); - destroy_ui_method(); return ok; } diff --git a/test/v3ext.c b/test/v3ext.c index 1c1f788a73..f4cb568c73 100644 --- a/test/v3ext.c +++ b/test/v3ext.c @@ -13,30 +13,42 @@ #include #include -int main(int ac, char **av) +#include "test_main_custom.h" +#include "testutil.h" + +static const char *infile; + +static int test_pathlen(void) { X509 *x = NULL; BIO *b = NULL; long pathlen; - int ret = 1; + int ret = 0; - if (ac != 2) { - fprintf(stderr, "Usage error\n"); - goto end; - } - b = BIO_new_file(av[1], "r"); - if (b == NULL) + if (!TEST_ptr(b = BIO_new_file(infile, "r")) + || !TEST_ptr(x = PEM_read_bio_X509(b, NULL, NULL, NULL)) + || !TEST_int_eq(pathlen = X509_get_pathlen(x), 6)) goto end; - x = PEM_read_bio_X509(b, NULL, NULL, NULL); - if (x == NULL) - goto end; - pathlen = X509_get_pathlen(x); - if (pathlen == 6) - ret = 0; + + ret = 1; end: - ERR_print_errors_fp(stderr); BIO_free(b); X509_free(x); return ret; } + +int test_main(int argc, char *argv[]) +{ + int ret; + + if (argc != 2) { + TEST_error("Usage error"); + return 0; + } + infile = argv[1]; + + ADD_TEST(test_pathlen); + ret = run_tests(argv[0]); + return ret; +} diff --git a/test/verify_extra_test.c b/test/verify_extra_test.c index bfbe5c02f1..d528fa599f 100644 --- a/test/verify_extra_test.c +++ b/test/verify_extra_test.c @@ -13,6 +13,8 @@ #include #include #include +#include "testutil.h" +#include "test_main_custom.h" static STACK_OF(X509) *load_certs_from_file(const char *filename) { @@ -132,31 +134,17 @@ static int test_alt_chains_cert_forgery(const char *roots_f, BIO_free(bio); sk_X509_pop_free(untrusted, X509_free); X509_STORE_free(store); - if (ret != 1) - ERR_print_errors_fp(stderr); return ret; } -int main(int argc, char **argv) +int test_main(int argc, char **argv) { - CRYPTO_set_mem_debug(1); - CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); - if (argc != 4) { - fprintf(stderr, "usage: verify_extra_test roots.pem untrusted.pem bad.pem\n"); - return 1; - } - - if (!test_alt_chains_cert_forgery(argv[1], argv[2], argv[3])) { - fprintf(stderr, "Test alt chains cert forgery failed\n"); - return 1; + TEST_error("usage: verify_extra_test roots.pem untrusted.pem bad.pem\n"); + return EXIT_FAILURE; } -#ifndef OPENSSL_NO_CRYPTO_MDEBUG - if (CRYPTO_mem_leaks_fp(stderr) <= 0) - return 1; -#endif - - printf("PASS\n"); - return 0; + if (!TEST_true(test_alt_chains_cert_forgery(argv[1], argv[2], argv[3]))) + return EXIT_FAILURE; + return EXIT_SUCCESS; } -- 2.25.1