Date: Tue, 28 Jul 2026 10:06:33 +0000 From: Alexander Leidinger <netchild@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 81011ca4c0a8 - stable/15 - exterror tests: harden the checks Message-ID: <6a687f29.1f7b8.5d13a035@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by netchild: URL: https://cgit.FreeBSD.org/src/commit/?id=81011ca4c0a8ba7e7911b128c187de38efa3c59d commit 81011ca4c0a8ba7e7911b128c187de38efa3c59d Author: Alexander Leidinger <netchild@FreeBSD.org> AuthorDate: 2026-07-21 20:39:57 +0000 Commit: Alexander Leidinger <netchild@FreeBSD.org> CommitDate: 2026-07-28 10:04:52 +0000 exterror tests: harden the checks Skip the message-content check on kernels that do not advertise the exterr_strings feature, and pin the output format by clearing EXTERROR_VERBOSE. Reviewed by: kib MFC after: 1 week Assisted-by: Claude Code (Fable 5) Differential Revision: https://reviews.freebsd.org/D58322 (cherry picked from commit 1092aba1260ce5efb0d718352aa22158605c7506) --- tests/sys/kern/exterr_test.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tests/sys/kern/exterr_test.c b/tests/sys/kern/exterr_test.c index b4746a485f58..316b5b66b0e0 100644 --- a/tests/sys/kern/exterr_test.c +++ b/tests/sys/kern/exterr_test.c @@ -30,6 +30,20 @@ #include <errno.h> #include <exterr.h> #include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +/* + * Pin the message format by clearing EXTERROR_VERBOSE, which would + * otherwise change the output shape. + */ +static void +pin_exterror_format(void) +{ + + unsetenv("EXTERROR_VERBOSE"); +} ATF_TC(gettext_extended); ATF_TC_HEAD(gettext_extended, tc) @@ -41,6 +55,8 @@ ATF_TC_BODY(gettext_extended, tc) char exterr[UEXTERROR_MAXLEN]; int r; + pin_exterror_format(); + /* * Use an invalid call to mmap() because it supports extended error * messages, requires no special resources, and does not need root. @@ -50,8 +66,10 @@ ATF_TC_BODY(gettext_extended, tc) r = uexterr_gettext(exterr, sizeof(exterr)); ATF_CHECK_EQ(0, r); printf("Extended error: %s\n", exterr); + if (feature_present("exterr_strings") == 0) + atf_tc_skip("kernel built without EXTERR_STRINGS"); /* Note: error string may need to be updated due to kernel changes */ - ATF_CHECK(strstr(exterr, " is not subset of ") != 0); + ATF_CHECK(strstr(exterr, " is not subset of ") != NULL); } ATF_TC(gettext_noextended); @@ -65,6 +83,8 @@ ATF_TC_BODY(gettext_noextended, tc) char exterr[UEXTERROR_MAXLEN]; int r; + pin_exterror_format(); + ATF_CHECK_ERRNO(EINVAL, exterrctl(EXTERRCTL_UD, 0, NULL)); r = uexterr_gettext(exterr, sizeof(exterr)); ATF_CHECK_EQ(0, r); @@ -82,6 +102,8 @@ ATF_TC_BODY(gettext_noextended_after_extended, tc) char exterr[UEXTERROR_MAXLEN]; int r; + pin_exterror_format(); + /* * First do something that will create an extended error message, but * ignore it.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a687f29.1f7b8.5d13a035>
