stdio-common: Fix %m sprintf test output for GNU/Hurd
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 27 Dec 2021 20:22:14 +0000 (21:22 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 27 Dec 2021 20:23:05 +0000 (21:23 +0100)
GNU/Hurd has slightly different error messages for undefined numbers,
due to the notion of error subsystems.

stdio-common/tst-sprintf-errno.c

index 7622fdbc48cda4ad09e5b623983045a273992df5..f5b587f0fe282572ab56245bda4e5a2947d3d3d8 100644 (file)
@@ -48,16 +48,26 @@ do_test (void)
   TEST_COMPARE_STRING (buf, "0");
 
   errno = -1;
+#ifdef __GNU__
+  TEST_COMPARE (sprintf (buf, "%m"), 35);
+  TEST_COMPARE_STRING (buf, "Error in unknown error system: : -1");
+#else
   TEST_COMPARE (sprintf (buf, "%m"), 16);
   TEST_COMPARE_STRING (buf, "Unknown error -1");
+#endif
 
   errno = -1;
   TEST_COMPARE (sprintf (buf, "%#m"), 2);
   TEST_COMPARE_STRING (buf, "-1");
 
   errno = 1002003;
+#ifdef __GNU__
+  TEST_COMPARE (sprintf (buf, "%m"), 42);
+  TEST_COMPARE_STRING (buf, "(system kern) error with unknown subsystem");
+#else
   TEST_COMPARE (sprintf (buf, "%m"), 21);
   TEST_COMPARE_STRING (buf, "Unknown error 1002003");
+#endif
 
   errno = 1002003;
   TEST_COMPARE (sprintf (buf, "%#m"), 7);