From: Artem Bityutskiy Date: Tue, 3 May 2011 12:02:58 +0000 (+0300) Subject: fs-tests: integck: check errno in pvc macro X-Git-Tag: v1.4.5~51 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6baa47e6b91363fa6b760d2a5592dc3fd3991b26;p=mtd-utils.git 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 --- 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 */