From 402b591f1b0f721139068bf19a77497ce6e6c4ff Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 10 Apr 2025 10:08:30 +0200 Subject: [PATCH] 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 --- timezone/tst-bz28707.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) 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 (); + 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); - 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); + /* 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