Message ID | 03558ebe46550c94a977bb4bb09555cec5dac022.1501477080.git.jcody@redhat.com |
---|---|
State | New |
Headers | show |
On 07/31/2017 12:04 AM, Jeff Cody wrote: > Right now, all qemu-iotests output data into the same scratch directory, > and so each tests needs to be responsible for cleanup up its own files. And, tests must either use unique names or else cannot be run in parallel. > > Have each test use 'scratch/$seq' as its temp directory, so the check > script can do simple cleanup of removing the whole temporary directory. It also makes it much nicer for a potential future patch to parallelize things, now that every tests' temporary files are uniquely named by virtue of the subdirectory. > > Signed-off-by: Jeff Cody <jcody@redhat.com> > --- > tests/qemu-iotests/check | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > @@ -300,13 +301,23 @@ do > fi > export OUTPUT_DIR=$PWD > if $debug; then > - (cd "$source_iotests"; > + ( > + cd "$source_iotests"; Pre-existing; but we should check that the 'cd' succeeded (if not, the rest of the code is at risk of doing things in the wrong directory). Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 2a55ec9..20cb93d 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -254,6 +254,7 @@ seq="check" for seq in $list do + TEST_DIR_SEQ=$TEST_DIR/$seq err=false printf %s "$seq" if [ -n "$TESTS_REMAINING_LOG" ] ; then @@ -300,13 +301,23 @@ do fi export OUTPUT_DIR=$PWD if $debug; then - (cd "$source_iotests"; + ( + cd "$source_iotests"; + export TEST_DIR=$TEST_DIR_SEQ + . "$source_iotests/common.config" + . "$source_iotests/common.rc" MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ - $run_command -d 2>&1 | tee $tmp.out) + $run_command -d 2>&1 | tee $tmp.out + ) else - (cd "$source_iotests"; + ( + export TEST_DIR=$TEST_DIR_SEQ + . "$source_iotests/common.config" + . "$source_iotests/common.rc" + cd "$source_iotests"; MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ - $run_command >$tmp.out 2>&1) + $run_command >$tmp.out 2>&1 + ) fi sts=$? $timestamp && _timestamp @@ -370,6 +381,8 @@ do fi fi + rm -rf "$TEST_DIR_SEQ" + fi # come here for each test, except when $showme is true
Right now, all qemu-iotests output data into the same scratch directory, and so each tests needs to be responsible for cleanup up its own files. Have each test use 'scratch/$seq' as its temp directory, so the check script can do simple cleanup of removing the whole temporary directory. Signed-off-by: Jeff Cody <jcody@redhat.com> --- tests/qemu-iotests/check | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-)