summaryrefslogtreecommitdiff
path: root/io
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 /io
parentc03073774f915fe7841c2b551fe304544143470f (diff)
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 'io')
-rw-r--r--io/tst-open-tmpfile.c7
-rw-r--r--io/tst-posix_fallocate-common.c26
2 files changed, 16 insertions, 17 deletions
diff --git a/io/tst-open-tmpfile.c b/io/tst-open-tmpfile.c
index 9242d62392..23fa819c3c 100644
--- a/io/tst-open-tmpfile.c
+++ b/io/tst-open-tmpfile.c
@@ -28,10 +28,7 @@
#include <sys/stat.h>
#include <unistd.h>
-static int do_test (void);
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/support.h>
#ifdef O_TMPFILE
typedef int (*wrapper_func) (const char *, int, mode_t);
@@ -317,3 +314,5 @@ do_test (void)
}
#endif /* O_TMPFILE */
+
+#include <support/test-driver.c>
diff --git a/io/tst-posix_fallocate-common.c b/io/tst-posix_fallocate-common.c
index 2f15a5df18..3073ffea95 100644
--- a/io/tst-posix_fallocate-common.c
+++ b/io/tst-posix_fallocate-common.c
@@ -17,32 +17,27 @@
<http://www.gnu.org/licenses/>. */
#include <fcntl.h>
-#include <sys/types.h>
+#include <limits.h>
+#include <stdint.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 <test-skeleton.c>
+#include <support/support.h>
+#include <support/check.h>
+#include <support/temp_file.h>
static char *temp_filename;
static int temp_fd;
static void
-do_prepare (void)
+do_prepare (int argc, char **argv)
{
temp_fd = create_temp_file ("tst-posix_fallocate.", &temp_filename);
if (temp_fd == -1)
FAIL_EXIT1 ("cannot create temporary file: %m\n");
}
-
-#define FAIL(str) \
- do { printf ("error: %s (line %d)\n", str, __LINE__); return 1; } while (0)
+#define PREPARE do_prepare
static int
do_test_with_offset (off_t offset)
@@ -83,3 +78,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>