]> sourceware.org Git - glibc.git/commitdiff
Support run bug-setlocale1 directly
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 10 Jan 2013 22:15:49 +0000 (14:15 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 10 Jan 2013 22:15:49 +0000 (14:15 -0800)
ChangeLog
localedata/Makefile
localedata/bug-setlocale1-static.c [new file with mode: 0644]
localedata/bug-setlocale1.c

index 147c82bbca48e54a41e38e08eef38778e3526d76..7935185aaa90cacd14343a79d6773a1f0ce48441 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * Makefile (tests-static): New variable.
+       (tests): Add $(tests-static).
+       (bug-setlocale1-ARGS): Set to -- $(built-program-cmd).
+       (bug-setlocale1-static-ENV): New variable.
+       (bug-setlocale1-static-ARGS): Likewise.
+       * bug-setlocale1.c (do_test): Support run directly.  Check env[1]
+       instead of newargv[0].
+       * bug-setlocale1-static.c: New file.
+
        * posix/Makefile (tests-static): New variable.
        (tests): Add $(tests-static).
        (tst-exec-static-ARGS): New variable.
index d9f66c5d3e23fd8e9126391423025b11a001ef67..923916438a9bd8aa29636e7f64cb08eacebcbc36 100644 (file)
@@ -78,6 +78,8 @@ locale_test_suite := tst_iswalnum tst_iswalpha tst_iswcntrl            \
 tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \
        tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \
        tst-strfmon1 tst-sscanf bug-setlocale1 tst-setlocale2
+tests-static = bug-setlocale1-static
+tests += $(tests-static)
 ifeq (yes,$(build-shared))
 ifneq (no,$(PERL))
 tests: $(objpfx)mtrace-tst-leaks
@@ -285,7 +287,9 @@ $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
        $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
 
 bug-setlocale1-ENV = LOCPATH=$(common-objpfx)localedata
-bug-setlocale1-ARGS = $(common-objpfx)
+bug-setlocale1-ARGS = -- $(built-program-cmd)
+bug-setlocale1-static-ENV = $(bug-setlocale1-ENV)
+bug-setlocale1-static-ARGS = $(bug-setlocale1-ARGS)
 tst-setlocale2-ENV = LOCPATH=$(common-objpfx)localedata
 
 $(objdir)/iconvdata/gconv-modules:
diff --git a/localedata/bug-setlocale1-static.c b/localedata/bug-setlocale1-static.c
new file mode 100644 (file)
index 0000000..f37177b
--- /dev/null
@@ -0,0 +1 @@
+#include "bug-setlocale1.c"
index cf787be02c0507f3a3e9d2dbeec1d3f36d3a5e78..dc7f6f3f081ed8e20de05a168e9df72125724a22 100644 (file)
@@ -12,16 +12,16 @@ do_test (int argc, char *argv[])
   if (argc > 1)
     {
       char *newargv[5];
-      asprintf (&newargv[0], "%self/ld.so", argv[1]);
-      if (newargv[0] == NULL)
+      int i;
+      if (argc != 2 && argc != 5)
        {
-         puts ("asprintf failed");
+         printf ("wrong number of arguments (%d)\n", argc);
          return 1;
        }
-      newargv[1] = (char *) "--library-path";
-      newargv[2] = argv[1];
-      newargv[3] = argv[0];
-      newargv[4] = NULL;
+
+      for (i = 0; i < (argc == 5 ? 4 : 1); i++)
+       newargv[i] = argv[i + 1];
+      newargv[i] = NULL;
 
       char *env[3];
       env[0] = (char *) "LC_CTYPE=de_DE.UTF-8";
@@ -32,9 +32,9 @@ do_test (int argc, char *argv[])
          return 1;
        }
       asprintf (&env[1], "LOCPATH=%s", loc);
-      if (newargv[0] == NULL)
+      if (env[1] == NULL)
        {
-         puts ("second asprintf failed");
+         puts ("asprintf failed");
          return 1;
        }
       env[2] = NULL;
This page took 0.11434 seconds and 5 git commands to generate.