aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-05-03 15:02:58 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-05-20 12:48:41 +0300
commit6baa47e6b91363fa6b760d2a5592dc3fd3991b26 (patch)
tree2e75cb56c450e9151807b84db5617734c4bc8a23
parentb722a1afe37eab14a5482c9e1efd5e6d625fa171 (diff)
fs-tests: integck: check errno in pvc macro
All errors but write errors have corresponding CHECK(), so if something gets wrong we fail. But in case of I/O errors we do not fail if an unexpected error happens, which makes it difficult to trace issues. Inject the errno checking to the pvc macro to make sure we fail if errno is not EROFS. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--tests/fs-tests/integrity/integck.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c
index 1b08acc..b411a68 100644
--- a/tests/fs-tests/integrity/integck.c
+++ b/tests/fs-tests/integrity/integck.c
@@ -69,12 +69,18 @@
check_failed(stringify(cond), __func__, __FILE__, __LINE__); \
} while(0)
+#define CHECK_ERRNO() do { \
+ if (args.power_cut_mode) \
+ CHECK(errno == EROFS); \
+ else \
+ CHECK(0); \
+} while(0)
+
#define pcv(fmt, ...) do { \
if (!args.power_cut_mode || (args.power_cut_mode && args.verbose)) \
normsg(fmt " (line %d, error %d (%s))", \
##__VA_ARGS__, __LINE__, errno, strerror(errno)); \
- if (!args.power_cut_mode) \
- CHECK(0); \
+ CHECK_ERRNO(); \
} while(0)
/* The variables below are set by command line arguments */