From dfaf47c51a7fa1f113185ca620cb5c7e29183a37 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Fri, 11 Oct 2024 07:54:22 +0000 Subject: Add error regress coverage for ERR_LIB_SYS. These are dynamically populated based on strerror() values. --- src/regress/lib/libcrypto/err/err_test.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/regress/lib/libcrypto/err/err_test.c b/src/regress/lib/libcrypto/err/err_test.c index 16fd675e11..d31c61fa1c 100644 --- a/src/regress/lib/libcrypto/err/err_test.c +++ b/src/regress/lib/libcrypto/err/err_test.c @@ -1,4 +1,4 @@ -/* $OpenBSD: err_test.c,v 1.1 2024/10/02 14:41:46 jsing Exp $ */ +/* $OpenBSD: err_test.c,v 1.2 2024/10/11 07:54:22 jsing Exp $ */ /* * Copyright (c) 2024 Joel Sing * @@ -130,6 +130,24 @@ err_test(void) ERR_clear_error(); + /* + * Check SYSerror() reasons, which are dynamically populated from + * strerror(). + */ + ERR_put_error(ERR_LIB_SYS, 0xfff, 1, "err.c", 300); + + if ((err = ERR_get_error()) != 0x2fff001UL) { + fprintf(stderr, "FAIL: ERR_get_error() = %lx, want " + "0x2fff001UL\n", err); + goto failure; + } + s = ERR_reason_error_string(err); + if (strcmp(s, strerror(ERR_GET_REASON(err))) != 0) { + fprintf(stderr, "FAIL: ERR_reason_error_string() = '%s', " + "want '%s'\n", s, strerror(ERR_GET_REASON(err))); + goto failure; + } + s = ERR_lib_error_string(0x3fff067UL); if (strcmp(s, "bignum routines") != 0) { fprintf(stderr, "FAIL: ERR_lib_error_string() = '%s', " -- cgit v1.2.3-55-g6feb