Now that ./check takes care of cleaning up after each tests, it
can also selectively not clean up. Add option to leave all output from
tests intact if that test encountered an error.
Note: this currently only works for bash tests, as the python tests
still clean up after themselves manually.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
tests/qemu-iotests/check | 5 ++++-
tests/qemu-iotests/common | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index 7a21ef6..a3a5ab3 100755
--- a/tests/qemu-iotests/check
+++ b/tests/qemu-iotests/check
@@ -381,7 +381,10 @@ do
fi
fi
- rm -rf "$TEST_DIR_SEQ"
+ if [ "$save_on_err" != "true" ] || [ "$err" != "true" ]
+ then
+ rm -rf "$TEST_DIR_SEQ"
+ fi
fi
diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common
index d34c11c..d08b233 100644
--- a/tests/qemu-iotests/common
+++ b/tests/qemu-iotests/common
@@ -42,6 +42,7 @@ expunge=true
have_test_arg=false
randomize=false
cachemode=false
+save_on_err=false
rm -f $tmp.list $tmp.tmp $tmp.sed
export IMGFMT=raw
@@ -172,6 +173,7 @@ other options
-T output timestamps
-r randomize test order
-c mode cache mode
+ -s save test scratch directory on test failure
testlist options
-g group[,group...] include tests from these groups
@@ -349,6 +351,10 @@ testlist options
xgroup=true
xpand=false
;;
+ -s)
+ save_on_err=true
+ xpand=false
+ ;;
'[0-9][0-9][0-9] [0-9][0-9][0-9][0-9]')
echo "No tests?"
status=1
--
2.9.4
Jeff Cody <jcody@redhat.com> writes: > Now that ./check takes care of cleaning up after each tests, it > can also selectively not clean up. Add option to leave all output from > tests intact if that test encountered an error. > > Note: this currently only works for bash tests, as the python tests > still clean up after themselves manually. Should we add a TODO comment for that? Much appreciated work, by the way. You might want to mention in one of your commit messages that this is also a step towards running iotests in parallel. Another step towards sanity would be making $TEST_DIR instead of $source_iotests the current working directory for running tests.
On Tue, Aug 01, 2017 at 08:34:01AM +0200, Markus Armbruster wrote: > Jeff Cody <jcody@redhat.com> writes: > > > Now that ./check takes care of cleaning up after each tests, it > > can also selectively not clean up. Add option to leave all output from > > tests intact if that test encountered an error. > > > > Note: this currently only works for bash tests, as the python tests > > still clean up after themselves manually. > > Should we add a TODO comment for that? > Couldn't hurt! > Much appreciated work, by the way. You might want to mention in one of > your commit messages that this is also a step towards running iotests in > parallel. > Thanks. I'll go ahead and spin a v3 to clean up commit messages and add a TODO, since 2.11 won't open for a while. > Another step towards sanity would be making $TEST_DIR instead of > $source_iotests the current working directory for running tests. Yep!
© 2016 - 2026 Red Hat, Inc.