diff mbox

[v2] generic/294: filter quotes from mknod

Message ID 1467032008-16374-1-git-send-email-omzg@plexistor.com (mailing list archive)
State New, archived
Headers show

Commit Message

Omer Zilberberg June 27, 2016, 12:53 p.m. UTC
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>

v2: added comment to _filter_mknod.
---
 common/filter         | 7 +++++++
 tests/generic/294     | 2 +-
 tests/generic/294.out | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

Comments

Eryu Guan June 28, 2016, 3:30 a.m. UTC | #1
On Mon, Jun 27, 2016 at 03:53:28PM +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>

Thanks for all the testing! I've queued it up for next pull request.

> 
> v2: added comment to _filter_mknod.

This should go under the "---" below so the revision history doesn't go
to commit log :)

Thanks,
Eryu

> ---
>  common/filter         | 7 +++++++
>  tests/generic/294     | 2 +-
>  tests/generic/294.out | 2 +-
>  3 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/common/filter b/common/filter
> index 244621a..8d9f489 100644
> --- a/common/filter
> +++ b/common/filter
> @@ -385,5 +385,12 @@ _filter_od()
>  	'
>  }
>  
> +# Remove quotes from failed mknod calls. Starting with Coreutils v8.25,
> +# mknod errors print unquoted filenames
> +_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
Dave Chinner June 29, 2016, 6:15 a.m. UTC | #2
On Mon, Jun 27, 2016 at 03:53:28PM +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>
> 
> v2: added comment to _filter_mknod.
> ---
>  common/filter         | 7 +++++++
>  tests/generic/294     | 2 +-
>  tests/generic/294.out | 2 +-
>  3 files changed, 9 insertions(+), 2 deletions(-)

$ git grep -l mknod common/ tests/
common/dmflakey
common/populate
tests/btrfs/004
tests/generic/062
tests/generic/085
tests/generic/117
tests/generic/157
tests/generic/158
tests/generic/184
tests/generic/294
tests/generic/294.out
tests/generic/306
tests/overlay/003
tests/xfs/106
$

Do any of these other tests that call mknod need this filtering?

Cheers,

Dave.
Omer Zilberberg June 29, 2016, 6:27 a.m. UTC | #3
On 06/29/2016 09:15 AM, Dave Chinner wrote:
> On Mon, Jun 27, 2016 at 03:53:28PM +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>
>>
>> v2: added comment to _filter_mknod.
>> ---
>>  common/filter         | 7 +++++++
>>  tests/generic/294     | 2 +-
>>  tests/generic/294.out | 2 +-
>>  3 files changed, 9 insertions(+), 2 deletions(-)
> 
> $ git grep -l mknod common/ tests/
> common/dmflakey
> common/populate
> tests/btrfs/004
> tests/generic/062
> tests/generic/085
> tests/generic/117
> tests/generic/157
> tests/generic/158
> tests/generic/184
> tests/generic/294
> tests/generic/294.out
> tests/generic/306
> tests/overlay/003
> tests/xfs/106
> $
> 
> Do any of these other tests that call mknod need this filtering?
To the best of my understanding, no.
The coreutils patch affects formatting of mknod error messages,
and these all begin with "mknod:". As you can see in your grep above,
only generic/294 has "mknod" in its expected output.
All others do not expect mknod failure messages, so do not require filtering.
> 
> Cheers,
> 
> Dave.
> 
Thanks
--
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 mbox

Patch

diff --git a/common/filter b/common/filter
index 244621a..8d9f489 100644
--- a/common/filter
+++ b/common/filter
@@ -385,5 +385,12 @@  _filter_od()
 	'
 }
 
+# Remove quotes from failed mknod calls. Starting with Coreutils v8.25,
+# mknod errors print unquoted filenames
+_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