From 2fe6a212806ae4530d72f2028f86e14eef7a70a4 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 4 Aug 2026 19:04:26 +0200 Subject: [PATCH] add missing machines config error --- src/backup | 9 +++++++++ tests/backup_tests.bats | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/backup b/src/backup index b76fc31..b96e982 100755 --- a/src/backup +++ b/src/backup @@ -67,6 +67,14 @@ exists_backup_count() echo "ℹ️ INFO: backup count $backup_count" } +exists_machines() +{ + local config="$1" + echo "$config" | jq --exit-status '.machines' > /dev/null \ + || errlog "$CONFIG_FILE missing machines" \ + || return $? +} + get_last_backup_dir_path() { local config="$1" @@ -130,6 +138,7 @@ main() exists_backup_path "$config" || return $? exists_backup_name "$config" || return $? exists_backup_count "$config" || return $? + exists_machines "$config" || return $? last_backup_dir_path=$(get_last_backup_dir_path "$config") [ -n "$last_backup_dir_path" ] \ diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index 117b47e..1189759 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -145,6 +145,25 @@ teardown() { assert_line --index 3 "❌ ERROR: src/config-example.yaml missing backup_count" } +@test "failure no machines in config" { + yq() { + echo '{ + "backup_path": "path", + "backup_name": "backup", + "backup_count": 15 + }' + } + + run main + + assert_failure + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "ℹ️ INFO: backup path path" + assert_line --index 2 "ℹ️ INFO: backup name backup" + assert_line --index 3 "ℹ️ INFO: backup count 15" + assert_line --index 4 "❌ ERROR: src/config-example.yaml missing machines" +} + @test "success info backup count" { create_backup_dir() { : -- 2.47.3