[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 1/6] iotests: allow Valgrind checking all QEM
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v6 1/6] iotests: allow Valgrind checking all QEMU processes |
Date: |
Wed, 28 Aug 2019 19:30:48 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 8/28/19 5:58 PM, John Snow wrote:
>> +++ b/tests/qemu-iotests/common.rc
>> @@ -60,61 +60,132 @@ if ! . ./common.config
>> exit 1
>> fi
>>
>> +# Unset the variables to turn Valgrind off for specific processes, e.g.
That's not unsetting, that's setting to the empty string.
>> +# $ VALGRIND_QEMU_IO= ./check -qcow2 -valgrind 015
>> +
>> +: ${VALGRIND_QEMU_VM='y'}
>> +: ${VALGRIND_QEMU_IMG='y'}
>> +: ${VALGRIND_QEMU_IO='y'}
>> +: ${VALGRIND_QEMU_NBD='y'}
>> +: ${VALGRIND_QEMU_VXHS='y'}
>> +
>
> I have to admit to you that I'm not familiar with this trick. I'm
> looking it up and I see := documented, but not = alone.
It's been a repeated complaint to the bash developer that the manual is
doing a disservice to its users by not documenting ${var=val} in an
easily searchable form. It IS documented, but only by virtue of
${var:=val} occurring under a section header that states:
When not performing substring expansion, using the forms
documented
below (e.g., :-), bash tests for a parameter that is unset or
null.
Omitting the colon results in a test only for a parameter
that is
unset.
So the choice is whether you want to special case a variable set to an
empty string the same as an unset variable, or the same as a variable
with a non-empty value.
>
> It doesn't seem documented here at all:
> https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
>
> I see it here, though:
> https://www.tldp.org/LDP/abs/html/parameter-substitution.html
>
> And it seems to work, but I'm not sure if this works with BSD or OSX's
> sh. I see Eric comment on that compatibility a lot, so maybe I'll let
> him chime in.
It's quite portable; POSIX requires it, and autoconf relies on it.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v6 0/6] Allow Valgrind checking all QEMU processes, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 3/6] iotests: Add casenotrun report to bash tests, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 2/6] iotests: exclude killed processes from running under Valgrind, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 6/6] iotests: extend sleeping time under Valgrind, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 5/6] iotests: extended timeout under Valgrind, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 4/6] iotests: Valgrind fails with nonexistent directory, Andrey Shinkevich, 2019/08/26
- [Qemu-devel] [PATCH v6 1/6] iotests: allow Valgrind checking all QEMU processes, Andrey Shinkevich, 2019/08/26