diff options
author | Richard Levitte <levitte@openssl.org> | 2019-09-03 15:10:43 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-09-03 15:10:43 +0200 |
commit | 8648a50a2704307fa4633b3d11724dfdae11f125 (patch) | |
tree | 26acd98413359f529fc5d35ddcd0ac66116c11af /test | |
parent | 3ca9d210c94b9b88b89b224797aa403dfe97ccce (diff) |
test/errtest.c: more conditions for checking __FILE__ and __LINE__
When at least one of OPENSSL_NO_ERR or OPENSSL_NO_FILENAMES is
defined, __FILE__ and __LINE__ are not saved with the error record.
This test only checked OPENSSL_NO_FILENAMES. Now fixed.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9755)
Diffstat (limited to 'test')
-rw-r--r-- | test/errtest.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/test/errtest.c b/test/errtest.c index 37e9686663..ffe6532240 100644 --- a/test/errtest.c +++ b/test/errtest.c @@ -44,13 +44,17 @@ static int vdata_appends(void) return TEST_str_eq(data, "hello world"); } -/* Test that setting a platform error sets the right values. */ -static int platform_error(void) +static int raised_error(void) { const char *f, *data; int l; unsigned long e; -#ifndef OPENSSL_NO_FILENAMES + + /* + * When OPENSSL_NO_ERR or OPENSSL_NO_FILENAMES, no file name or line + * number is saved, so no point checking them. + */ +#if !defined(OPENSSL_NO_FILENAMES) && !defined(OPENSSL_NO_ERR) const char *file; int line; @@ -61,7 +65,7 @@ static int platform_error(void) "calling exit()"); if (!TEST_ulong_ne(e = ERR_get_error_line_data(&f, &l, &data, NULL), 0) || !TEST_int_eq(ERR_GET_REASON(e), ERR_R_INTERNAL_ERROR) -#ifndef OPENSSL_NO_FILENAMES +#if !defined(OPENSSL_NO_FILENAMES) && !defined(OPENSSL_NO_ERR) || !TEST_int_eq(l, line) || !TEST_str_eq(f, file) #endif @@ -74,6 +78,6 @@ int setup_tests(void) { ADD_TEST(preserves_system_error); ADD_TEST(vdata_appends); - ADD_TEST(platform_error); + ADD_TEST(raised_error); return 1; } |