about summary refs log tree commit diff
path: root/time/bug-getdate1.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-12-09 08:18:27 +0100
committerFlorian Weimer <fweimer@redhat.com>2016-12-09 08:18:27 +0100
commitc23de0aacbeaa7a091609b35764bed931475a16d (patch)
treebe4396f71292ee7a509912d70e74323d1587d227 /time/bug-getdate1.c
parentc03073774f915fe7841c2b551fe304544143470f (diff)
downloadglibc-c23de0aacbeaa7a091609b35764bed931475a16d.tar.gz
glibc-c23de0aacbeaa7a091609b35764bed931475a16d.tar.xz
glibc-c23de0aacbeaa7a091609b35764bed931475a16d.zip
support: Introduce new subdirectory for test infrastructure
The new test driver in <support/test-driver.c> has feature parity with
the old one.  The main difference is that its hooking mechanism is
based on functions and function pointers instead of macros.  This
commit also implements a new environment variable, TEST_COREDUMPS,
which disables the code which disables coredumps (that is, it enables
them if the invocation environment has not disabled them).

<test-skeleton.c> defines wrapper functions so that it is possible to
use existing macros with the new-style hook functionality.

This commit changes only a few test cases to the new test driver, to
make sure that it works as expected.
Diffstat (limited to 'time/bug-getdate1.c')
-rw-r--r--time/bug-getdate1.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/time/bug-getdate1.c b/time/bug-getdate1.c
index 3d68cf2a79..9afafba5be 100644
--- a/time/bug-getdate1.c
+++ b/time/bug-getdate1.c
@@ -3,6 +3,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include <support/temp_file.h>
+
 static char *templ_filename;
 
 // Writes template given as parameter to file,
@@ -133,14 +135,18 @@ do_test (int argc, char *argv[])
 
   return res;
 }
+#define TEST_FUNCTION_ARGV do_test
 
-#define PREPARE(argc, argv) \
-  if (argc < 2)								\
-    {									\
-      puts ("Command line: progname template_filename_full_path");	\
-      exit (1);								\
-    }									\
-  add_temp_file (argv[1])
+static void
+do_prepare (int argc, char **argv)
+{
+  if (argc < 2)
+    {
+      puts ("Command line: progname template_filename_full_path");
+      exit (1);
+    }
+  add_temp_file (argv[1]);
+}
+#define PREPARE do_prepare
 
-#define TEST_FUNCTION do_test (argc, argv)
-#include "../test-skeleton.c"
+#include <support/test-driver.c>