[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-iotests: Fix _filter_qemu
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-iotests: Fix _filter_qemu |
Date: |
Tue, 16 Apr 2013 15:56:42 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 16.04.2013 um 15:16 hat Stefan Hajnoczi geschrieben:
> On Tue, Apr 16, 2013 at 06:26:38AM -0600, Eric Blake wrote:
> > On 04/16/2013 03:48 AM, Kevin Wolf wrote:
> > > $QEMU_PROG happens to be 'qemu' in my setup, so this sed command
> > > replaces a bit too much. Restrict it to the start of the line and to
> > > when it's followed by a colon, i.e. the form used by error messages.
> > >
> > > Signed-off-by: Kevin Wolf <address@hidden>
> > > ---
> > > tests/qemu-iotests/common.filter | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/tests/qemu-iotests/common.filter
> > > b/tests/qemu-iotests/common.filter
> > > index bc5f250..a7f889a 100644
> > > --- a/tests/qemu-iotests/common.filter
> > > +++ b/tests/qemu-iotests/common.filter
> > > @@ -155,7 +155,7 @@ _filter_qemu_io()
> > > # replace occurrences of QEMU_PROG with "qemu"
> > > _filter_qemu()
> > > {
> > > - sed -e "s#$(basename $QEMU_PROG)#QEMU_PROG#g"
> > > + sed -e "s#^$(basename $QEMU_PROG):#QEMU_PROG:#g"
> >
> > Why spawn a basename process, when you can use shell to do the same?
> > Also, the g modifier is worthless once you have a ^ anchor, since sed
> > can only replace one ^ per line. And you don't need sed's -e option for
> > a single script.
>
> sed -e is the convention in qemu-iotests.
>
> Dropping the 'g' would be nice.
Okay, I just updated the commit to drop the 'g'.
> The problem with the POSIX shell string replacement is that the syntax
> is horrible. I can never remember what ${%}, ${%%}, ${#} and
> %{##} do. $(basename $QEMU_PROG) is clear (although it doesn't handle
> spaces in the filename!).
That's exactly my problem as well.
Kevin