doio/growfiles.c: show line number when test failed
PATCH 1/1 doio/growfiles.c: show line number when test failed
Please review this patch. Thanks.
The original code always shows "growfiles.c:132: Test failed". With this patch, it will show the right line number where exit() be called.
--- testcases/kernel/fs/doio/growfiles.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
testcases/kernel/fs/doio/growfiles.c +3 -3
@@ -125,11 +125,11 @@ char *TCID = "growfiles"; /* Default test program identifier. */int TST_TOTAL =1 ;/* Total number of test cases. */ /* To avoid extensive modifications to the code, use this bodge */ -#define exit (x) myexit(x) -void myexit (int x) +#define exit (x) myexit(__FILE__, __LINE__, x) +void myexit (const char *file,const int lineno,int x) {if (x) -tst_resm (TFAIL ,"Test failed" ); +tst_resm_ (file, lineno,TFAIL ,"Test failed" );else tst_resm (TPASS ,"Test passed" );tst_exit ();
Signature · 1 line
2.7.4
PATCH 1/1 doio/growfiles.c: show line number when test failed
Hi!
Quoted 15 lines
The original code always shows "growfiles.c:132: Test failed". With this patch, it will show the right line number where
exit()be called.--- testcases/kernel/fs/doio/growfiles.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)testcases/kernel/fs/doio/growfiles.c +0
-1@@ -125,11 +125,11 @@ char *TCID = "growfiles"; /* Default test program identifier. */int TST_TOTAL =1 ;/* Total number of test cases. */ /* To avoid extensive modifications to the code, use this bodge */ -#define exit (x) myexit(x)
testcases/kernel/fs/doio/growfiles.c char *TCID = "growfiles"; /* Default test program identifier. */ · line 135
Quoted 10 lines
testcases/kernel/fs/doio/growfiles.c +3
-2-void myexit (int x) +#define exit (x) myexit(__FILE__, __LINE__, x) +void myexit (const char *file,const int lineno,int x) {if (x) -tst_resm (TFAIL ,"Test failed" ); +tst_resm_ (file, lineno,TFAIL ,"Test failed" );else tst_resm (TPASS ,"Test passed" );tst_exit ();
I would rather see the code cleaned up. Basically most of the exit(1) calls are part of the option parsing code that should rather be tst_brkm(TBROK, ...); Then there is a very few places that actually call exit() that should either be tst_brkm(TBROK, ...) or tst_resm().
The worst part is that this define replaces exit() in the signal handler as well which is not safe at all...
Or we can just get rid of the unfinished attempt to convert the testcase to LTP test API. Or even try to sync with the version from xfstests that has been cleaned up...
Signature · 2 lines
Cyril Hrubis [email protected]