qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 06/17] iotests: Drop format-specific in _filter_


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH 06/17] iotests: Drop format-specific in _filter_img_info
Date: Thu, 30 Nov 2017 14:22:18 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

On 2017-11-30 04:16, Fam Zheng wrote:
> On Thu, 11/23 03:08, Max Reitz wrote:
>> _filter_img_info should remove format-specific information, too.  We
>> already have such a filter in _img_info, and it is very useful for
>> query-block-named-block-nodes (etc.), too.
>>
>> However, in 198 we need that information (but we still want the rest of
>> the filter), so make that filtering optional.  Note that "the rest of
>> the filter" includes filtering of the test directory, so we can drop the
>> _filter_testdir from 198 at the same time.
>>
>> Signed-off-by: Max Reitz <address@hidden>
>> ---
>>  tests/qemu-iotests/198           |  6 ++++--
>>  tests/qemu-iotests/common.filter | 29 ++++++++++++++++++++++++++++-
>>  2 files changed, 32 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/qemu-iotests/198 b/tests/qemu-iotests/198
>> index 34ef666381..a84a058396 100755
>> --- a/tests/qemu-iotests/198
>> +++ b/tests/qemu-iotests/198
>> @@ -91,11 +91,13 @@ $QEMU_IO --object $SECRET0 --object $SECRET1 -c "read -P 
>> 0x9 0 $size" --image-op
>>  
>>  echo
>>  echo "== checking image base =="
>> -$QEMU_IMG info --image-opts $IMGSPECBASE | _filter_img_info | 
>> _filter_testdir | sed -e "/^disk size:/ D"
>> +$QEMU_IMG info --image-opts $IMGSPECBASE | _filter_img_info 
>> --format-specific \
>> +    | sed -e "/^disk size:/ D"
>>  
>>  echo
>>  echo "== checking image layer =="
>> -$QEMU_IMG info --image-opts $IMGSPECLAYER | _filter_img_info | 
>> _filter_testdir | sed -e "/^disk size:/ D"
>> +$QEMU_IMG info --image-opts $IMGSPECLAYER | _filter_img_info 
>> --format-specific \
>> +    | sed -e "/^disk size:/ D"
>>  
>>  
>>  # success, all done
>> diff --git a/tests/qemu-iotests/common.filter 
>> b/tests/qemu-iotests/common.filter
>> index d9237799e9..0c0e53fae7 100644
>> --- a/tests/qemu-iotests/common.filter
>> +++ b/tests/qemu-iotests/common.filter
>> @@ -139,6 +139,15 @@ _filter_img_create()
>>  
>>  _filter_img_info()
>>  {
>> +    if [[ "$1" == "--format-specific" ]]; then
>> +        local format_specific=1
>> +        shift
>> +    else
>> +        local format_specific=0
>> +    fi
>> +
>> +    discard=0
>> +    regex_json_spec_start='^ *"format-specific": \{'
>>      sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
>>          -e "s#$TEST_DIR#TEST_DIR#g" \
>>          -e "s#$IMGFMT#IMGFMT#g" \
>> @@ -159,7 +168,25 @@ _filter_img_info()
>>          -e "/block_state_zero: \\(on\\|off\\)/d" \
>>          -e "/log_size: [0-9]\\+/d" \
>>          -e "s/iters: [0-9]\\+/iters: 1024/" \
>> -        -e "s/uuid: [-a-f0-9]\\+/uuid: 
>> 00000000-0000-0000-0000-000000000000/"
>> +        -e "s/uuid: [-a-f0-9]\\+/uuid: 
>> 00000000-0000-0000-0000-000000000000/" | \
>> +    while IFS='' read -r line; do
>> +        if [[ $format_specific == 1 ]]; then
>> +            discard=0
>> +        elif [[ $line == "Format specific information:" ]]; then
>> +            discard=1
>> +        elif [[ $line =~ $regex_json_spec_start ]]; then
>> +            discard=2
>> +            regex_json_spec_end="^${line%%[^ ]*}\\},? *$"
>> +        fi
>> +        if [[ $discard == 0 ]]; then
>> +            echo "$line"
>> +        elif [[ $discard == 1 && ! $line ]]; then
> 
> s/\$line/"\$line"/ ?
> 
>> +            echo
>> +            discard=0
>> +        elif [[ $discard == 2 && $line =~ $regex_json_spec_end ]]; then
> 
> Ditto.

It's in double brackets, so it should be fine.

(I just copied it from _img_info in common.rc, and that was reviewed by
Eric, so I assume it's fine. :-))

Max

>> +            discard=0
>> +        fi
>> +    done
>>  }
>>  
>>  # filter out offsets and file names from qemu-img map; good for both
>> -- 
>> 2.13.6
>>


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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