From: Florian Weimer Date: Thu, 10 Apr 2025 08:08:30 +0000 (+0200) Subject: timezone: Enhance tst-bz28707 diagnostics X-Git-Tag: glibc-2.42~318 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=402b591f1b0f721139068bf19a77497ce6e6c4ff;p=thirdparty%2Fglibc.git timezone: Enhance tst-bz28707 diagnostics This hopefully provides additional information about why the test failed, in case the fix in commit 62db87ab24f9ca483f97f ("timezone: Fix tst-bz28707 Makefile rule") turns out to be insufficient. Reviewed-by: Paul Eggert --- diff --git a/timezone/tst-bz28707.c b/timezone/tst-bz28707.c index a5723f4b8a..a03cd1f7ca 100644 --- a/timezone/tst-bz28707.c +++ b/timezone/tst-bz28707.c @@ -15,10 +15,11 @@ License along with the GNU C Library; if not, see . */ -#include +#include #include #include -#include +#include +#include /* Test that we can use a truncated timezone-file, where the time-type at index 0 is not indexed by the transition-types array (and the @@ -28,19 +29,24 @@ static int do_test (void) { - if (setenv ("TZ", "XT5", 1)) - { - puts ("setenv failed."); - return 1; - } + if (setenv ("TZ", "XT5", 1) != 0) + FAIL_EXIT1 ("setenv: %m"); + errno = 0; tzset (); - - return - /* Sanity-check that we got the right abbreviation for DST. For - normal time, we're likely to get "-00" (the "unspecified" marker), - even though the POSIX timezone string says "-04". Let's not test - that. */ - !(strcmp (tzname[1], "-03") == 0); + if (errno != 0) + /* This is not a test failure because checking errno this way is + not a documented way for determining tzset success. We do this + only to gather additional diagnostics. */ + printf ("warning: tzset set errno to %d (%m)", errno); + + /* Sanity-check that we got the right abbreviation for DST. For + normal time, we're likely to get "-00" (the "unspecified" marker), + even though the POSIX timezone string says "-04". Let's not test + that. */ + TEST_COMPARE_STRING (tzname[1], "-03"); + + return 0; } + #include