Fix deactivation of device when failed underlying node disappeared
[platform/upstream/cryptsetup.git] / tests / tcrypt-compat-test
index 71545bc..4195ef9 100755 (executable)
@@ -10,22 +10,22 @@ PASSWORD_HIDDEN="bbbbbbbbbbbb"
 
 function remove_mapping()
 {
-        [ -b /dev/mapper/$MAP ] && dmsetup remove $MAP
-        [ -b /dev/mapper/"$MAP"_1 ] && dmsetup remove "$MAP"_1
-        [ -b /dev/mapper/"$MAP"_2 ] && dmsetup remove "$MAP"_2
+       [ -b /dev/mapper/$MAP ] && dmsetup remove $MAP
+       [ -b /dev/mapper/"$MAP"_1 ] && dmsetup remove "$MAP"_1
+       [ -b /dev/mapper/"$MAP"_2 ] && dmsetup remove "$MAP"_2
 }
 
 function fail()
 {
-        [ -n "$1" ] && echo "$1"
-        echo " [FAILED]"
-        remove_mapping
-        exit 2
+       [ -n "$1" ] && echo "$1"
+       echo " [FAILED]"
+       remove_mapping
+       exit 2
 }
 
 function skip()
 {
-        [ -n "$1" ] && echo "$1"
+       [ -n "$1" ] && echo "$1"
        echo "Test skipped."
        exit 0
 }
@@ -37,12 +37,14 @@ function test_one()
 
 function test_required()
 {
+       which lsblk >/dev/null 2>&1 || skip "WARNING: lsblk tool required."
+
        echo "REQUIRED KDF TEST"
        $CRYPTSETUP benchmark -h ripemd160 | grep "N/A" && skip
        $CRYPTSETUP benchmark -h whirlpool | grep "N/A" && skip
 
        echo "REQUIRED CIPHERS TEST"
-       echo "#  Algorithm | Key | Encryption | Decryption"
+       echo "#  Algorithm | Key |  Encryption |  Decryption"
 
        test_one aes-cbc 256
        test_one aes-lrw 384
@@ -97,6 +99,8 @@ echo "ACTIVATION FS UUID CHECK (LRW/XTS modes only)"
 for file in $(ls $TST_DIR/tc_*-lrw-* $TST_DIR/tc_*-xts-*) ; do
        echo -n " $file"
        echo $PASSWORD | $CRYPTSETUP tcryptOpen -r $file $MAP || fail
+       $CRYPTSETUP status $MAP >/dev/null || fail
+       $CRYPTSETUP status /dev/mapper/$MAP >/dev/null || fail
        UUID=$(lsblk -n -o UUID /dev/mapper/$MAP)
        $CRYPTSETUP remove $MAP || fail
        [ "$UUID" != "DEAD-BABE" ] && fail "UUID check failed."