Message ID | 1466938044-23916-1-git-send-email-omzg@plexistor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Jun 26, 2016 at 01:47:24PM +0300, Omer Zilberberg wrote: > Since coreutils v8.25, mknod errors omit quotes around filenames, and > this breaks generic/294's golden image. > > Checked on Ubuntu 16.04. > > See coreutils: 08e8fd7 all: avoid quoting file names when possible > https://github.com/coreutils/coreutils/commit/08e8fd7e38f2dae7c69c54eb22d508b6517e66e5 > > Signed-off-by: Omer Zilberberg <omzg@plexistor.com> It looks good to me. But I took a look at the above coreutils commit and noticed that many other commands are affected as well, like touch, cp, mv etc. Did you see other failures caused by other commands? If so, I'm thinking about a more generic way to fix it, rather than adding filters to each command. Something like fstests commit 774f4dd77534 ("xfstests: unify apostrophes in output files"). > --- > common/filter | 5 +++++ > tests/generic/294 | 2 +- > tests/generic/294.out | 2 +- > 3 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/common/filter b/common/filter > index 244621a..a16ef70 100644 > --- a/common/filter > +++ b/common/filter > @@ -385,5 +385,10 @@ _filter_od() > ' > } > Comment on why this filter is needed, like most other filters do, e.g. _filter_fstrim, _filter_ro_mount Thanks, Eryu > +_filter_mknod() > +{ > + sed -e "s/mknod: '\(.*\)': File exists/mknod: \1: File exists/" > +} > + > # make sure this script returns success > /bin/true > diff --git a/tests/generic/294 b/tests/generic/294 > index 3fa6ba2..fb5d9aa 100755 > --- a/tests/generic/294 > +++ b/tests/generic/294 > @@ -55,7 +55,7 @@ THIS_TEST_DIR=$SCRATCH_MNT/$seq.test > > _create_files() > { > - mknod $THIS_TEST_DIR/testnode c 1 3 > + mknod $THIS_TEST_DIR/testnode c 1 3 2>&1 | _filter_mknod > mkdir $THIS_TEST_DIR/testdir > touch $THIS_TEST_DIR/testtarget > ln -s $THIS_TEST_DIR/testtarget $THIS_TEST_DIR/testlink 2>&1 | _filter_ln > diff --git a/tests/generic/294.out b/tests/generic/294.out > index 1ac1c67..7802472 100644 > --- a/tests/generic/294.out > +++ b/tests/generic/294.out > @@ -1,5 +1,5 @@ > QA output created by 294 > -mknod: 'SCRATCH_MNT/294.test/testnode': File exists > +mknod: SCRATCH_MNT/294.test/testnode: File exists > mkdir: cannot create directory 'SCRATCH_MNT/294.test/testdir': File exists > touch: cannot touch 'SCRATCH_MNT/294.test/testtarget': Read-only file system > ln: creating symbolic link 'SCRATCH_MNT/294.test/testlink': File exists > -- > 2.5.5 > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 06/27/2016 06:15 AM, Eryu Guan wrote: > On Sun, Jun 26, 2016 at 01:47:24PM +0300, Omer Zilberberg wrote: >> Since coreutils v8.25, mknod errors omit quotes around filenames, and >> this breaks generic/294's golden image. >> >> Checked on Ubuntu 16.04. >> >> See coreutils: 08e8fd7 all: avoid quoting file names when possible >> https://github.com/coreutils/coreutils/commit/08e8fd7e38f2dae7c69c54eb22d508b6517e66e5 >> >> Signed-off-by: Omer Zilberberg <omzg@plexistor.com> > > It looks good to me. But I took a look at the above coreutils commit and > noticed that many other commands are affected as well, like touch, cp, > mv etc. > > Did you see other failures caused by other commands? If so, I'm > thinking about a more generic way to fix it, rather than adding filters > to each command. Something like fstests commit 774f4dd77534 ("xfstests: > unify apostrophes in output files"). Surprisingly no, even though I was expecting more failures.. However, I usually run only the 'generic' tests. I'll try running xfs and btrfs tests on that system, see whether something comes up. > >> --- >> common/filter | 5 +++++ >> tests/generic/294 | 2 +- >> tests/generic/294.out | 2 +- >> 3 files changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/common/filter b/common/filter >> index 244621a..a16ef70 100644 >> --- a/common/filter >> +++ b/common/filter >> @@ -385,5 +385,10 @@ _filter_od() >> ' >> } >> > > Comment on why this filter is needed, like most other filters do, e.g. > _filter_fstrim, _filter_ro_mount Agreed, I will send v2 if nothing else comes up in xfs and btrfs reruns. > > Thanks, > Eryu > >> +_filter_mknod() >> +{ >> + sed -e "s/mknod: '\(.*\)': File exists/mknod: \1: File exists/" >> +} >> + >> # make sure this script returns success >> /bin/true >> diff --git a/tests/generic/294 b/tests/generic/294 >> index 3fa6ba2..fb5d9aa 100755 >> --- a/tests/generic/294 >> +++ b/tests/generic/294 >> @@ -55,7 +55,7 @@ THIS_TEST_DIR=$SCRATCH_MNT/$seq.test >> >> _create_files() >> { >> - mknod $THIS_TEST_DIR/testnode c 1 3 >> + mknod $THIS_TEST_DIR/testnode c 1 3 2>&1 | _filter_mknod >> mkdir $THIS_TEST_DIR/testdir >> touch $THIS_TEST_DIR/testtarget >> ln -s $THIS_TEST_DIR/testtarget $THIS_TEST_DIR/testlink 2>&1 | _filter_ln >> diff --git a/tests/generic/294.out b/tests/generic/294.out >> index 1ac1c67..7802472 100644 >> --- a/tests/generic/294.out >> +++ b/tests/generic/294.out >> @@ -1,5 +1,5 @@ >> QA output created by 294 >> -mknod: 'SCRATCH_MNT/294.test/testnode': File exists >> +mknod: SCRATCH_MNT/294.test/testnode: File exists >> mkdir: cannot create directory 'SCRATCH_MNT/294.test/testdir': File exists >> touch: cannot touch 'SCRATCH_MNT/294.test/testtarget': Read-only file system >> ln: creating symbolic link 'SCRATCH_MNT/294.test/testlink': File exists >> -- >> 2.5.5 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe fstests" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 06/27/2016 09:57 AM, Omer Zilberberg wrote: > On 06/27/2016 06:15 AM, Eryu Guan wrote: >> On Sun, Jun 26, 2016 at 01:47:24PM +0300, Omer Zilberberg wrote: >>> Since coreutils v8.25, mknod errors omit quotes around filenames, and >>> this breaks generic/294's golden image. >>> >>> Checked on Ubuntu 16.04. >>> >>> See coreutils: 08e8fd7 all: avoid quoting file names when possible >>> https://github.com/coreutils/coreutils/commit/08e8fd7e38f2dae7c69c54eb22d508b6517e66e5 >>> >>> Signed-off-by: Omer Zilberberg <omzg@plexistor.com> >> >> It looks good to me. But I took a look at the above coreutils commit and >> noticed that many other commands are affected as well, like touch, cp, >> mv etc. >> >> Did you see other failures caused by other commands? If so, I'm >> thinking about a more generic way to fix it, rather than adding filters >> to each command. Something like fstests commit 774f4dd77534 ("xfstests: >> unify apostrophes in output files"). > Surprisingly no, even though I was expecting more failures.. > However, I usually run only the 'generic' tests. > I'll try running xfs and btrfs tests on that system, see whether something comes up. Could not run all tests on my env, but what I did run did not fail on quotation issues. I've also tried to run failing instances of cp, touch, chown manually. All error messages I saw had quotes in them. So I think we should keep this specific for mknod for the time being, until this proves to be a bigger issue... >> >>> --- >>> common/filter | 5 +++++ >>> tests/generic/294 | 2 +- >>> tests/generic/294.out | 2 +- >>> 3 files changed, 7 insertions(+), 2 deletions(-) >>> >>> diff --git a/common/filter b/common/filter >>> index 244621a..a16ef70 100644 >>> --- a/common/filter >>> +++ b/common/filter >>> @@ -385,5 +385,10 @@ _filter_od() >>> ' >>> } >>> >> >> Comment on why this filter is needed, like most other filters do, e.g. >> _filter_fstrim, _filter_ro_mount > Agreed, I will send v2 if nothing else comes up in xfs and btrfs reruns. Sending v2 now. >> >> Thanks, >> Eryu Thank you >> >>> +_filter_mknod() >>> +{ >>> + sed -e "s/mknod: '\(.*\)': File exists/mknod: \1: File exists/" >>> +} >>> + >>> # make sure this script returns success >>> /bin/true >>> diff --git a/tests/generic/294 b/tests/generic/294 >>> index 3fa6ba2..fb5d9aa 100755 >>> --- a/tests/generic/294 >>> +++ b/tests/generic/294 >>> @@ -55,7 +55,7 @@ THIS_TEST_DIR=$SCRATCH_MNT/$seq.test >>> >>> _create_files() >>> { >>> - mknod $THIS_TEST_DIR/testnode c 1 3 >>> + mknod $THIS_TEST_DIR/testnode c 1 3 2>&1 | _filter_mknod >>> mkdir $THIS_TEST_DIR/testdir >>> touch $THIS_TEST_DIR/testtarget >>> ln -s $THIS_TEST_DIR/testtarget $THIS_TEST_DIR/testlink 2>&1 | _filter_ln >>> diff --git a/tests/generic/294.out b/tests/generic/294.out >>> index 1ac1c67..7802472 100644 >>> --- a/tests/generic/294.out >>> +++ b/tests/generic/294.out >>> @@ -1,5 +1,5 @@ >>> QA output created by 294 >>> -mknod: 'SCRATCH_MNT/294.test/testnode': File exists >>> +mknod: SCRATCH_MNT/294.test/testnode: File exists >>> mkdir: cannot create directory 'SCRATCH_MNT/294.test/testdir': File exists >>> touch: cannot touch 'SCRATCH_MNT/294.test/testtarget': Read-only file system >>> ln: creating symbolic link 'SCRATCH_MNT/294.test/testlink': File exists >>> -- >>> 2.5.5 >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe fstests" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/common/filter b/common/filter index 244621a..a16ef70 100644 --- a/common/filter +++ b/common/filter @@ -385,5 +385,10 @@ _filter_od() ' } +_filter_mknod() +{ + sed -e "s/mknod: '\(.*\)': File exists/mknod: \1: File exists/" +} + # make sure this script returns success /bin/true diff --git a/tests/generic/294 b/tests/generic/294 index 3fa6ba2..fb5d9aa 100755 --- a/tests/generic/294 +++ b/tests/generic/294 @@ -55,7 +55,7 @@ THIS_TEST_DIR=$SCRATCH_MNT/$seq.test _create_files() { - mknod $THIS_TEST_DIR/testnode c 1 3 + mknod $THIS_TEST_DIR/testnode c 1 3 2>&1 | _filter_mknod mkdir $THIS_TEST_DIR/testdir touch $THIS_TEST_DIR/testtarget ln -s $THIS_TEST_DIR/testtarget $THIS_TEST_DIR/testlink 2>&1 | _filter_ln diff --git a/tests/generic/294.out b/tests/generic/294.out index 1ac1c67..7802472 100644 --- a/tests/generic/294.out +++ b/tests/generic/294.out @@ -1,5 +1,5 @@ QA output created by 294 -mknod: 'SCRATCH_MNT/294.test/testnode': File exists +mknod: SCRATCH_MNT/294.test/testnode: File exists mkdir: cannot create directory 'SCRATCH_MNT/294.test/testdir': File exists touch: cannot touch 'SCRATCH_MNT/294.test/testtarget': Read-only file system ln: creating symbolic link 'SCRATCH_MNT/294.test/testlink': File exists
Since coreutils v8.25, mknod errors omit quotes around filenames, and this breaks generic/294's golden image. Checked on Ubuntu 16.04. See coreutils: 08e8fd7 all: avoid quoting file names when possible https://github.com/coreutils/coreutils/commit/08e8fd7e38f2dae7c69c54eb22d508b6517e66e5 Signed-off-by: Omer Zilberberg <omzg@plexistor.com> --- common/filter | 5 +++++ tests/generic/294 | 2 +- tests/generic/294.out | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-)