echo "ℹ️ INFO: close volume $volume"
local cryptsetupargs=("close" "$volume")
- cryptsetup "${cryptsetupargs[@]}"
+ cryptsetup "${cryptsetupargs[@]}" \
+ || errlog "could not close volume $volume" \
+ || return $?
}
main()
assert_equal "$(awk 'NR==1 {print; exit}' "$CRYPTSETUP_LOG")" "2"
assert_equal "$(awk 'NR==2 {print; exit}' "$CRYPTSETUP_LOG")" "close"
assert_equal "$(awk 'NR==3 {print; exit}' "$CRYPTSETUP_LOG")" "luks-crypt-volume"
+}
+
+# bats test_tags=backupmount:umount
+@test "failure close volume with cryptsetup" {
+ umount() {
+ return 0
+ }
+ rmdir() {
+ return 0
+ }
+ cryptsetup() {
+ return 1
+ }
+
+ run main "umount"
+
+ assert_failure
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "ℹ️ INFO: umount backup path build/test"
+ assert_line --index 2 "ℹ️ INFO: remove backup directory build/test"
+ assert_line --index 3 "ℹ️ INFO: close volume luks-crypt-volume"
+ assert_line --index 4 "❌ ERROR: could not close volume luks-crypt-volume"
}
\ No newline at end of file