]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
timezone: Enhance tst-bz28707 diagnostics
authorFlorian Weimer <fweimer@redhat.com>
Thu, 10 Apr 2025 08:08:30 +0000 (10:08 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 10 Apr 2025 08:08:30 +0000 (10:08 +0200)
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 <eggert@cs.ucla.edu>
timezone/tst-bz28707.c

index a5723f4b8a2ee6f9669638c3a4be98d341501564..a03cd1f7ca073aa8cd02c8dc306ea0223e9ce0d1 100644 (file)
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <time.h>
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
+#include <support/check.h>
+#include <time.h>
 
 /* 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
 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 <support/test-driver.c>