diff mbox

generic/294: filter quotes from mknod

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

Commit Message

Omer Zilberberg June 26, 2016, 10:47 a.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>
---
 common/filter         | 5 +++++
 tests/generic/294     | 2 +-
 tests/generic/294.out | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

Comments

Eryu Guan June 27, 2016, 3:15 a.m. UTC | #1
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
Omer Zilberberg June 27, 2016, 6:57 a.m. UTC | #2
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
Omer Zilberberg June 27, 2016, 12:52 p.m. UTC | #3
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 mbox

Patch

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