summaryrefslogtreecommitdiff
path: root/tests/fs-tests/integrity
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-13 17:09:36 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-18 17:44:46 +0300
commit9055b9c71241a3dcc8f96744b9c081ef23fa5562 (patch)
tree452309c354d7e21d1ddde9cfedd086b00ffcd4e5 /tests/fs-tests/integrity
parent803fded90e2bf8aed8a2ecde51f6b09b990daf4e (diff)
fs-tests: integck: implement own version of CHECK
Remove the final dependency on the common code - the CHECK() macro. Now we are finally independent. The reason we needed this is that we are going to improve integck to handle errors more gracefully, in order to support failure testing better. And this requires changes in the common code, but it is ancient and shared by many tests, and we do not want to touch it. So we better make integck independent and concentrate on integck only. This patch also removes Makefile dependencies. And while on it, remove the broken 'tests' target. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'tests/fs-tests/integrity')
-rw-r--r--tests/fs-tests/integrity/Makefile7
-rw-r--r--tests/fs-tests/integrity/integck.c17
2 files changed, 16 insertions, 8 deletions
diff --git a/tests/fs-tests/integrity/Makefile b/tests/fs-tests/integrity/Makefile
index 364a732..03652a2 100644
--- a/tests/fs-tests/integrity/Makefile
+++ b/tests/fs-tests/integrity/Makefile
@@ -13,12 +13,5 @@ TARGETS = integck
all: $(TARGETS)
-$(TARGETS): ../lib/tests.o
-
-../lib/tests.o: ../lib/tests.h
-
clean:
rm -f *.o $(TARGETS)
-
-tests: all
- ./integck
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c
index 2dbe9de..387874c 100644
--- a/tests/fs-tests/integrity/integck.c
+++ b/tests/fs-tests/integrity/integck.c
@@ -36,7 +36,6 @@
#include <sys/vfs.h>
#include <sys/mount.h>
#include <sys/statvfs.h>
-#include "tests.h"
#define PROGRAM_VERSION "1.1"
#define PROGRAM_NAME "integck"
@@ -47,6 +46,22 @@
/* The pattern for the top directory where we run the test */
#define TEST_DIR_PATTERN "integck_test_dir_%u"
+/*
+ * Check if a condition is true and die if not.
+ */
+#define stringify1(x) #x
+#define stringify(x) stringify1(x)
+#define CHECK(cond) do { \
+ if (!(cond)) { \
+ int _err = errno; \
+ fflush(stdout); \
+ errmsg("condition '%s' failed at %s:%d\n", \
+ stringify(cond), __FILE__, __LINE__); \
+ errmsg("error %d (%s)\n", _err, strerror(_err)); \
+ exit(EXIT_FAILURE); \
+ } \
+} while(0)
+
/* The variables below are set by command line arguments */
static struct {
long repeat_cnt;