]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: don't call tests with races in --parallel
authorKarel Zak <kzak@redhat.com>
Thu, 7 Dec 2017 13:41:49 +0000 (14:41 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 7 Dec 2017 13:41:49 +0000 (14:41 +0100)
Some of the tests have a race by design (=wanted).

Signed-off-by: Karel Zak <kzak@redhat.com>
tests/ts/libmount/loop
tests/ts/losetup/losetup-loop

index ec22c9a2c72c513142d4471eb92cb002127a577b..09e89476195ef22ca23a074795adfbe75208af46 100755 (executable)
@@ -81,14 +81,19 @@ ts_log "Success"
 ts_finalize_subtest
 
 ts_init_subtest "o-loop-val"
-[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
-$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
-verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
-udevadm settle
-ts_log "Success"
-ts_finalize_subtest
+if [ "$TS_PARALLEL" = "yes" ]; then
+       # There is a race in $LODEV is usage
+       ts_skip_subtest "no-reentrant"
+else
+       [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+       LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
+       $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
+       verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
+       $TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>&1
+       udevadm settle
+       ts_log "Success"
+       ts_finalize_subtest
+fi
 
 ts_init_subtest "reuse"
 [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
@@ -112,28 +117,38 @@ ts_log "Success"
 ts_finalize_subtest
 
 ts_init_subtest "o-loop-val-initialized"
-[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
-$TS_CMD_LOSETUP $LODEV "$BACKFILE" >> $TS_OUTPUT 2>&1
-$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
-       | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1
-udevadm settle
-ts_log "Success"
-ts_finalize_subtest
+if [ "$TS_PARALLEL" = "yes" ]; then
+       # There is a race in $LODEV is usage
+       ts_skip_subtest "no-reentrant"
+else
+       [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+       LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
+       $TS_CMD_LOSETUP $LODEV "$BACKFILE" >> $TS_OUTPUT 2>&1
+       $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
+              | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
+       $TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1
+       udevadm settle
+       ts_log "Success"
+       ts_finalize_subtest
+fi
 
 ts_init_subtest "o-loop-val-conflict"
-[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-cp "$BACKFILE" "$BACKFILE"-2
-LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
-$TS_CMD_LOSETUP $LODEV "$BACKFILE"-2 >> $TS_OUTPUT 2>&1
-$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
-       | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1
-rm "$BACKFILE"-2
-udevadm settle
-ts_log "Success"
-ts_finalize_subtest
+if [ "$TS_PARALLEL" = "yes" ]; then
+       # There is a race in $LODEV is usage
+       ts_skip_subtest "no-reentrant"
+else
+       [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+       cp "$BACKFILE" "$BACKFILE"-2
+       LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
+       $TS_CMD_LOSETUP $LODEV "$BACKFILE"-2 >> $TS_OUTPUT 2>&1
+       $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
+               | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
+       $TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1
+       rm "$BACKFILE"-2
+       udevadm settle
+       ts_log "Success"
+       ts_finalize_subtest
+fi
 
 ts_log "Success"
 ts_finalize
index 6ec521e3ac1424e3059570317db2a3269c922d01..6d1ef21bc367d2af37fa46bc66e4dd824222bf11 100755 (executable)
@@ -202,34 +202,44 @@ ts_finalize_subtest
 udevadm settle
 
 ts_init_subtest "plain-conflict"
-LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show $BACKFILE )
-if [ -z "$LODEV" ]; then
-       ts_log "Failed to create loop device"
+if [ "$TS_PARALLEL" = "yes" ]; then
+       # There is a race in $LODEV is usage
+       ts_skip_subtest "no-reentrant"
+else
+       LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show $BACKFILE )
+       if [ -z "$LODEV" ]; then
+               ts_log "Failed to create loop device"
+       fi
+       LODEVR=$( $TS_CMD_LOSETUP --find )
+       $TS_CMD_LOSETUP --nooverlap "$LODEVR" $BACKFILE >/dev/null 2>&1
+       ts_log $?
+       udevadm settle
+       $TS_CMD_LOSETUP -d "$LODEV"
+       $TS_CMD_LOSETUP -d "$LODEVR" >/dev/null 2>&1
+       ts_log "Success"
+       ts_finalize_subtest
 fi
-LODEVR=$( $TS_CMD_LOSETUP --find )
-$TS_CMD_LOSETUP --nooverlap "$LODEVR" $BACKFILE >/dev/null 2>&1
-ts_log $?
-udevadm settle
-$TS_CMD_LOSETUP -d "$LODEV"
-$TS_CMD_LOSETUP -d "$LODEVR" >/dev/null 2>&1
-ts_log "Success"
-ts_finalize_subtest
 
 udevadm settle
 
 ts_init_subtest "plain-readonly"
-LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show --read-only $BACKFILE )
-if [ -z "$LODEV" ]; then
-       ts_log "Failed to create loop device"
+if [ "$TS_PARALLEL" = "yes" ]; then
+       # There is a race in $LODEV is usage
+       ts_skip_subtest "no-reentrant"
+else
+       LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show --read-only $BACKFILE )
+       if [ -z "$LODEV" ]; then
+               ts_log "Failed to create loop device"
+       fi
+       LODEVR=$( $TS_CMD_LOSETUP --find )
+       $TS_CMD_LOSETUP --nooverlap "$LODEVR" $BACKFILE >/dev/null 2>&1
+       ts_log $?
+       udevadm settle
+       $TS_CMD_LOSETUP -d "$LODEV"
+       $TS_CMD_LOSETUP -d "$LODEVR" >/dev/null 2>&1
+       ts_log "Success"
+       ts_finalize_subtest
 fi
-LODEVR=$( $TS_CMD_LOSETUP --find )
-$TS_CMD_LOSETUP --nooverlap "$LODEVR" $BACKFILE >/dev/null 2>&1
-ts_log $?
-udevadm settle
-$TS_CMD_LOSETUP -d "$LODEV"
-$TS_CMD_LOSETUP -d "$LODEVR" >/dev/null 2>&1
-ts_log "Success"
-ts_finalize_subtest
 
 udevadm settle