Whamcloud - gitweb
tests: skip u_direct_io if losetup fails
authorDarrick J. Wong <djwong@kernel.org>
Thu, 5 Aug 2021 15:43:28 +0000 (08:43 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 6 Aug 2021 15:22:05 +0000 (11:22 -0400)
This new test requires a loop device to run testing.  While it checks
for some "obvious" parameters that might cause the test to fail such as
not being root and no losetup executable, it doesn't actually check that
the losetup -a call succeeds.  This causes a test regression in my
package building container (where there is only a minimal /dev with no
loop devices available) so I can't build debian packages.

Fix the test to skip out if we can't create a loop device.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
tests/u_direct_io/script

index 0b5d708..b4f0775 100644 (file)
@@ -9,6 +9,11 @@ elif test ! -x $DEBUGFS_EXE; then
 else
     dd if=/dev/zero of=$TMPFILE bs=1M count=128 > /dev/null 2>&1
     LOOP=$(losetup --show --sector-size 4096 -f $TMPFILE)
+    if [ ! -b "$LOOP" ]; then
+        echo "$test_name: $DESCRIPTION: skipped (no loop devices)"
+        rm -f $TMPFILE
+        exit 0
+    fi
     echo mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D \$LOOP > $OUT
     $MKE2FS -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP 2>&1 | \
        sed -f $cmd_dir/filter.sed >> $OUT