From: Eric Blake <eblake@redhat.com>
To: Max Reitz <mreitz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 1/7] iotests: Allow out-of-tree run
Date: Fri, 16 May 2014 09:09:38 -0600 [thread overview]
Message-ID: <53762A32.1070407@redhat.com> (raw)
In-Reply-To: <5376241A.3050904@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]
On 05/16/2014 08:43 AM, Max Reitz wrote:
>>> + source_iotests="$(cd "$(dirname "$(readlink "$0")")"; pwd)"
>> This is potentially dangerous. If readlink or dirname fails, you can
>> invoke cd "" (which on bash is stupidly a no-op instead of an error),
>> and end up calling pwd in the wrong directory. But in the common case
>> it works, so I'm not sure it's worth bending over backwards to make it
>> more robust.
>
> I guess using something like
>
> source_iotests="$(dirname "$(readlink "$0")")"; if [ -z "$source_iotests" ]; then; /* abort */; fi;
> source_iotests="$(cd "$dirname"; pwd)"
>
> should work better, then?
Or even safer with
source_iotests=$(cd "$dirname" && pwd) || /* abort */
in the second step, to ensure both the cd and pwd commands succeeded.
(By the way, assignment context does not require "" when passing a
single shell word, such as command substitution, so foo=$(...) and
foo="$(...)" are identical)
>
>> Is [ ! '(' -o ')' ] true or false? Depends on whether it was parsed as {
>> ! '(' } -o ')' (false -o true => true) or as ! { '(' -o ')' } (! (true
>> -o true) => false)
>>
>> But this is bash, so you could do:
>>
>> if [[ $arch && -x $build_root/$arch-softmmu/qemu-system-$arch ]]
>>
>> for less typing, and no risk of [] ambiguity.
>
> If you're telling me I'm free to use bashisms, I'll believe you. :-)
Well, the script IS being run by /bin/bash, and you already ARE using
bashisms elsewhere.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2014-05-16 15:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 22:26 [Qemu-devel] [PATCH 0/7] iotests: Allow out-of-tree run Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 1/7] " Max Reitz
2014-05-15 22:52 ` Eric Blake
2014-05-16 14:43 ` Max Reitz
2014-05-16 15:09 ` Eric Blake [this message]
2014-05-16 15:11 ` Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 2/7] configure: Enable out-of-tree iotests Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 3/7] iotests: Add default common.env Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 4/7] iotests: Source common.env Max Reitz
2014-05-16 7:40 ` Fam Zheng
2014-05-16 14:49 ` Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 5/7] iotests: Use $PYTHON for Python scripts Max Reitz
2014-05-16 7:54 ` Fam Zheng
2014-05-16 14:52 ` Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 6/7] iotests: Drop Python version from 065's Shebang Max Reitz
2014-05-15 22:26 ` [Qemu-devel] [PATCH 7/7] iotests: Fix 083 for out-of-tree builds Max Reitz
2014-05-16 8:06 ` [Qemu-devel] [PATCH 0/7] iotests: Allow out-of-tree run Fam Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53762A32.1070407@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.