From: Bastian Dehn Date: Sun, 16 Aug 2026 17:52:21 +0000 (+0200) Subject: add test for umount backup path X-Git-Tag: v1.0.7^2~1^2~7 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=8b1188ab6cd6090dd4db3e9a4dd61ba5bd7191e3;p=simple-backup.git add test for umount backup path --- diff --git a/src/backupmount b/src/backupmount index ce7b79c..4c80f0c 100755 --- a/src/backupmount +++ b/src/backupmount @@ -160,6 +160,11 @@ umount_backup() [ "$volume" != "null" ] \ || errlog "missing backup volume in $CONFIG_FILE" \ || return $? + + echo "ℹ️ INFO: umount backup path $backup_path" + umount "$backup_path" \ + || errlog "could not umount $backup_path" \ + || return $? } main() diff --git a/tests/backupmount_tests.bats b/tests/backupmount_tests.bats index e9172a6..ed1ee6e 100755 --- a/tests/backupmount_tests.bats +++ b/tests/backupmount_tests.bats @@ -6,6 +6,7 @@ setup() { export TESTMODE="ON" export CRYPTSETUP_LOG="build/test/cryptsetup.log" export MOUNT_LOG="build/test/mount.log" + export UMOUNT_LOG="build/test/umount.log" export CONFIG_FILE="src/config-example.yaml" source src/backupmount mkdir --parents "build/test" @@ -20,6 +21,10 @@ setup() { printf "%s\n" "${#@}" > "$MOUNT_LOG" printf "%s\n" "$@" >> "$MOUNT_LOG" } + umount() { + printf "%s\n" "${#@}" > "$UMOUNT_LOG" + printf "%s\n" "$@" >> "$UMOUNT_LOG" + } } teardown() { @@ -27,6 +32,7 @@ teardown() { unset TESTMODE unset CRYPTSETUP_LOG unset MOUNT_LOG + unset UMOUNT_LOG unset CONFIG_FILE } @@ -480,4 +486,29 @@ teardown() { assert_failure assert_line --index 0 "⭐ START: backupmount" assert_line --index 1 "❌ ERROR: missing backup volume in src/config-example.yaml" +} + +# bats test_tags=backupmount:umount +@test "success umount backup path " { + run main "umount" + + assert_success + assert_line --index 0 "⭐ START: backupmount" + assert_line --index 1 "ℹ️ INFO: umount backup path build/test" + assert_equal "$(awk 'NR==1 {print; exit}' "$UMOUNT_LOG")" "1" + assert_equal "$(awk 'NR==2 {print; exit}' "$UMOUNT_LOG")" "build/test" +} + +# bats test_tags=backupmount:umount +@test "failure umount command failed" { + umount() { + 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 "❌ ERROR: could not umount build/test" } \ No newline at end of file