about summary refs log tree commit diff
path: root/string/test-string.h
diff options
context:
space:
mode:
authorWainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com>2017-03-23 11:32:17 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2017-03-23 11:32:29 -0300
commitfb82116f24454e450f771a41f18cbdacfae1229d (patch)
treeda5c958ba91e1b662298de2971f608a05bf6324b /string/test-string.h
parentb9e8c9087579e2021cf497713e047e040c84da28 (diff)
downloadglibc-fb82116f24454e450f771a41f18cbdacfae1229d.tar.gz
glibc-fb82116f24454e450f771a41f18cbdacfae1229d.tar.xz
glibc-fb82116f24454e450f771a41f18cbdacfae1229d.zip
Update string tests to use the support test driver.
Replaced all imports of test-skeleton.c with support/test-driver.c.

In some cases it was needed to adjust do_test to return int
instead of static int since that is the method's signature expected by
test-driver.c.

Checked on x86_64.

	* string/test-string.h (TEST_FUNCTION): Use test_main instead of
	test_main ().
	(CMDLINE_PROCESS): Use function instead of defined macro.
	* debug/test-strcpy_chk.c: Import support/test-driver.c and also
	<suppport/support.h> to use set_fortify_handler().
	* string/bug-envz1.c: Import support/test-driver.c instead of
	test-skeleton.c.
	* string/bug-strcoll2.c: Likewise.
	* string/bug-strtok1.c: Likewise.
	* string/stratcliff.c: Likewise.
	* string/test-ffs.c: Likewise.
	* string/test-memccpy.c: Likewise.
	* string/test-memchr.c: Likewise.
	* string/test-memcmp.c: Likewise.
	* string/test-memcpy.c: Likewise.
	* string/test-memmem.c: Likewise.
	* string/test-memmove.c: Likewise.
	* string/test-memrchr.c: Likewise.
	* string/test-memset.c: Likewise.
	* string/test-rawmemchr.c: Likewise.
	* string/test-strcasecmp.c: Likewise.
	* string/test-strcasestr.c: Likewise.
	* string/test-strcat.c: Likewise.
	* string/test-strchr.c: Likewise.
	* string/test-strcmp.c: Likewise.
	* string/test-strcpy.c: Likewise.
	* string/test-string.h: Likewise.
	* string/test-strlen.c: Likewise.
	* string/test-strncasecmp.c: Likewise.
	* string/test-strncat.c: Likewise.
	* string/test-strncmp.c: Likewise.
	* string/test-strncpy.c: Likewise.
	* string/test-strnlen.c: Likewise.
	* string/test-strpbrk.c: Likewise.
	* string/test-strrchr.c: Likewise.
	* string/test-strspn.c: Likewise.
	* string/test-strstr.c: Likewise.
	* string/tst-bswap.c: Likewise.
	* string/tst-cmp.c: Likewise.
	* string/tst-endian.c: Likewise.
	* string/tst-inlcall.c: Likewise.
	* string/tst-strcoll-overflow.c: Likewise.
	* string/tst-strfry.c: Likewise.
	* string/tst-strlen.c: Likewise.
	* string/tst-strtok.c: Likewise.
	* string/tst-strtok_r.c: Likewise.
	* string/tst-strxfrm.c: Likewise.
	* string/tst-strxfrm2.c: Likewise.
	* string/tst-svc.c: Likewise.
	* string/tst-svc2.c: Likewise.
Diffstat (limited to 'string/test-string.h')
-rw-r--r--string/test-string.h45
1 files changed, 27 insertions, 18 deletions
diff --git a/string/test-string.h b/string/test-string.h
index 2c36b44c22..3f72876454 100644
--- a/string/test-string.h
+++ b/string/test-string.h
@@ -40,6 +40,7 @@ extern impl_t __start_impls[], __stop_impls[];
 
 #undef __USE_STRING_INLINES
 
+#include <getopt.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -55,7 +56,7 @@ extern impl_t __start_impls[], __stop_impls[];
 #define GLRO(x) _##x
 
 
-# define TEST_FUNCTION test_main ()
+# define TEST_FUNCTION test_main
 # define TIMEOUT (4 * 60)
 # define OPT_ITERATIONS 10000
 # define OPT_RANDOM 10001
@@ -83,23 +84,31 @@ size_t iterations = 100000;
 # define CMDLINE_OPTIONS ITERATIONS_OPTIONS \
   { "random", no_argument, NULL, OPT_RANDOM },	\
   { "seed", required_argument, NULL, OPT_SEED },
-# define CMDLINE_PROCESS ITERATIONS_PROCESS \
-  case OPT_RANDOM:							\
-    {									\
-      int fdr = open ("/dev/urandom", O_RDONLY);			\
-									\
-      if (fdr < 0 || read (fdr, &seed, sizeof(seed)) != sizeof (seed))	\
-	seed = time (NULL);						\
-      if (fdr >= 0)							\
-	close (fdr);							\
-      do_srandom = 1;							\
-      break;								\
-    }									\
-									\
-  case OPT_SEED:							\
-    seed = strtoul (optarg, NULL, 0);					\
-    do_srandom = 1;							\
-    break;
+
+static void __attribute__ ((used))
+cmdline_process_function (int c)
+{
+  switch (c)
+    {
+      ITERATIONS_PROCESS
+      case OPT_RANDOM:
+        {
+          int fdr = open ("/dev/urandom", O_RDONLY);
+          if (fdr < 0 || read (fdr, &seed, sizeof (seed)) != sizeof (seed))
+            seed = time (NULL);
+          if (fdr >= 0)
+            close (fdr);
+          do_srandom = 1;
+          break;
+        }
+
+      case OPT_SEED:
+        seed = strtoul (optarg, NULL, 0);
+        do_srandom = 1;
+        break;
+    }
+}
+# define CMDLINE_PROCESS cmdline_process_function
 
 #define CALL(impl, ...)	\
   (* (proto_t) (impl)->fn) (__VA_ARGS__)