about summary refs log tree commit diff
path: root/sysdeps
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 /sysdeps
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 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/tst-fallocate-common.c27
-rw-r--r--sysdeps/unix/sysv/linux/tst-sync_file_range.c20
2 files changed, 26 insertions, 21 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-fallocate-common.c b/sysdeps/unix/sysv/linux/tst-fallocate-common.c
index d98bf4a3e6..590b7a813c 100644
--- a/sysdeps/unix/sysv/linux/tst-fallocate-common.c
+++ b/sysdeps/unix/sysv/linux/tst-fallocate-common.c
@@ -16,33 +16,33 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <errno.h>
 #include <fcntl.h>
-#include <sys/types.h>
+#include <limits.h>
+#include <stdint.h>
+#include <string.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <unistd.h>
 
-static void do_prepare (void);
-#define PREPARE(argc, argv)     do_prepare ()
-static int do_test (void);
-#define TEST_FUNCTION           do_test ()
-
-#define TIMEOUT 20 /* sec.  */
+#include <support/support.h>
+#include <support/check.h>
+#include <support/temp_file.h>
 
 #define XSTR(s) STR(S)
 #define STR(s)  #s
 
-#include <test-skeleton.c>
-
 static char *temp_filename;
 static int temp_fd;
 
-void
-do_prepare (void)
+static void
+do_prepare (int argc, char **argv)
 {
   temp_fd = create_temp_file ("tst-fallocate.", &temp_filename);
   if (temp_fd == -1)
     FAIL_EXIT1 ("cannot create temporary file: %m");
 }
+#define PREPARE do_prepare
 
 static int
 do_test_with_offset (off_t offset)
@@ -91,3 +91,8 @@ do_test_with_offset (off_t offset)
 
   return 0;
 }
+
+/* This function is defined by the individual tests.  */
+static int do_test (void);
+
+#include <support/test-driver.c>
diff --git a/sysdeps/unix/sysv/linux/tst-sync_file_range.c b/sysdeps/unix/sysv/linux/tst-sync_file_range.c
index 499a234e00..f2e5615fa9 100644
--- a/sysdeps/unix/sysv/linux/tst-sync_file_range.c
+++ b/sysdeps/unix/sysv/linux/tst-sync_file_range.c
@@ -18,21 +18,18 @@
 
 /* sync_file_range is only define for LFS.  */
 #define _FILE_OFFSET_BITS 64
-#include <fcntl.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
 
-static void do_prepare (void);
-#define PREPARE(argc, argv)     do_prepare ()
-static int do_test (void);
-#define TEST_FUNCTION           do_test ()
-
-#define TIMEOUT 20 /* sec.  */
+#include <support/temp_file.h>
+#include <support/check.h>
 
 #define XSTR(s) STR(S)
 #define STR(s)  #s
 
-#include <test-skeleton.c>
-
 static char *temp_filename;
 static int temp_fd;
 
@@ -40,7 +37,7 @@ static char fifoname[] = "/tmp/tst-posix_fadvise-fifo-XXXXXX";
 static int fifofd;
 
 void
-do_prepare (void)
+do_prepare (int argc, char **argv)
 {
   temp_fd = create_temp_file ("tst-file_sync_range.", &temp_filename);
   if (temp_fd == -1)
@@ -57,6 +54,7 @@ do_prepare (void)
   if (fifofd == -1)
     FAIL_EXIT1 ("cannot open fifo: %m");
 }
+#define PREPARE do_prepare
 
 static int
 do_test (void)
@@ -129,3 +127,5 @@ do_test (void)
 
   return 0;
 }
+
+#include <support/test-driver.c>