Latest update
This commit is contained in:
@@ -99,7 +99,7 @@ static int gcd(int a, int b)
|
||||
return a;
|
||||
}
|
||||
|
||||
void setup_test_framework()
|
||||
void setup_test_framework(void)
|
||||
{
|
||||
char *TAP_levels = getenv("HARNESS_OSSL_LEVEL");
|
||||
char *test_seed = getenv("OPENSSL_TEST_RAND_ORDER");
|
||||
|
||||
@@ -31,9 +31,9 @@ static void test_diff_header(const char *left, const char *right)
|
||||
static void test_string_null_empty(const char *m, char c)
|
||||
{
|
||||
if (m == NULL)
|
||||
test_printf_stderr("% 4s %c NULL\n", "", c);
|
||||
test_printf_stderr("%4s %c NULL\n", "", c);
|
||||
else
|
||||
test_printf_stderr("% 4u:%c ''\n", 0u, c);
|
||||
test_printf_stderr("%4u:%c ''\n", 0u, c);
|
||||
}
|
||||
|
||||
static void test_fail_string_common(const char *prefix, const char *file,
|
||||
@@ -94,18 +94,18 @@ static void test_fail_string_common(const char *prefix, const char *file,
|
||||
bdiff[i] = '\0';
|
||||
}
|
||||
if (n1 == n2 && !diff) {
|
||||
test_printf_stderr("% 4u: '%s'\n", cnt, n2 > n1 ? b2 : b1);
|
||||
test_printf_stderr("%4u: '%s'\n", cnt, n2 > n1 ? b2 : b1);
|
||||
} else {
|
||||
if (cnt == 0 && (m1 == NULL || *m1 == '\0'))
|
||||
test_string_null_empty(m1, '-');
|
||||
else if (n1 > 0)
|
||||
test_printf_stderr("% 4u:- '%s'\n", cnt, b1);
|
||||
test_printf_stderr("%4u:- '%s'\n", cnt, b1);
|
||||
if (cnt == 0 && (m2 == NULL || *m2 == '\0'))
|
||||
test_string_null_empty(m2, '+');
|
||||
else if (n2 > 0)
|
||||
test_printf_stderr("% 4u:+ '%s'\n", cnt, b2);
|
||||
test_printf_stderr("%4u:+ '%s'\n", cnt, b2);
|
||||
if (diff && i > 0)
|
||||
test_printf_stderr("% 4s %s\n", "", bdiff);
|
||||
test_printf_stderr("%4s %s\n", "", bdiff);
|
||||
}
|
||||
m1 += n1;
|
||||
m2 += n2;
|
||||
@@ -206,6 +206,7 @@ static int convert_bn_memory(const unsigned char *in, size_t bytes,
|
||||
{
|
||||
int n = bytes * 2, i;
|
||||
char *p = out, *q = NULL;
|
||||
const char *r;
|
||||
|
||||
if (bn != NULL && !BN_is_zero(bn)) {
|
||||
hex_convert_memory(in, bytes, out, BN_OUTPUT_SIZE);
|
||||
@@ -248,10 +249,10 @@ static int convert_bn_memory(const unsigned char *in, size_t bytes,
|
||||
}
|
||||
*p = '\0';
|
||||
if (bn == NULL)
|
||||
q = "NULL";
|
||||
r = "NULL";
|
||||
else
|
||||
q = BN_is_negative(bn) ? "-0" : "0";
|
||||
strcpy(p - strlen(q), q);
|
||||
r = BN_is_negative(bn) ? "-0" : "0";
|
||||
strcpy(p - strlen(r), r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -409,7 +410,7 @@ void test_output_bignum(const char *name, const BIGNUM *bn)
|
||||
static void test_memory_null_empty(const unsigned char *m, char c)
|
||||
{
|
||||
if (m == NULL)
|
||||
test_printf_stderr("% 4s %c%s\n", "", c, "NULL");
|
||||
test_printf_stderr("%4s %c%s\n", "", c, "NULL");
|
||||
else
|
||||
test_printf_stderr("%04x %c%s\n", 0u, c, "empty");
|
||||
}
|
||||
@@ -493,7 +494,7 @@ static void test_fail_memory_common(const char *prefix, const char *file,
|
||||
else if (n2 > 0)
|
||||
test_printf_stderr("%04x:+%s\n", cnt, b2);
|
||||
if (diff && i > 0)
|
||||
test_printf_stderr("% 4s %s\n", "", bdiff);
|
||||
test_printf_stderr("%4s %s\n", "", bdiff);
|
||||
}
|
||||
m1 += n1;
|
||||
m2 += n2;
|
||||
|
||||
@@ -25,7 +25,7 @@ static void check_arg_usage(void)
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
if (!arg_used[i+1])
|
||||
test_printf_stderr("Warning ignored command-line argument %d: %s\n",
|
||||
test_printf_stderr("Warning ignored command-line argument %zu: %s\n",
|
||||
i, args[i+1]);
|
||||
if (i < arg_count)
|
||||
test_printf_stderr("Warning arguments %zu and later unchecked\n", i);
|
||||
|
||||
+29
-5
@@ -10,8 +10,25 @@
|
||||
#ifndef HEADER_TU_OUTPUT_H
|
||||
# define HEADER_TU_OUTPUT_H
|
||||
|
||||
#include <stdarg.h>
|
||||
# include <stdarg.h>
|
||||
|
||||
# define ossl_test__attr__(x)
|
||||
# if defined(__GNUC__) && defined(__STDC_VERSION__) \
|
||||
&& !defined(__APPLE__)
|
||||
/*
|
||||
* Because we support the 'z' modifier, which made its appearance in C99,
|
||||
* we can't use __attribute__ with pre C99 dialects.
|
||||
*/
|
||||
# if __STDC_VERSION__ >= 199901L
|
||||
# undef ossl_test__attr__
|
||||
# define ossl_test__attr__ __attribute__
|
||||
# if __GNUC__*10 + __GNUC_MINOR__ >= 44
|
||||
# define ossl_test__printf__ __gnu_printf__
|
||||
# else
|
||||
# define ossl_test__printf__ __printf__
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
/*
|
||||
* The basic I/O functions used internally by the test framework. These
|
||||
* can be overridden when needed. Note that if one is, then all must be.
|
||||
@@ -19,14 +36,21 @@
|
||||
void test_open_streams(void);
|
||||
void test_close_streams(void);
|
||||
/* The following ALL return the number of characters written */
|
||||
int test_vprintf_stdout(const char *fmt, va_list ap);
|
||||
int test_vprintf_stderr(const char *fmt, va_list ap);
|
||||
int test_vprintf_stdout(const char *fmt, va_list ap)
|
||||
ossl_test__attr__((__format__(ossl_test__printf__, 1, 0)));
|
||||
int test_vprintf_stderr(const char *fmt, va_list ap)
|
||||
ossl_test__attr__((__format__(ossl_test__printf__, 1, 0)));
|
||||
/* These return failure or success */
|
||||
int test_flush_stdout(void);
|
||||
int test_flush_stderr(void);
|
||||
|
||||
/* Commodity functions. There's no need to override these */
|
||||
int test_printf_stdout(const char *fmt, ...);
|
||||
int test_printf_stderr(const char *fmt, ...);
|
||||
int test_printf_stdout(const char *fmt, ...)
|
||||
ossl_test__attr__((__format__(ossl_test__printf__, 1, 2)));
|
||||
int test_printf_stderr(const char *fmt, ...)
|
||||
ossl_test__attr__((__format__(ossl_test__printf__, 1, 2)));
|
||||
|
||||
# undef ossl_test__printf__
|
||||
# undef ossl_test__attr__
|
||||
|
||||
#endif /* HEADER_TU_OUTPUT_H */
|
||||
@@ -86,7 +86,8 @@ static char *strip_spaces(char *p)
|
||||
int test_readstanza(STANZA *s)
|
||||
{
|
||||
PAIR *pp = s->pairs;
|
||||
char *p, *equals, *key, *value;
|
||||
char *p, *equals, *key;
|
||||
const char *value;
|
||||
|
||||
for (s->numpairs = 0; BIO_gets(s->fp, s->buff, sizeof(s->buff)); ) {
|
||||
s->curr++;
|
||||
|
||||
@@ -93,13 +93,14 @@ static int write_string(BIO *b, const char *buf, size_t n)
|
||||
*/
|
||||
static int tap_write_ex(BIO *b, const char *buf, size_t size, size_t *in_size)
|
||||
{
|
||||
static char empty[] = "";
|
||||
BIO *next = BIO_next(b);
|
||||
size_t i;
|
||||
int j;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if (BIO_get_data(b) == NULL) {
|
||||
BIO_set_data(b, "");
|
||||
BIO_set_data(b, empty);
|
||||
for (j = 0; j < subtest_level(); j++)
|
||||
if (!write_string(next, " ", 1))
|
||||
goto err;
|
||||
|
||||
@@ -420,7 +420,7 @@ int test_BN_abs_eq_word(const char *file, int line, const char *bns,
|
||||
|
||||
static const char *print_time(const ASN1_TIME *t)
|
||||
{
|
||||
return t == NULL ? "<null>" : (char *)ASN1_STRING_get0_data(t);
|
||||
return t == NULL ? "<null>" : (const char *)ASN1_STRING_get0_data(t);
|
||||
}
|
||||
|
||||
#define DEFINE_TIME_T_COMPARISON(opname, op) \
|
||||
|
||||
Reference in New Issue
Block a user