提交 f915db07 编写于 作者: M Max Reitz 提交者: Stefan Hajnoczi

iotests: Use configured python

Currently, QEMU's iotests rely on /usr/bin/env to start the correct
Python (that is, at least Python 2.4, but not 3). On systems where
Python 3 is the default, the user has no clean way of making the iotests
use the correct binary.

This commit makes the iotests use the Python selected by configure.
Signed-off-by: NMax Reitz <mreitz@redhat.com>
Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
上级 65f33bc0
...@@ -4771,6 +4771,12 @@ if test "$gcov" = "yes" ; then ...@@ -4771,6 +4771,12 @@ if test "$gcov" = "yes" ; then
echo "GCOV=$gcov_tool" >> $config_host_mak echo "GCOV=$gcov_tool" >> $config_host_mak
fi fi
iotests_common_env="tests/qemu-iotests/common.env"
echo "# Automatically generated by configure - do not modify" > $iotests_common_env
echo >> $iotests_common_env
echo "PYTHON='$python'" >> $iotests_common_env
# use included Linux headers # use included Linux headers
if test "$linux" = "yes" ; then if test "$linux" = "yes" ; then
mkdir -p linux-headers mkdir -p linux-headers
......
...@@ -35,6 +35,7 @@ _cleanup() ...@@ -35,6 +35,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
. ./common.pattern . ./common.pattern
...@@ -56,22 +57,22 @@ for IMGOPTS in "compat=0.10" "compat=1.1"; do ...@@ -56,22 +57,22 @@ for IMGOPTS in "compat=0.10" "compat=1.1"; do
echo === Create image with unknown header extension === echo === Create image with unknown header extension ===
echo echo
_make_test_img 64M _make_test_img 64M
./qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension" $PYTHON 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" dump-header
_check_test_img _check_test_img
echo echo
echo === Rewrite header with no backing file === echo === Rewrite header with no backing file ===
echo echo
$QEMU_IMG rebase -u -b "" "$TEST_IMG" $QEMU_IMG rebase -u -b "" "$TEST_IMG"
./qcow2.py "$TEST_IMG" dump-header $PYTHON qcow2.py "$TEST_IMG" dump-header
_check_test_img _check_test_img
echo echo
echo === Add a backing file and format === echo === Add a backing file and format ===
echo echo
$QEMU_IMG rebase -u -b "/some/backing/file/path" -F host_device "$TEST_IMG" $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 done
# success, all done # success, all done
......
...@@ -38,6 +38,7 @@ _cleanup() ...@@ -38,6 +38,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
. ./common.pattern . ./common.pattern
...@@ -53,15 +54,15 @@ IMGOPTS="compat=1.1" ...@@ -53,15 +54,15 @@ IMGOPTS="compat=1.1"
echo === Create image with unknown autoclear feature bit === echo === Create image with unknown autoclear feature bit ===
echo echo
_make_test_img 64M _make_test_img 64M
./qcow2.py "$TEST_IMG" set-feature-bit autoclear 63 $PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 63
./qcow2.py "$TEST_IMG" dump-header $PYTHON qcow2.py "$TEST_IMG" dump-header
echo echo
echo === Repair image === echo === Repair image ===
echo echo
_check_test_img -r all _check_test_img -r all
./qcow2.py "$TEST_IMG" dump-header $PYTHON qcow2.py "$TEST_IMG" dump-header
# success, all done # success, all done
echo "*** done" echo "*** done"
......
...@@ -38,6 +38,7 @@ _cleanup() ...@@ -38,6 +38,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
...@@ -58,7 +59,7 @@ _make_test_img $size ...@@ -58,7 +59,7 @@ _make_test_img $size
$QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io $QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io
# The dirty bit must not be set # 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 _check_test_img
echo echo
...@@ -73,7 +74,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io ...@@ -73,7 +74,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io
ulimit -c "$old_ulimit" ulimit -c "$old_ulimit"
# The dirty bit must be set # 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 _check_test_img
echo echo
...@@ -82,7 +83,7 @@ echo "== Read-only access must still work ==" ...@@ -82,7 +83,7 @@ echo "== Read-only access must still work =="
$QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io $QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io
# The dirty bit must be set # 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
echo "== Repairing the image file must succeed ==" echo "== Repairing the image file must succeed =="
...@@ -90,7 +91,7 @@ echo "== Repairing the image file must succeed ==" ...@@ -90,7 +91,7 @@ echo "== Repairing the image file must succeed =="
_check_test_img -r all _check_test_img -r all
# The dirty bit must not be set # 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
echo "== Data should still be accessible after repair ==" echo "== Data should still be accessible after repair =="
...@@ -109,12 +110,12 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io ...@@ -109,12 +110,12 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io
ulimit -c "$old_ulimit" ulimit -c "$old_ulimit"
# The dirty bit must be set # 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 $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io
# The dirty bit must not be set # 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
echo "== Creating an image file with lazy_refcounts=off ==" echo "== Creating an image file with lazy_refcounts=off =="
...@@ -128,7 +129,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io ...@@ -128,7 +129,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" | _filter_qemu_io
ulimit -c "$old_ulimit" ulimit -c "$old_ulimit"
# The dirty bit must not be set since lazy_refcounts=off # 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 _check_test_img
echo echo
...@@ -144,8 +145,8 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io ...@@ -144,8 +145,8 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io
$QEMU_IMG commit "$TEST_IMG" $QEMU_IMG commit "$TEST_IMG"
# The dirty bit must not be set # 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
./qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features $PYTHON qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features
_check_test_img _check_test_img
TEST_IMG="$TEST_IMG".base _check_test_img TEST_IMG="$TEST_IMG".base _check_test_img
......
...@@ -35,6 +35,7 @@ _cleanup() ...@@ -35,6 +35,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
...@@ -49,7 +50,7 @@ _make_test_img $((1024*1024))T ...@@ -49,7 +50,7 @@ _make_test_img $((1024*1024))T
echo echo
echo "creating too large image (1 EB) using qcow2.py" echo "creating too large image (1 EB) using qcow2.py"
_make_test_img 4G _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 _check_test_img
# success, all done # success, all done
......
...@@ -35,6 +35,7 @@ _cleanup() ...@@ -35,6 +35,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
...@@ -68,13 +69,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00" ...@@ -68,13 +69,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00"
_check_test_img _check_test_img
# The corrupt bit should not be set anyway # 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 # 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 $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io
# The corrupt bit must now be set # 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) # Try to open the image R/W (which should fail)
$QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \ $QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \
...@@ -99,19 +100,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01" ...@@ -99,19 +100,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01"
# Redirect new data cluster onto refcount block # Redirect new data cluster onto refcount block
poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00" poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00"
_check_test_img _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 $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 # Try to fix it
_check_test_img -r all _check_test_img -r all
# The corrupt bit should be cleared # 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 # Look if it's really really fixed
$QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io $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
echo "=== Testing cluster data reference into inactive L2 table ===" echo "=== Testing cluster data reference into inactive L2 table ==="
...@@ -124,13 +125,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io ...@@ -124,13 +125,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io
poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \ poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \
"\x80\x00\x00\x00\x00\x04\x00\x00" "\x80\x00\x00\x00\x00\x04\x00\x00"
_check_test_img _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 $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 _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 $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 # Check data
$QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io $QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io
......
...@@ -35,6 +35,7 @@ _cleanup() ...@@ -35,6 +35,7 @@ _cleanup()
trap "_cleanup; exit \$status" 0 1 2 3 15 trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
...@@ -48,9 +49,9 @@ echo "=== Testing version downgrade with zero expansion ===" ...@@ -48,9 +49,9 @@ echo "=== Testing version downgrade with zero expansion ==="
echo echo
IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M
$QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io $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" $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 $QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io
_check_test_img _check_test_img
...@@ -59,9 +60,9 @@ echo "=== Testing dirty version downgrade ===" ...@@ -59,9 +60,9 @@ echo "=== Testing dirty version downgrade ==="
echo echo
IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M 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 $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" $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 $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io
_check_test_img _check_test_img
...@@ -69,11 +70,11 @@ echo ...@@ -69,11 +70,11 @@ echo
echo "=== Testing version downgrade with unknown compat/autoclear flags ===" echo "=== Testing version downgrade with unknown compat/autoclear flags ==="
echo echo
IMGOPTS="compat=1.1" _make_test_img 64M IMGOPTS="compat=1.1" _make_test_img 64M
./qcow2.py "$TEST_IMG" set-feature-bit compatible 42 $PYTHON qcow2.py "$TEST_IMG" set-feature-bit compatible 42
./qcow2.py "$TEST_IMG" set-feature-bit autoclear 42 $PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 42
./qcow2.py "$TEST_IMG" dump-header $PYTHON qcow2.py "$TEST_IMG" dump-header
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG" $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 _check_test_img
echo echo
...@@ -81,9 +82,9 @@ echo "=== Testing version upgrade and resize ===" ...@@ -81,9 +82,9 @@ echo "=== Testing version upgrade and resize ==="
echo echo
IMGOPTS="compat=0.10" _make_test_img 64M IMGOPTS="compat=0.10" _make_test_img 64M
$QEMU_IO -c "write -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io $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" $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 $QEMU_IO -c "read -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io
_check_test_img _check_test_img
...@@ -92,9 +93,9 @@ echo "=== Testing dirty lazy_refcounts=off ===" ...@@ -92,9 +93,9 @@ echo "=== Testing dirty lazy_refcounts=off ==="
echo echo
IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M 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 $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" $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 $QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io
_check_test_img _check_test_img
......
#!/usr/bin/env python2 #!/usr/bin/env python
# #
# Test for additional information emitted by qemu-img info on qcow2 # Test for additional information emitted by qemu-img info on qcow2
# images # images
......
...@@ -29,6 +29,7 @@ tmp=/tmp/$$ ...@@ -29,6 +29,7 @@ tmp=/tmp/$$
status=1 # failure is the default! status=1 # failure is the default!
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.env
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
...@@ -81,7 +82,7 @@ EOF ...@@ -81,7 +82,7 @@ EOF
nbd_url="nbd:127.0.0.1:$port:exportname=foo" nbd_url="nbd:127.0.0.1:$port:exportname=foo"
fi 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" wait_for_tcp_port "127.0.0.1:$port"
$QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | filter_nbd $QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | filter_nbd
......
...@@ -34,6 +34,13 @@ timestamp=${TIMESTAMP:=false} ...@@ -34,6 +34,13 @@ timestamp=${TIMESTAMP:=false}
# generic initialization # generic initialization
iam=check iam=check
# we need common.env
if ! . ./common.env
then
echo "$iam: failed to source common.env"
exit 1
fi
# we need common.config # we need common.config
if ! . ./common.config if ! . ./common.config
then then
...@@ -215,9 +222,16 @@ do ...@@ -215,9 +222,16 @@ do
start=`_wallclock` start=`_wallclock`
$timestamp && echo -n " ["`date "+%T"`"]" $timestamp && echo -n " ["`date "+%T"`"]"
[ ! -x $seq ] && chmod u+x $seq # ensure we can run it
if [ "$(head -n 1 $seq)" == "#!/usr/bin/env python" ]; then
run_command="$PYTHON $seq"
else
[ ! -x $seq ] && chmod u+x $seq # ensure we can run it
run_command="./$seq"
fi
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \ MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \
./$seq >$tmp.out 2>&1 $run_command >$tmp.out 2>&1
sts=$? sts=$?
$timestamp && _timestamp $timestamp && _timestamp
stop=`_wallclock` stop=`_wallclock`
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册