[PATCH v3] timezone: Enhance tst-bz28707 diagnostics

Florian Weimer fweimer@redhat.com
Thu Apr 10 05:06:13 GMT 2025


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.

---
v3: Add comment about the errno diagnostic after tzset.
 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
    <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
@@ -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 <support/test-driver.c>

base-commit: 77e8b40a6ef4dc70c373523f7ac46e726089906f



More information about the Libc-alpha mailing list