* [PATCH] iotests: Consistent $IMGOPTS boundary matching
@ 2021-02-10 9:51 Max Reitz
2021-02-10 15:03 ` Eric Blake
2021-02-12 12:32 ` Kevin Wolf
0 siblings, 2 replies; 3+ messages in thread
From: Max Reitz @ 2021-02-10 9:51 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz
To disallow certain refcount_bits values, some _unsupported_imgopts
invocations look like "refcount_bits=1[^0-9]", i.e. they match an
integer boundary with [^0-9]. This expression does not match the end of
the string, though, so it breaks down when refcount_bits is the last
option (which it tends to be after the rewrite of the check script in
Python).
Those invocations could use \b or \> instead, but those are not
portable. They could use something like \([^0-9]\|$\), but that would
be cumbersome. To make it simple and keep the existing invocations
working, just let _unsupported_imgopts match the regex against $IMGOPTS
plus a trailing space.
Suggested-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
Supersedes "iotests: Fix unsupported_imgopts for refcount_bits", and can
be reproduced in the same way:
$ ./check -qcow2 -o refcount_bits=1 7 15 29 58 62 66 68 80
(those tests should be skipped)
---
tests/qemu-iotests/common.rc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index 77c37e8312..65cdba5723 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -885,7 +885,9 @@ _unsupported_imgopts()
{
for bad_opt
do
- if echo "$IMGOPTS" | grep -q 2>/dev/null "$bad_opt"
+ # Add a space so tests can match for whitespace that marks the
+ # end of an option (\b or \> are not portable)
+ if echo "$IMGOPTS " | grep -q 2>/dev/null "$bad_opt"
then
_notrun "not suitable for image option: $bad_opt"
fi
--
2.29.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] iotests: Consistent $IMGOPTS boundary matching
2021-02-10 9:51 [PATCH] iotests: Consistent $IMGOPTS boundary matching Max Reitz
@ 2021-02-10 15:03 ` Eric Blake
2021-02-12 12:32 ` Kevin Wolf
1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2021-02-10 15:03 UTC (permalink / raw)
To: Max Reitz, qemu-block; +Cc: Kevin Wolf, qemu-devel
On 2/10/21 3:51 AM, Max Reitz wrote:
> To disallow certain refcount_bits values, some _unsupported_imgopts
> invocations look like "refcount_bits=1[^0-9]", i.e. they match an
> integer boundary with [^0-9]. This expression does not match the end of
> the string, though, so it breaks down when refcount_bits is the last
> option (which it tends to be after the rewrite of the check script in
> Python).
>
> Those invocations could use \b or \> instead, but those are not
> portable. They could use something like \([^0-9]\|$\), but that would
> be cumbersome. To make it simple and keep the existing invocations
> working, just let _unsupported_imgopts match the regex against $IMGOPTS
> plus a trailing space.
>
> Suggested-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> Supersedes "iotests: Fix unsupported_imgopts for refcount_bits", and can
> be reproduced in the same way:
>
> $ ./check -qcow2 -o refcount_bits=1 7 15 29 58 62 66 68 80
>
> (those tests should be skipped)
> ---
> tests/qemu-iotests/common.rc | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Much smaller fix ;)
Reviewed-by: Eric Blake <eblake@redhat.com>
>
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index 77c37e8312..65cdba5723 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -885,7 +885,9 @@ _unsupported_imgopts()
> {
> for bad_opt
> do
> - if echo "$IMGOPTS" | grep -q 2>/dev/null "$bad_opt"
> + # Add a space so tests can match for whitespace that marks the
> + # end of an option (\b or \> are not portable)
> + if echo "$IMGOPTS " | grep -q 2>/dev/null "$bad_opt"
> then
> _notrun "not suitable for image option: $bad_opt"
> fi
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] iotests: Consistent $IMGOPTS boundary matching
2021-02-10 9:51 [PATCH] iotests: Consistent $IMGOPTS boundary matching Max Reitz
2021-02-10 15:03 ` Eric Blake
@ 2021-02-12 12:32 ` Kevin Wolf
1 sibling, 0 replies; 3+ messages in thread
From: Kevin Wolf @ 2021-02-12 12:32 UTC (permalink / raw)
To: Max Reitz; +Cc: qemu-devel, qemu-block
Am 10.02.2021 um 10:51 hat Max Reitz geschrieben:
> To disallow certain refcount_bits values, some _unsupported_imgopts
> invocations look like "refcount_bits=1[^0-9]", i.e. they match an
> integer boundary with [^0-9]. This expression does not match the end of
> the string, though, so it breaks down when refcount_bits is the last
> option (which it tends to be after the rewrite of the check script in
> Python).
>
> Those invocations could use \b or \> instead, but those are not
> portable. They could use something like \([^0-9]\|$\), but that would
> be cumbersome. To make it simple and keep the existing invocations
> working, just let _unsupported_imgopts match the regex against $IMGOPTS
> plus a trailing space.
>
> Suggested-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
Thanks, applied to the block branch.
Kevin
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-02-12 12:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-10 9:51 [PATCH] iotests: Consistent $IMGOPTS boundary matching Max Reitz
2021-02-10 15:03 ` Eric Blake
2021-02-12 12:32 ` Kevin Wolf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).