From: tu bo <tubo@linux.vnet.ibm.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, mreitz@redhat.com, mimu@linux.vnet.ibm.com,
armbru@redhat.com, silbe@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH v1 1/4] qemu-iotests: refine common.config
Date: Tue, 3 Nov 2015 14:42:14 +0800 [thread overview]
Message-ID: <56385746.90404@linux.vnet.ibm.com> (raw)
In-Reply-To: <5633AAB3.50606@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 4000 bytes --]
Hi Eric:
thanks for your review.
On 10/31/2015 01:36 AM, Eric Blake wrote:
> On 10/30/2015 01:13 AM, Bo Tu wrote:
>> Be easier to read, and be slightly shorter.
> You mentioned a very short "what" in the subject line (good), but the
> "why" in the commit body ("easier to read, shorter") is rather terse and
> subjective. It would be nicer to go into details (change the definition
> of default_alias_machine) or give a sample of what changes (use grep
> instead of awk).
I agree with you. Adding more details as below,
Replacing sed with awk, then it's easier to read.
Replacing "[ ! -z "$default_alias_machine" ]" with "[[ $default_alias_machine ]]",
then it's slightly shorter.
>
> [meta-comment]
>
> When sending a series, please include a 0/4 cover letter. You may want
> to do:
> git config format.coverLetter auto
> to make it automatic when using git format-patch/send-email.
My understanding is that cover letter is needed if the patch set is a little bit complicated.
Cover letter is not needed if patch set just has minor change and comment is already in the
git message for every patch.
If my understanding above is wrong, please correct me. I just hope to be more clear about process :-)
>> Suggested-By: Sascha Silbe <silbe@linux.vnet.ibm.com>
>> Reviewed-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
>> Signed-off-by: Bo Tu <tubo@linux.vnet.ibm.com>
>> ---
>> tests/qemu-iotests/common.config | 7 +++----
>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config
>> index 596bb2b..0a165e8 100644
>> --- a/tests/qemu-iotests/common.config
>> +++ b/tests/qemu-iotests/common.config
>> @@ -129,10 +129,9 @@ export QEMU_IO=_qemu_io_wrapper
>> export QEMU_NBD=_qemu_nbd_wrapper
>>
>> default_machine=$($QEMU -machine \? | awk '/(default)/{print $1}')
>> -default_alias_machine=$($QEMU -machine \? |\
>> - awk -v var_default_machine="$default_machine"\)\
>> - '{if ($(NF-2)=="(alias"&&$(NF-1)=="of"&&$(NF)==var_default_machine){print $1}}')
>> -if [ ! -z "$default_alias_machine" ]; then
>> +default_alias_machine=$($QEMU -machine \? \
> As long as we are touching this, we ought to switch to using '-machine
> help' rather than the deprecated '-machine \?'.
thanks to point this.
>
>> + | grep -F "(alias of ${default_machine})" |cut -d ' ' -f 1 |head -n 1)
> Why are you moving the | across lines?
thanks to point this
>
> If we are rewriting to avoid awk, why not do it with a single sed
> process, rather than a grep|cut|head pipeline? For that matter, why not
> rewrite default_machine to also avoid awk?
The goal is not to avoid awk. The line of default_machine is easy to read, but the
line of default_alias_machine as below is not easy to read, that's why Sascha
suggest me to change it for the line of default_alias_machine.
/-default_alias_machine=$($QEMU -machine \? |\ - awk -v
var_default_machine="$default_machine"\)\ - '{if
($(NF-2)=="(alias"&&$(NF-1)=="of"&&$(NF)==var_default_machine){print $1}}')/
>
> default_machine=$($QEMU -machine help | sed -n '/(default)/ s/ .*//p')
> default_alias_machine=$($QEMU -machine help | \
> sed -n "/(alias of $default_machine)"' { s/ .*//p; q; }')
>
> (which happens to work even if $default_machine contains '.', but might
> get a bit dicey if the machine names could ever contain ?, [, *, or
> other regex metacharacters)
I like the single sed process. However, I got error message as below after running it,
/sed: -e expression #1, char 38: unknown command: `.' /I guess you missed a '/' which is marked as red as below, So I change it as below,
/default_machine=$($QEMU -machine help | sed -n '/(default)/ s/ .*//p')
default_alias_machine=$($QEMU -machine help | \ sed -n "/(alias of
$default_machine)"/' { s/ .*//p; q; }') /
>
>> +if [ -n "$default_alias_machine" ]; then
> Could shorten this to:
>
> if [[ $default_alias_machine ]]; then
thanks to point this.
>
> since we are already using bash.
>
[-- Attachment #2: Type: text/html, Size: 5809 bytes --]
next prev parent reply other threads:[~2015-11-03 6:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-30 7:13 [Qemu-devel] [PATCH v1 1/4] qemu-iotests: refine common.config Bo Tu
2015-10-30 7:13 ` [Qemu-devel] [PATCH v1 2/4] qemu-iotests: s390x: fix test 051 Bo Tu
2015-10-30 7:13 ` [Qemu-devel] [PATCH v1 3/4] qemu-iotests: s390x: fix test 068 Bo Tu
2015-10-30 7:13 ` [Qemu-devel] [PATCH v1 4/4] qemu-iotests: disable VNC server for test 120 Bo Tu
2015-10-30 17:36 ` [Qemu-devel] [PATCH v1 1/4] qemu-iotests: refine common.config Eric Blake
2015-11-03 6:42 ` tu bo [this message]
2015-11-03 14:59 ` Eric Blake
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=56385746.90404@linux.vnet.ibm.com \
--to=tubo@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=mimu@linux.vnet.ibm.com \
--cc=mreitz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=silbe@linux.vnet.ibm.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 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).