X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=test%2Fuitest.c;h=03db008c71c195a070dbf28926ff98dbe9499a5b;hp=0a7420d4d1ae0d8806af59c2ab128f858973c58b;hb=7b7fdf8a791720f8d19276a9012b1248956e00e0;hpb=6a15d5b637638c37046d90c02e717543fa63f6da diff --git a/test/uitest.c b/test/uitest.c index 0a7420d4d1..03db008c71 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2017 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -11,47 +11,26 @@ #include #include #include - -/* - * We know that on VMS, the [.apps] object files are compiled with uppercased - * symbols. We must therefore follow suit, or there will be linking errors. - * Additionally, the VMS build does stdio via a socketpair. - */ -#ifdef __VMS -# pragma names save -# pragma names uppercase, truncated - -# include "../apps/vms_term_sock.h" -#endif - -#include "../apps/apps.h" - -#ifdef __VMS -# pragma names restore -#endif - +#include "apps.h" #include "testutil.h" -#include "test_main_custom.h" /* apps/apps.c depend on these */ char *default_config_file = NULL; -BIO *bio_err = NULL; -#ifndef OPENSSL_NO_UI -# include +#include /* Old style PEM password callback */ static int test_pem_password_cb(char *buf, int size, int rwflag, void *userdata) { OPENSSL_strlcpy(buf, (char *)userdata, (size_t)size); - return 1; + return strlen(buf); } /* * Test wrapping old style PEM password callback in a UI method through the * use of UI utility functions */ -static int test_old() +static int test_old(void) { UI_METHOD *ui_method = NULL; UI *ui = NULL; @@ -59,9 +38,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 +52,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 +60,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); @@ -96,7 +71,7 @@ static int test_old() } /* Test of UI. This uses the UI method defined in apps/apps.c */ -static int test_new_ui() +static int test_new_ui(void) { PW_CB_DATA cb_data = { "password", @@ -106,36 +81,16 @@ 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; } -#endif - -int test_main(int argc, char *argv[]) +int setup_tests(void) { - int ret; - - bio_err = dup_bio_err(FORMAT_TEXT); - -#ifndef OPENSSL_NO_UI ADD_TEST(test_old); ADD_TEST(test_new_ui); -#endif - - ret = run_tests(argv[0]); - - (void)BIO_flush(bio_err); - BIO_free(bio_err); - - return ret; + return 1; }