Message ID | 1400794231-27403-6-git-send-email-mreitz@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, 05/22 23:30, Max Reitz wrote: > Instead of invoking Python scripts directly via ./, use $PYTHON to > obtain the correct Python interpreter command. > > Signed-off-by: Max Reitz <mreitz@redhat.com> > --- > tests/qemu-iotests/031 | 8 ++++---- > tests/qemu-iotests/036 | 6 +++--- > tests/qemu-iotests/039 | 18 +++++++++--------- > tests/qemu-iotests/054 | 2 +- > tests/qemu-iotests/060 | 20 ++++++++++---------- > tests/qemu-iotests/061 | 24 ++++++++++++------------ > tests/qemu-iotests/083 | 2 +- > tests/qemu-iotests/check | 8 +++++++- > 8 files changed, 47 insertions(+), 41 deletions(-) > > diff --git a/tests/qemu-iotests/031 b/tests/qemu-iotests/031 > index 1d920ea..2a77ba8 100755 > --- a/tests/qemu-iotests/031 > +++ b/tests/qemu-iotests/031 > @@ -56,22 +56,22 @@ for IMGOPTS in "compat=0.10" "compat=1.1"; do > echo === Create image with unknown header extension === > echo > _make_test_img 64M > - ./qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" > - ./qcow2.py "$TEST_IMG" dump-header > + $PYTHON qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" > + $PYTHON qcow2.py "$TEST_IMG" dump-header > _check_test_img > > echo > echo === Rewrite header with no backing file === > echo > $QEMU_IMG rebase -u -b "" "$TEST_IMG" > - ./qcow2.py "$TEST_IMG" dump-header > + $PYTHON qcow2.py "$TEST_IMG" dump-header > _check_test_img > > echo > echo === Add a backing file and format === > echo > $QEMU_IMG rebase -u -b "/some/backing/file/path" -F host_device "$TEST_IMG" > - ./qcow2.py "$TEST_IMG" dump-header > + $PYTHON qcow2.py "$TEST_IMG" dump-header > done > > # success, all done > diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036 > index 03b6aa9..a773653 100755 > --- a/tests/qemu-iotests/036 > +++ b/tests/qemu-iotests/036 > @@ -53,15 +53,15 @@ IMGOPTS="compat=1.1" > echo === Create image with unknown autoclear feature bit === > echo > _make_test_img 64M > -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 > +$PYTHON qcow2.py "$TEST_IMG" dump-header > > echo > echo === Repair image === > echo > _check_test_img -r all > > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > > # success, all done > echo "*** done" > diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039 > index 27fe4bd..84c9167 100755 > --- a/tests/qemu-iotests/039 > +++ b/tests/qemu-iotests/039 > @@ -63,7 +63,7 @@ _make_test_img $size > $QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io > > # The dirty bit must not be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > _check_test_img > > echo > @@ -75,7 +75,7 @@ _make_test_img $size > _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io > > # The dirty bit must be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > _check_test_img > > echo > @@ -84,7 +84,7 @@ echo "== Read-only access must still work ==" > $QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io > > # The dirty bit must be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > echo > echo "== Repairing the image file must succeed ==" > @@ -92,7 +92,7 @@ echo "== Repairing the image file must succeed ==" > _check_test_img -r all > > # The dirty bit must not be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > echo > echo "== Data should still be accessible after repair ==" > @@ -108,12 +108,12 @@ _make_test_img $size > _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io > > # The dirty bit must be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io > > # The dirty bit must not be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > echo > echo "== Creating an image file with lazy_refcounts=off ==" > @@ -124,7 +124,7 @@ _make_test_img $size > _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io > > # The dirty bit must not be set since lazy_refcounts=off > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > _check_test_img > > echo > @@ -140,8 +140,8 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io > $QEMU_IMG commit "$TEST_IMG" > > # The dirty bit must not be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > -./qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features > > _check_test_img > TEST_IMG="$TEST_IMG".base _check_test_img > diff --git a/tests/qemu-iotests/054 b/tests/qemu-iotests/054 > index c8b7082..bd94153 100755 > --- a/tests/qemu-iotests/054 > +++ b/tests/qemu-iotests/054 > @@ -49,7 +49,7 @@ _make_test_img $((1024*1024))T > echo > echo "creating too large image (1 EB) using qcow2.py" > _make_test_img 4G > -./qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) > +$PYTHON qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) > _check_test_img > > # success, all done > diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 > index f0116aa..3cffc12 100755 > --- a/tests/qemu-iotests/060 > +++ b/tests/qemu-iotests/060 > @@ -68,13 +68,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00" > _check_test_img > > # The corrupt bit should not be set anyway > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > # Try to write something, thereby forcing the corrupt bit to be set > $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io > > # The corrupt bit must now be set > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > # Try to open the image R/W (which should fail) > $QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \ > @@ -99,19 +99,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01" > # Redirect new data cluster onto refcount block > poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00" > _check_test_img > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > # Try to fix it > _check_test_img -r all > > # The corrupt bit should be cleared > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > # Look if it's really really fixed > $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > echo > echo "=== Testing cluster data reference into inactive L2 table ===" > @@ -124,13 +124,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io > poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \ > "\x80\x00\x00\x00\x00\x04\x00\x00" > _check_test_img > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > $QEMU_IO -c "$OPEN_RW" -c "write -P 3 0 512" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > _check_test_img -r all > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > $QEMU_IO -c "$OPEN_RW" -c "write -P 4 0 512" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features > > # Check data > $QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io > diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061 > index d3a6b38..ab98def 100755 > --- a/tests/qemu-iotests/061 > +++ b/tests/qemu-iotests/061 > @@ -48,9 +48,9 @@ echo "=== Testing version downgrade with zero expansion ===" > echo > IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M > $QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io > _check_test_img > > @@ -59,9 +59,9 @@ echo "=== Testing dirty version downgrade ===" > echo > IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M > $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io > _check_test_img > > @@ -69,11 +69,11 @@ echo > echo "=== Testing version downgrade with unknown compat/autoclear flags ===" > echo > IMGOPTS="compat=1.1" _make_test_img 64M > -./qcow2.py "$TEST_IMG" set-feature-bit compatible 42 > -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit compatible 42 > +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > _check_test_img > > echo > @@ -81,9 +81,9 @@ echo "=== Testing version upgrade and resize ===" > echo > IMGOPTS="compat=0.10" _make_test_img 64M > $QEMU_IO -c "write -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IMG amend -o "compat=1.1,lazy_refcounts=on,size=128M" "$TEST_IMG" > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IO -c "read -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io > _check_test_img > > @@ -92,9 +92,9 @@ echo "=== Testing dirty lazy_refcounts=off ===" > echo > IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M > $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IMG amend -o "lazy_refcounts=off" "$TEST_IMG" > -./qcow2.py "$TEST_IMG" dump-header > +$PYTHON qcow2.py "$TEST_IMG" dump-header > $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io > _check_test_img > > diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/083 > index f764534..b7ba860 100755 > --- a/tests/qemu-iotests/083 > +++ b/tests/qemu-iotests/083 > @@ -81,7 +81,7 @@ EOF > nbd_url="nbd:127.0.0.1:$port:exportname=foo" > fi > > - ./nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & > + $PYTHON nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & > wait_for_tcp_port "127.0.0.1:$port" > $QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | filter_nbd > > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > index 8ec5b8d..8420bd6 100755 > --- a/tests/qemu-iotests/check > +++ b/tests/qemu-iotests/check > @@ -298,10 +298,16 @@ do > > start=`_wallclock` > $timestamp && echo -n " ["`date "+%T"`"]" > + > + if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then How about if head -n 1 "$source_iotests/$seq" | grep -q '#!/usr/bin/env python'; then ? So you don't need patch 6 (Personally, I don't dislike #!/usr/bin/env python2). But no objection, so I'll leave my Reviewed-by: Fam Zheng <famz@redhat.com> > + run_command="$PYTHON $seq" > + else > + run_command="./$seq" > + fi > export OUTPUT_DIR=$PWD > (cd "$source_iotests"; > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ > - ./$seq >$tmp.out 2>&1) > + $run_command >$tmp.out 2>&1) > sts=$? > $timestamp && _timestamp > stop=`_wallclock` > -- > 1.9.3 > >
On 23.05.2014 05:58, Fam Zheng wrote: > On Thu, 05/22 23:30, Max Reitz wrote: >> Instead of invoking Python scripts directly via ./, use $PYTHON to >> obtain the correct Python interpreter command. >> >> Signed-off-by: Max Reitz <mreitz@redhat.com> >> --- >> tests/qemu-iotests/031 | 8 ++++---- >> tests/qemu-iotests/036 | 6 +++--- >> tests/qemu-iotests/039 | 18 +++++++++--------- >> tests/qemu-iotests/054 | 2 +- >> tests/qemu-iotests/060 | 20 ++++++++++---------- >> tests/qemu-iotests/061 | 24 ++++++++++++------------ >> tests/qemu-iotests/083 | 2 +- >> tests/qemu-iotests/check | 8 +++++++- >> 8 files changed, 47 insertions(+), 41 deletions(-) >> >> diff --git a/tests/qemu-iotests/031 b/tests/qemu-iotests/031 >> index 1d920ea..2a77ba8 100755 >> --- a/tests/qemu-iotests/031 >> +++ b/tests/qemu-iotests/031 >> @@ -56,22 +56,22 @@ for IMGOPTS in "compat=0.10" "compat=1.1"; do >> echo === Create image with unknown header extension === >> echo >> _make_test_img 64M >> - ./qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" >> - ./qcow2.py "$TEST_IMG" dump-header >> + $PYTHON qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" >> + $PYTHON qcow2.py "$TEST_IMG" dump-header >> _check_test_img >> >> echo >> echo === Rewrite header with no backing file === >> echo >> $QEMU_IMG rebase -u -b "" "$TEST_IMG" >> - ./qcow2.py "$TEST_IMG" dump-header >> + $PYTHON qcow2.py "$TEST_IMG" dump-header >> _check_test_img >> >> echo >> echo === Add a backing file and format === >> echo >> $QEMU_IMG rebase -u -b "/some/backing/file/path" -F host_device "$TEST_IMG" >> - ./qcow2.py "$TEST_IMG" dump-header >> + $PYTHON qcow2.py "$TEST_IMG" dump-header >> done >> >> # success, all done >> diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036 >> index 03b6aa9..a773653 100755 >> --- a/tests/qemu-iotests/036 >> +++ b/tests/qemu-iotests/036 >> @@ -53,15 +53,15 @@ IMGOPTS="compat=1.1" >> echo === Create image with unknown autoclear feature bit === >> echo >> _make_test_img 64M >> -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> >> echo >> echo === Repair image === >> echo >> _check_test_img -r all >> >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> >> # success, all done >> echo "*** done" >> diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039 >> index 27fe4bd..84c9167 100755 >> --- a/tests/qemu-iotests/039 >> +++ b/tests/qemu-iotests/039 >> @@ -63,7 +63,7 @@ _make_test_img $size >> $QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io >> >> # The dirty bit must not be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> _check_test_img >> >> echo >> @@ -75,7 +75,7 @@ _make_test_img $size >> _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io >> >> # The dirty bit must be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> _check_test_img >> >> echo >> @@ -84,7 +84,7 @@ echo "== Read-only access must still work ==" >> $QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io >> >> # The dirty bit must be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> echo >> echo "== Repairing the image file must succeed ==" >> @@ -92,7 +92,7 @@ echo "== Repairing the image file must succeed ==" >> _check_test_img -r all >> >> # The dirty bit must not be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> echo >> echo "== Data should still be accessible after repair ==" >> @@ -108,12 +108,12 @@ _make_test_img $size >> _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io >> >> # The dirty bit must be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io >> >> # The dirty bit must not be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> echo >> echo "== Creating an image file with lazy_refcounts=off ==" >> @@ -124,7 +124,7 @@ _make_test_img $size >> _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io >> >> # The dirty bit must not be set since lazy_refcounts=off >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> _check_test_img >> >> echo >> @@ -140,8 +140,8 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io >> $QEMU_IMG commit "$TEST_IMG" >> >> # The dirty bit must not be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> -./qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features >> >> _check_test_img >> TEST_IMG="$TEST_IMG".base _check_test_img >> diff --git a/tests/qemu-iotests/054 b/tests/qemu-iotests/054 >> index c8b7082..bd94153 100755 >> --- a/tests/qemu-iotests/054 >> +++ b/tests/qemu-iotests/054 >> @@ -49,7 +49,7 @@ _make_test_img $((1024*1024))T >> echo >> echo "creating too large image (1 EB) using qcow2.py" >> _make_test_img 4G >> -./qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) >> +$PYTHON qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) >> _check_test_img >> >> # success, all done >> diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 >> index f0116aa..3cffc12 100755 >> --- a/tests/qemu-iotests/060 >> +++ b/tests/qemu-iotests/060 >> @@ -68,13 +68,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00" >> _check_test_img >> >> # The corrupt bit should not be set anyway >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> # Try to write something, thereby forcing the corrupt bit to be set >> $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io >> >> # The corrupt bit must now be set >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> # Try to open the image R/W (which should fail) >> $QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \ >> @@ -99,19 +99,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01" >> # Redirect new data cluster onto refcount block >> poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00" >> _check_test_img >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> # Try to fix it >> _check_test_img -r all >> >> # The corrupt bit should be cleared >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> # Look if it's really really fixed >> $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> echo >> echo "=== Testing cluster data reference into inactive L2 table ===" >> @@ -124,13 +124,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io >> poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \ >> "\x80\x00\x00\x00\x00\x04\x00\x00" >> _check_test_img >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> $QEMU_IO -c "$OPEN_RW" -c "write -P 3 0 512" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> _check_test_img -r all >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> $QEMU_IO -c "$OPEN_RW" -c "write -P 4 0 512" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features >> >> # Check data >> $QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io >> diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061 >> index d3a6b38..ab98def 100755 >> --- a/tests/qemu-iotests/061 >> +++ b/tests/qemu-iotests/061 >> @@ -48,9 +48,9 @@ echo "=== Testing version downgrade with zero expansion ===" >> echo >> IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M >> $QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io >> _check_test_img >> >> @@ -59,9 +59,9 @@ echo "=== Testing dirty version downgrade ===" >> echo >> IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M >> $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io >> _check_test_img >> >> @@ -69,11 +69,11 @@ echo >> echo "=== Testing version downgrade with unknown compat/autoclear flags ===" >> echo >> IMGOPTS="compat=1.1" _make_test_img 64M >> -./qcow2.py "$TEST_IMG" set-feature-bit compatible 42 >> -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit compatible 42 >> +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> _check_test_img >> >> echo >> @@ -81,9 +81,9 @@ echo "=== Testing version upgrade and resize ===" >> echo >> IMGOPTS="compat=0.10" _make_test_img 64M >> $QEMU_IO -c "write -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IMG amend -o "compat=1.1,lazy_refcounts=on,size=128M" "$TEST_IMG" >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IO -c "read -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io >> _check_test_img >> >> @@ -92,9 +92,9 @@ echo "=== Testing dirty lazy_refcounts=off ===" >> echo >> IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M >> $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IMG amend -o "lazy_refcounts=off" "$TEST_IMG" >> -./qcow2.py "$TEST_IMG" dump-header >> +$PYTHON qcow2.py "$TEST_IMG" dump-header >> $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io >> _check_test_img >> >> diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/083 >> index f764534..b7ba860 100755 >> --- a/tests/qemu-iotests/083 >> +++ b/tests/qemu-iotests/083 >> @@ -81,7 +81,7 @@ EOF >> nbd_url="nbd:127.0.0.1:$port:exportname=foo" >> fi >> >> - ./nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & >> + $PYTHON nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & >> wait_for_tcp_port "127.0.0.1:$port" >> $QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | filter_nbd >> >> diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check >> index 8ec5b8d..8420bd6 100755 >> --- a/tests/qemu-iotests/check >> +++ b/tests/qemu-iotests/check >> @@ -298,10 +298,16 @@ do >> >> start=`_wallclock` >> $timestamp && echo -n " ["`date "+%T"`"]" >> + >> + if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then > How about > > if head -n 1 "$source_iotests/$seq" | grep -q '#!/usr/bin/env python'; then > > ? So you don't need patch 6 (Personally, I don't dislike #!/usr/bin/env > python2). I'll need patch 6 anyway. The original idea why this series exists in the first place was that my main system (Arch) links /usr/bin/python to python3, which breaks the I/O tests. Therefore, I wanted to make the I/O tests always use python2 or, if possible, the Python version chosen by configure. After my first attempt broke badly, I thought of replacing all Shebangs by "#!/usr/bin/env python2" - but it turned out, Debian normally does not provide /usr/bin/python2 (albeit having Python 2 itself). Therefore, I discarded that idea and wrote this series instead. However, knowing this, it's better to "fix" the Shebang in test 065. On the other hand, with this series we wouldn't have to, as the Shebang is not actually used anyway. But I'd rather like to have it "valid" (which means valid for Debian and invalid for Arch). Max > But no objection, so I'll leave my > > Reviewed-by: Fam Zheng <famz@redhat.com> > >> + run_command="$PYTHON $seq" >> + else >> + run_command="./$seq" >> + fi >> export OUTPUT_DIR=$PWD >> (cd "$source_iotests"; >> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ >> - ./$seq >$tmp.out 2>&1) >> + $run_command >$tmp.out 2>&1) >> sts=$? >> $timestamp && _timestamp >> stop=`_wallclock` >> -- >> 1.9.3 >> >>
diff --git a/tests/qemu-iotests/031 b/tests/qemu-iotests/031 index 1d920ea..2a77ba8 100755 --- a/tests/qemu-iotests/031 +++ b/tests/qemu-iotests/031 @@ -56,22 +56,22 @@ for IMGOPTS in "compat=0.10" "compat=1.1"; do echo === Create image with unknown header extension === echo _make_test_img 64M - ./qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" - ./qcow2.py "$TEST_IMG" dump-header + $PYTHON qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" + $PYTHON qcow2.py "$TEST_IMG" dump-header _check_test_img echo echo === Rewrite header with no backing file === echo $QEMU_IMG rebase -u -b "" "$TEST_IMG" - ./qcow2.py "$TEST_IMG" dump-header + $PYTHON qcow2.py "$TEST_IMG" dump-header _check_test_img echo echo === Add a backing file and format === echo $QEMU_IMG rebase -u -b "/some/backing/file/path" -F host_device "$TEST_IMG" - ./qcow2.py "$TEST_IMG" dump-header + $PYTHON qcow2.py "$TEST_IMG" dump-header done # success, all done diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036 index 03b6aa9..a773653 100755 --- a/tests/qemu-iotests/036 +++ b/tests/qemu-iotests/036 @@ -53,15 +53,15 @@ IMGOPTS="compat=1.1" echo === Create image with unknown autoclear feature bit === echo _make_test_img 64M -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 +$PYTHON qcow2.py "$TEST_IMG" dump-header echo echo === Repair image === echo _check_test_img -r all -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header # success, all done echo "*** done" diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039 index 27fe4bd..84c9167 100755 --- a/tests/qemu-iotests/039 +++ b/tests/qemu-iotests/039 @@ -63,7 +63,7 @@ _make_test_img $size $QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io # The dirty bit must not be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features _check_test_img echo @@ -75,7 +75,7 @@ _make_test_img $size _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io # The dirty bit must be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features _check_test_img echo @@ -84,7 +84,7 @@ echo "== Read-only access must still work ==" $QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io # The dirty bit must be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features echo echo "== Repairing the image file must succeed ==" @@ -92,7 +92,7 @@ echo "== Repairing the image file must succeed ==" _check_test_img -r all # The dirty bit must not be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features echo echo "== Data should still be accessible after repair ==" @@ -108,12 +108,12 @@ _make_test_img $size _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io # The dirty bit must be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io # The dirty bit must not be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features echo echo "== Creating an image file with lazy_refcounts=off ==" @@ -124,7 +124,7 @@ _make_test_img $size _no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 | _filter_qemu_io # The dirty bit must not be set since lazy_refcounts=off -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features _check_test_img echo @@ -140,8 +140,8 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io $QEMU_IMG commit "$TEST_IMG" # The dirty bit must not be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features -./qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features _check_test_img TEST_IMG="$TEST_IMG".base _check_test_img diff --git a/tests/qemu-iotests/054 b/tests/qemu-iotests/054 index c8b7082..bd94153 100755 --- a/tests/qemu-iotests/054 +++ b/tests/qemu-iotests/054 @@ -49,7 +49,7 @@ _make_test_img $((1024*1024))T echo echo "creating too large image (1 EB) using qcow2.py" _make_test_img 4G -./qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) +$PYTHON qcow2.py "$TEST_IMG" set-header size $((1024 ** 6)) _check_test_img # success, all done diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 index f0116aa..3cffc12 100755 --- a/tests/qemu-iotests/060 +++ b/tests/qemu-iotests/060 @@ -68,13 +68,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00" _check_test_img # The corrupt bit should not be set anyway -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features # Try to write something, thereby forcing the corrupt bit to be set $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io # The corrupt bit must now be set -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features # Try to open the image R/W (which should fail) $QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \ @@ -99,19 +99,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01" # Redirect new data cluster onto refcount block poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00" _check_test_img -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features # Try to fix it _check_test_img -r all # The corrupt bit should be cleared -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features # Look if it's really really fixed $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features echo echo "=== Testing cluster data reference into inactive L2 table ===" @@ -124,13 +124,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \ "\x80\x00\x00\x00\x00\x04\x00\x00" _check_test_img -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features $QEMU_IO -c "$OPEN_RW" -c "write -P 3 0 512" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features _check_test_img -r all -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features $QEMU_IO -c "$OPEN_RW" -c "write -P 4 0 512" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header | grep incompatible_features +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features # Check data $QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061 index d3a6b38..ab98def 100755 --- a/tests/qemu-iotests/061 +++ b/tests/qemu-iotests/061 @@ -48,9 +48,9 @@ echo "=== Testing version downgrade with zero expansion ===" echo IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M $QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io _check_test_img @@ -59,9 +59,9 @@ echo "=== Testing dirty version downgrade ===" echo IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io _check_test_img @@ -69,11 +69,11 @@ echo echo "=== Testing version downgrade with unknown compat/autoclear flags ===" echo IMGOPTS="compat=1.1" _make_test_img 64M -./qcow2.py "$TEST_IMG" set-feature-bit compatible 42 -./qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit compatible 42 +$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header _check_test_img echo @@ -81,9 +81,9 @@ echo "=== Testing version upgrade and resize ===" echo IMGOPTS="compat=0.10" _make_test_img 64M $QEMU_IO -c "write -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IMG amend -o "compat=1.1,lazy_refcounts=on,size=128M" "$TEST_IMG" -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IO -c "read -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io _check_test_img @@ -92,9 +92,9 @@ echo "=== Testing dirty lazy_refcounts=off ===" echo IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M $QEMU_IO -c "write -P 0x2a 0 128k" -c flush -c abort "$TEST_IMG" | _filter_qemu_io -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IMG amend -o "lazy_refcounts=off" "$TEST_IMG" -./qcow2.py "$TEST_IMG" dump-header +$PYTHON qcow2.py "$TEST_IMG" dump-header $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io _check_test_img diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/083 index f764534..b7ba860 100755 --- a/tests/qemu-iotests/083 +++ b/tests/qemu-iotests/083 @@ -81,7 +81,7 @@ EOF nbd_url="nbd:127.0.0.1:$port:exportname=foo" fi - ./nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & + $PYTHON nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & wait_for_tcp_port "127.0.0.1:$port" $QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | filter_nbd diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 8ec5b8d..8420bd6 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -298,10 +298,16 @@ do start=`_wallclock` $timestamp && echo -n " ["`date "+%T"`"]" + + if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then + run_command="$PYTHON $seq" + else + run_command="./$seq" + fi export OUTPUT_DIR=$PWD (cd "$source_iotests"; MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ - ./$seq >$tmp.out 2>&1) + $run_command >$tmp.out 2>&1) sts=$? $timestamp && _timestamp stop=`_wallclock`
Instead of invoking Python scripts directly via ./, use $PYTHON to obtain the correct Python interpreter command. Signed-off-by: Max Reitz <mreitz@redhat.com> --- tests/qemu-iotests/031 | 8 ++++---- tests/qemu-iotests/036 | 6 +++--- tests/qemu-iotests/039 | 18 +++++++++--------- tests/qemu-iotests/054 | 2 +- tests/qemu-iotests/060 | 20 ++++++++++---------- tests/qemu-iotests/061 | 24 ++++++++++++------------ tests/qemu-iotests/083 | 2 +- tests/qemu-iotests/check | 8 +++++++- 8 files changed, 47 insertions(+), 41 deletions(-)