summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--string/Makefile9
-rw-r--r--string/tst-strerror.c3
-rw-r--r--string/tst-strsignal.c3
3 files changed, 14 insertions, 1 deletions
diff --git a/string/Makefile b/string/Makefile
index 206c9b103c..c5b8909f37 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -65,7 +65,14 @@ tests		:= tester inl-tester noinl-tester testcopy test-ffs	\
 		   test-endian-sign-conversion tst-memmove-overflow	\
 		   test-sig_np
 
-tests-container += tst-strsignal tst-strerror
+# Both tests require the .mo translation files generated by msgfmt.
+tests-translation := tst-strsignal					\
+		     tst-strerror
+
+tests-container   += $(tests-translation)
+ifeq ($(MSGFMT),:)
+tests-unsupported += $(tests-translation)
+endif
 
 # This test allocates a lot of memory and can run for a long time.
 xtests = tst-strcoll-overflow
diff --git a/string/tst-strerror.c b/string/tst-strerror.c
index 3af51236d7..1fc202e4ea 100644
--- a/string/tst-strerror.c
+++ b/string/tst-strerror.c
@@ -19,6 +19,7 @@
 
 #include <string.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <errno.h>
 #include <locale.h>
 #include <array_length.h>
@@ -29,6 +30,8 @@
 static int
 do_test (void)
 {
+  unsetenv ("LANGUAGE");
+
   xsetlocale (LC_ALL, "C");
 
   TEST_COMPARE_STRING (strerror (EINVAL), "Invalid argument");
diff --git a/string/tst-strsignal.c b/string/tst-strsignal.c
index 3f6764989f..2c549f4620 100644
--- a/string/tst-strsignal.c
+++ b/string/tst-strsignal.c
@@ -20,6 +20,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <signal.h>
+#include <stdlib.h>
 #include <locale.h>
 #include <array_length.h>
 
@@ -29,6 +30,8 @@
 static int
 do_test (void)
 {
+  unsetenv ("LANGUAGE");
+
   xsetlocale (LC_ALL, "C");
 
   TEST_COMPARE_STRING (strsignal (SIGINT),     "Interrupt");