aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSu Yue <glass.su@suse.com>2023-10-19 09:53:56 +0800
committerZorro Lang <zlang@kernel.org>2023-10-22 14:40:41 +0800
commitd9323ad7a05e2705fbd31d5e7c6031bba23b1706 (patch)
tree1415f3aa028fe42c3daf5758815167b45c0936ef
parent053719c1887714855b1bd58ef89b363d69358e61 (diff)
downloadxfstests-dev-d9323ad7a05e2705fbd31d5e7c6031bba23b1706.tar.gz
generic/245: Filter mv error message
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>
-rwxr-xr-xtests/generic/2455
-rw-r--r--tests/generic/245.out2
2 files changed, 5 insertions, 2 deletions
diff --git a/tests/generic/245 b/tests/generic/245
index e2d5c926e9..81ce4d4e24 100755
--- a/tests/generic/245
+++ b/tests/generic/245
@@ -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"
}
diff --git a/tests/generic/245.out b/tests/generic/245.out
index f5b5f18261..19b598e4a1 100644
--- a/tests/generic/245.out
+++ b/tests/generic/245.out
@@ -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