qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 3/3] iotests: Fix test 039


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v3 3/3] iotests: Fix test 039
Date: Mon, 8 Dec 2014 18:36:03 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Mon, 12/08 10:48, Max Reitz wrote:
> Test 039 used qemu-io -c abort for simulating a qemu crash; however,
> abort() generally results in a core dump and ulimit -c 0 is no reliable
> way of preventing that. Use "sigraise $(kill -l KILL)" instead to have
> it crash without a core dump.
> 
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  tests/qemu-iotests/039     | 18 +++++++++++++-----
>  tests/qemu-iotests/039.out |  6 +++---
>  2 files changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039
> index 84c9167..859705f 100755
> --- a/tests/qemu-iotests/039
> +++ b/tests/qemu-iotests/039
> @@ -47,9 +47,11 @@ _supported_os Linux
>  _default_cache_mode "writethrough"
>  _supported_cache_modes "writethrough"
>  
> -_no_dump_exec()
> +_subshell_exec()
>  {
> -    (ulimit -c 0; exec "$@")
> +    # Executing crashing commands in a subshell prevents information like the
> +    # "Killed" line from being lost
> +    (exec "$@")
>  }
>  
>  size=128M
> @@ -72,7 +74,9 @@ echo "== Creating a dirty image file =="
>  IMGOPTS="compat=1.1,lazy_refcounts=on"
>  _make_test_img $size
>  
> -_no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 
> | _filter_qemu_io
> +_subshell_exec $QEMU_IO -c "write -P 0x5a 0 512" \
> +                        -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \
> +    | _filter_qemu_io
>  
>  # The dirty bit must be set
>  $PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
> @@ -105,7 +109,9 @@ echo "== Opening a dirty image read/write should repair 
> it =="
>  IMGOPTS="compat=1.1,lazy_refcounts=on"
>  _make_test_img $size
>  
> -_no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 
> | _filter_qemu_io
> +_subshell_exec $QEMU_IO -c "write -P 0x5a 0 512" \
> +                        -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \
> +    | _filter_qemu_io
>  
>  # The dirty bit must be set
>  $PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
> @@ -121,7 +127,9 @@ echo "== Creating an image file with lazy_refcounts=off 
> =="
>  IMGOPTS="compat=1.1,lazy_refcounts=off"
>  _make_test_img $size
>  
> -_no_dump_exec $QEMU_IO -c "write -P 0x5a 0 512" -c "abort" "$TEST_IMG" 2>&1 
> | _filter_qemu_io
> +_subshell_exec $QEMU_IO -c "write -P 0x5a 0 512" \
> +                        -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \
> +    | _filter_qemu_io
>  
>  # The dirty bit must not be set since lazy_refcounts=off
>  $PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
> diff --git a/tests/qemu-iotests/039.out b/tests/qemu-iotests/039.out
> index 0adf153..35a04bd 100644
> --- a/tests/qemu-iotests/039.out
> +++ b/tests/qemu-iotests/039.out
> @@ -11,7 +11,7 @@ No errors were found on the image.
>  Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 
>  wrote 512/512 bytes at offset 0
>  512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -./039: Aborted                 ( ulimit -c 0; exec "$@" )
> +./039: Killed                  ( exec "$@" )
>  incompatible_features     0x1
>  ERROR cluster 5 refcount=0 reference=1
>  ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0
> @@ -46,7 +46,7 @@ read 512/512 bytes at offset 0
>  Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 
>  wrote 512/512 bytes at offset 0
>  512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -./039: Aborted                 ( ulimit -c 0; exec "$@" )
> +./039: Killed                  ( exec "$@" )
>  incompatible_features     0x1
>  ERROR cluster 5 refcount=0 reference=1
>  Rebuilding refcount structure
> @@ -60,7 +60,7 @@ incompatible_features     0x0
>  Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 
>  wrote 512/512 bytes at offset 0
>  512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -./039: Aborted                 ( ulimit -c 0; exec "$@" )
> +./039: Killed                  ( exec "$@" )
>  incompatible_features     0x0
>  No errors were found on the image.
>  
> -- 
> 1.9.3
> 

Reviewed-by: Fam Zheng <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]