[Top][All Lists]

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

Re: [Qemu-trivial] [PATCH v4] tests: Avoid non-portable 'echo -ARG'

From: Eric Blake
Subject: Re: [Qemu-trivial] [PATCH v4] tests: Avoid non-portable 'echo -ARG'
Date: Tue, 8 Aug 2017 15:46:20 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 08/08/2017 09:48 AM, Kevin Wolf wrote:

>>> Not completely sure why, but this broke the test with whitespace changes
>>> like this:
>>> -=== Running test case: mmap.elf -m 1.1M ===
>>> +=== Running test case: mmap.elf -m1.1M ===
>> I guess that means I'm not regularly running tests/multiboot?  Is it not
>> part of 'make check' or qemu-iotests?
> The problem is that it needs an i386 compiler to build the test kernels
> (and qemu-system-i386 or qemu-system-x86_64 binaries to execute them).
> I guess we could check these conditions, though, and skip the test if we
> can't produce i386 binaries.

And when you CAN run the test, it litters 'git status' of an in-tree
build with:

Untracked files:
  (use "git add <file>..." to include in what will be committed)


which ought to be fixed.

>> Ah, I see the problem, and it's insidious.  We're using "address@hidden", but
>> want to be using "...$*...".  $@ causes multiple arguments to be passed,
>> but printf %b is not concatenating those arguments; while $* uses only a
>> single argument.  We didn't notice it with echo -e, because echo inserts
>> a space between multiple arguments, just as you'd get a space with $*.
> The thing that completely confused me here is that printf doesn't just
> ignore additional arguments as I would have expected, but just starts
> over with the format string, so that it does kind of work with multiple
> arguments and fails only subtly.

Both echo and printf accept more than one argument, but only echo
injects an automatic space between those arguments in the output.

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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