X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=test%2Ftestutil%2Fdriver.c;h=9cdce7a4e035e6a0944978686dc85938da012b56;hp=cf4296a23f5759d4905ca4fc363f1938418abd6d;hb=3cb413da197c26c4520cbf08e5d4542637a90a4e;hpb=ad887416f1e59c3294a7d8f83a0ca77120523b4a diff --git a/test/testutil/driver.c b/test/testutil/driver.c index cf4296a23f..9cdce7a4e0 100644 --- a/test/testutil/driver.c +++ b/test/testutil/driver.c @@ -14,9 +14,13 @@ #include #include -#include "../../e_os.h" +#include "internal/nelem.h" #include +#ifdef _WIN32 +# define strdup _strdup +#endif + /* * Declares the structures needed to register each test case function. */ @@ -40,7 +44,7 @@ static int seed = 0; */ static int num_test_cases = 0; -void add_test(const char *test_case_name, int (*test_fn) ()) +void add_test(const char *test_case_name, int (*test_fn) (void)) { assert(num_tests != OSSL_NELEM(all_tests)); all_tests[num_tests].test_case_name = test_case_name; @@ -105,7 +109,7 @@ void setup_test_framework() if (test_seed != NULL) { seed = atoi(test_seed); if (seed <= 0) - seed = time(NULL); + seed = (int)time(NULL); test_printf_stdout("%*s# RAND SEED %d\n", subtest_level(), "", seed); test_flush_stdout(); srand(seed); @@ -121,6 +125,7 @@ void setup_test_framework() int pulldown_test_framework(int ret) { + set_test_title(NULL); #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (should_report_leaks() && CRYPTO_mem_leaks_cb(openssl_error_cb, NULL) <= 0) @@ -267,3 +272,28 @@ int run_tests(const char *test_prog_name) return EXIT_SUCCESS; } +/* + * Glue an array of strings together and return it as an allocated string. + * Optionally return the whole length of this string in |out_len| + */ +char *glue_strings(const char *list[], size_t *out_len) +{ + size_t len = 0; + char *p, *ret; + int i; + + for (i = 0; list[i] != NULL; i++) + len += strlen(list[i]); + + if (out_len != NULL) + *out_len = len; + + if (!TEST_ptr(ret = p = OPENSSL_malloc(len + 1))) + return NULL; + + for (i = 0; list[i] != NULL; i++) + p += strlen(strcpy(p, list[i])); + + return ret; +} +