On 08/30/2017 12:52 PM, Jeff Cody wrote: > 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. > > Signed-off-by: Jeff Cody <jc...@redhat.com> > --- > tests/qemu-iotests/check | 10 +++++++++- > tests/qemu-iotests/common | 6 ++++++ > 2 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > index f6ca85d..8a5fc0d 100755 > --- a/tests/qemu-iotests/check > +++ b/tests/qemu-iotests/check > @@ -370,7 +370,15 @@ do > fi > fi > > - rm -rf "$TEST_DIR_SEQ" > + #TODO: There is some intial work to save intermediate files > + # in python tests, but it is imperfect. Having each > + # test record its test name, and the tearDown function > + # just move intermediate images to a subdirectory with > + # the test name may prove more useful. > + 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 >
This, however, is definitely awesome. Tested-by: John Snow <js...@redhat.com> Reviewed-by: John Snow <js...@redhat.com>