Re: [PATCH] xfstests 273: fix a typo

David Sterba
2013-03-07T11:06:10Z

On Thu, Mar 07, 2013 at 02:38:49PM +1100, Dave Chinner wrote:
> On Thu, Mar 07, 2013 at 12:22:22AM +0100, David Sterba wrote:
> > On Wed, Feb 27, 2013 at 02:47:54PM +0800, Wang Sheng-Hui wrote:
> > > - cp -r $SCRATCH_MNT/origin $SCRATCH_MNT/sub_$_suffix >$seq.full 2>&1
> > > + cp -r $SCRATCH_MNT/origin $SCRATCH_MNT/sub_$_suffix >>$seq.full 2>&1

This is quote from the mail, but the merged patch does something else.

> > +./273: line 95: syntax error near unexpected token `&'
> > +./273: line 95: ` cp -r $SCRATCH_MNT/origin $SCRATCH_MNT/sub_$_suffix >$seq.full 2>>&1'
> > +umount: /dev/sda9: not mounted

> that seems rather strange. The patch does this:
>
> ....sub_$_suffix >>$seq.full 2>&1

http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfstests.git;a=commitdiff;h=0c5e67e46e476b70290033efc7feb784f7ecbab1;hp=08557e219c12e573be459407033495899f46967a

--- a/273
+++ b/273
@@ -92,7 +92,7 @@ _porter()
exit
fi

- cp -r $SCRATCH_MNT/origin $SCRATCH_MNT/sub_$_suffix >$seq.full 2>&1
+ cp -r $SCRATCH_MNT/origin $SCRATCH_MNT/sub_$_suffix >$seq.full 2>>&1
if [ $? -ne 0 ]
then
echo "_porter $_suffix not complete"
---

> and the error output you see is
>
> ....sub_$_suffix >$seq.full 2>>&1
>
> So it doesn't look lie you are running with the change that is
> actually in the patch...

There's a difference between the patch in mail and what has been merged, that
can happen, but I wonder why it works on your side.

Minimal reproducer that I used on machines with never bash:
---
touch origin
cp -r origin target >seq.full 2>>&1
---
bash --version: GNU bash, version 4.2.24(1)-release
and fails the same way.

> GNU bash, version 4.2.37(1)-release

I've checked bash sources (no git, just tar + context diff patches), there's no
apparent fix between 24-37 for that.

(Also tried to build a git tree, but filterdiff did not produce 1:1 unified
format of the separate patches and there are lots of conflicts).

If possible, I'd like avoid forcing a minimal version of bash, as the
enterprise distros do not always ship the latest ones, and this break the tests
unnecessarily.

david