]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
generic/245: Filter mv error message
authorSu Yue <glass.su@suse.com>
Thu, 19 Oct 2023 01:53:56 +0000 (09:53 +0800)
committerZorro Lang <zlang@kernel.org>
Sun, 22 Oct 2023 06:40:41 +0000 (14:40 +0800)
Coreutils commit 3cb862ce5f10 ( mv: better diagnostic for 'mv dir x' failure)
was released in v9.4, changed the error message from
'mv: cannot move 'b/t' to 'a/t': Directory not empty' to
'mv: cannot overwrite 'a/t': Directory not empty' in case of
EDQUOT/EEXIST/EISDIR/EMLINK/ENOSPC/ENOTEMPTY/ETXTBSY.

The change breaks generic/245 due to the mismatched output:

generic/245 1s ... - output mismatch (see /root/xfstests-dev/results//generic/245.out.bad)
    --- tests/generic/245.out   2023-10-05 11:15:21.124295738 +0800
    +++ /root/xfstests-dev/results//generic/245.out.bad 2023-10-05 11:15:23.456315468 +0800
    @@ -1,2 +1,2 @@
    QA output created by 245
    -mv: cannot move 'TEST_DIR/test-mv/ab/aa/' to 'TEST_DIR/test-mv/aa': File exists
    +mv: cannot overwrite 'TEST_DIR/test-mv/aa': File exists
    ...
    (Run 'diff -u /root/xfstests-dev/tests/generic/245.out /root/xfstests-dev/results//generic/245.out.bad'  to see the entire diff)

Filter out and replace mv error messages to fix the test.

Signed-off-by: Su Yue <glass.su@suse.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
tests/generic/245
tests/generic/245.out

index e2d5c926e906e6e595da3ab2163fecfcf0f89761..81ce4d4e2450f4a950ac5d02026bbda6de73f23f 100755 (executable)
@@ -29,9 +29,12 @@ _cleanup()
 # According to the rename(2) manpage you can get either EEXIST or ENOTEMPTY as an
 # error for trying to rename a non-empty directory, so just catch the error for
 # ENOTMEMPTY and replace it with the EEXIST output so that either result passes
+# Also, mv v9.4+ modified error message when a nonempty destination directory fails
+# to be overwriteen
 _filter_directory_not_empty()
 {
-       sed -e "s,Directory not empty,File exists,g"
+       sed -e "s,Directory not empty,File exists,g" \
+           -e "s,cannot move .* to \(.*\):\(.*\),cannot overwrite \1:\2,g"
 }
  
 
index f5b5f182619dce5366ec14ab4fa5a44ab91b06e3..19b598e4a175b41500b4255d5b1f391513a81e47 100644 (file)
@@ -1,2 +1,2 @@
 QA output created by 245
-mv: cannot move 'TEST_DIR/test-mv/ab/aa/' to 'TEST_DIR/test-mv/aa': File exists
+mv: cannot overwrite 'TEST_DIR/test-mv/aa': File exists