]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fstests: btrfs/315: fix golden output mismatch caused by newer util-linux
authorQu Wenruo <wqu@suse.com>
Thu, 24 Apr 2025 07:29:07 +0000 (16:59 +0930)
committerZorro Lang <zlang@kernel.org>
Sat, 26 Apr 2025 12:53:52 +0000 (20:53 +0800)
[BUG]
With util-linux v2.41.0 and newer, test case btrfs/315 will fail like
the following:

btrfs/315 1s ... - output mismatch (see /home/adam/xfstests-dev/results//btrfs/315.out.bad)
    --- tests/btrfs/315.out 2025-04-24 15:31:28.684112371 +0930
    +++ /home/adam/xfstests-dev/results//btrfs/315.out.bad 2025-04-24 15:31:31.854883557 +0930
    @@ -1,7 +1,7 @@
     QA output created by 315
     ---- seed_device_must_fail ----
     mount: SCRATCH_MNT: WARNING: source write-protected, mounted read-only.
    -mount: TEST_DIR/315/tempfsid_mnt:  system call failed: File exists.
    +mount: TEST_DIR/315/tempfsid_mnt: () failed: File exists.
     ---- device_add_must_fail ----
     wrote 9000/9000 bytes at offset 0

[CAUSE]

With util-linux v2.41.0, the mount failure error message changed to the following:

  mount: /mnt/test/315/tempfsid_mnt: fsconfig() failed: File exists.

Thus the existing filter only striped the "fsconfig" part, leaving the
"()" without changing it to " system call".

[FIX]
The test case is doomed in day one by using a local filter, which
requires stupid catch-up game against util-linux.

Meanwhile we already have a much better filter, _filter_error_mount().
That helper can already handle the newer v2.41 output.

Let's use the superior common filter and update the golden output to:

  mount: File exists.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
[ fixed: filter.btrfs is not needed ]

tests/btrfs/315
tests/btrfs/315.out

index e6589abec08ce8e29e50fb84a7d2ac6c5ea10d15..f8785e830fa7d5802bc94123414e439e2d69ac3c 100755 (executable)
@@ -18,7 +18,7 @@ _cleanup()
        rm -r -f $tempfsid_mnt
 }
 
-. ./common/filter.btrfs
+. ./common/filter
 
 _require_scratch_dev_pool 3
 _require_btrfs_fs_feature temp_fsid
@@ -28,25 +28,6 @@ _scratch_dev_pool_get 3
 # mount point for the tempfsid device
 tempfsid_mnt=$TEST_DIR/$seq/tempfsid_mnt
 
-_filter_mount_error()
-{
-       # There are two different errors that occur at the output when
-       # mounting fails; as shown below, pick out the common part. And,
-       # remove the dmesg line.
-
-       # mount: <mnt-point>: mount(2) system call failed: File exists.
-
-       # mount: <mnt-point>: fsconfig system call failed: File exists.
-       # dmesg(1) may have more information after failed mount system call.
-
-       # For util-linux v2.4 and later:
-       # mount: <mountpoint>: mount system call failed: File exists.
-
-       grep -v dmesg | _filter_test_dir | \
-               sed -e "s/mount(2)\|fsconfig//g" \
-                   -e "s/mount\( system call failed:\)/\1/"
-}
-
 seed_device_must_fail()
 {
        echo ---- $FUNCNAME ----
@@ -57,7 +38,7 @@ seed_device_must_fail()
        $BTRFS_TUNE_PROG -S 1 ${SCRATCH_DEV_NAME[1]}
 
        _scratch_mount 2>&1 | _filter_scratch
-       _mount ${SCRATCH_DEV_NAME[1]} ${tempfsid_mnt} 2>&1 | _filter_mount_error
+       _mount ${SCRATCH_DEV_NAME[1]} ${tempfsid_mnt} 2>&1 | _filter_error_mount
 }
 
 device_add_must_fail()
index 3ea7a35ab040460c6f68d51cd0a29fabdd38ead1..ae77d4fd1041c115ce0505d165cec9770fbbbeac 100644 (file)
@@ -1,7 +1,7 @@
 QA output created by 315
 ---- seed_device_must_fail ----
 mount: SCRATCH_MNT: WARNING: source write-protected, mounted read-only.
-mount: TEST_DIR/315/tempfsid_mnt:  system call failed: File exists.
+mount: File exists
 ---- device_add_must_fail ----
 wrote 9000/9000 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)