qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 11/12] qemu-iotests: Be more flexible with image


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 11/12] qemu-iotests: Be more flexible with image creation options
Date: Mon, 06 Aug 2012 15:54:07 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0

On 08/06/2012 02:44 PM, Kevin Wolf wrote:
> qemu-iotests already filters out image creation options that may be
> present or not in order to get the same output in both cases. However,
> often it only considers the default value of the option. Cover all valid
> values instead so that ./check -o name=value can be used successfull for
> all of them.
> 

> +++ b/tests/qemu-iotests/common.rc
> @@ -110,11 +110,11 @@ _make_test_img()
>       sed -e "s#$IMGFMT#IMGFMT#g" | \
>       sed -e "s# encryption=off##g" | \
>       sed -e "s# cluster_size=[0-9]\\+##g" | \
> -     sed -e "s# table_size=0##g" | \
> +     sed -e "s# table_size=[0-9]\\+##g" | \

Technically, use of \+ in a sed expression is undefined by POSIX.

>       sed -e "s# compat='[^']*'##g" | \
> -     sed -e "s# compat6=off##g" | \
> -     sed -e "s# static=off##g" | \
> -     sed -e "s# lazy_refcounts=off##g"
> +     sed -e "s# compat6=\\(on\\|off\\)##g" | \

Likewise for use of \(, \|, and \).

If you were worried about strict POSIX compliance, you could rewrite
these to use similar expressions that are limited to portable sed:

sed -e "s# table_size=[0-9][0-9]*##g"
sed -e "s# compat6=o[nf]*##g"

(and if the difference of wiping unlikely things like compat6=onfnfn
really matters to one of our tests, then we've got some UI to improve.)
 But since this is the testsuite, which will run primarily on systems
with GNU sed where all four extensions are commonly present for
selecting features of ERE on top of the POSIX-mandated BRE syntax used
by sed, and where encountering a non-GNU sed that doesn't have the same
extensions will probably result in a noisy testsuite failure rather than
silent disk corruption, I'm okay overlooking this non-portable aspect
for now.  (Not to mention that you're not the first offender, seeing
that cluster_size earlier in the context also used \+.)

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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