[Qemu-devel] [PATCH for-2.10] tests/multiboot: Fix whitespace failure

Eric Blake posted 1 patch 6 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170808143416.3581-1-eblake@redhat.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
tests/multiboot/run_test.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH for-2.10] tests/multiboot: Fix whitespace failure
Posted by Eric Blake 6 years, 7 months ago
Commit b43671f8 accidentally broke run_test.sh within tests/multiboot;
due to a subtle change in whitespace.

These two commands produce theh same output (at least, for sane $IFS
of space-tab-newline):

echo -e "...$@..."
echo -e "...$*..."

But that's only because echo inserts spaces between multiple arguments
(the $@ case), while the $* form gives a single argument to echo with
the spaces already present.

But when converting to printf %b, there are no automatic spaces between
multiple arguments, so we HAVE to use $*.

It doesn't help that run_test.sh isn't part of 'make check'.

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 tests/multiboot/run_test.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/multiboot/run_test.sh b/tests/multiboot/run_test.sh
index c8f3da8f37..0278148b43 100755
--- a/tests/multiboot/run_test.sh
+++ b/tests/multiboot/run_test.sh
@@ -26,7 +26,7 @@ run_qemu() {
     local kernel=$1
     shift

-    printf %b "\n\n=== Running test case: $kernel $@ ===\n\n" >> test.log
+    printf %b "\n\n=== Running test case: $kernel $* ===\n\n" >> test.log

     $QEMU \
         -kernel $kernel \
-- 
2.13.4


Re: [Qemu-devel] [Qemu-block] [PATCH for-2.10] tests/multiboot: Fix whitespace failure
Posted by John Snow 6 years, 7 months ago
No replies that I can see, but merged as:

01a02ec4f6b6a12df7acfb6ad820b384b48cbf70 tests/multiboot: Fix whitespace
failure

Thanks

On 08/08/2017 10:34 AM, Eric Blake wrote:
> Commit b43671f8 accidentally broke run_test.sh within tests/multiboot;
> due to a subtle change in whitespace.
> 
> These two commands produce theh same output (at least, for sane $IFS
> of space-tab-newline):
> 
> echo -e "...$@..."
> echo -e "...$*..."
> 
> But that's only because echo inserts spaces between multiple arguments
> (the $@ case), while the $* form gives a single argument to echo with
> the spaces already present.
> 
> But when converting to printf %b, there are no automatic spaces between
> multiple arguments, so we HAVE to use $*.
> 
> It doesn't help that run_test.sh isn't part of 'make check'.
> 
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
>  tests/multiboot/run_test.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/multiboot/run_test.sh b/tests/multiboot/run_test.sh
> index c8f3da8f37..0278148b43 100755
> --- a/tests/multiboot/run_test.sh
> +++ b/tests/multiboot/run_test.sh
> @@ -26,7 +26,7 @@ run_qemu() {
>      local kernel=$1
>      shift
> 
> -    printf %b "\n\n=== Running test case: $kernel $@ ===\n\n" >> test.log
> +    printf %b "\n\n=== Running test case: $kernel $* ===\n\n" >> test.log
> 
>      $QEMU \
>          -kernel $kernel \
>