From 6d94e17287eb3c19c23d6f225656de5d34839b07 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Mon, 3 Aug 2026 17:40:48 +0200 Subject: [PATCH] add command yq not found error --- src/backup | 14 ++++++++++++++ tests/backup_tests.bats | 24 +++++++++++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/backup b/src/backup index f24476a..5c8e95f 100755 --- a/src/backup +++ b/src/backup @@ -1,8 +1,22 @@ #!/bin/bash +errlog() +{ + local lastexit=$? + local msg="$1" + + echo "❌ ERROR: $msg" + return $lastexit +} + main() { echo "⭐ START: backup" + + command -v yq > /dev/null \ + || errlog "command yq not found" \ + || return $? } +[ "$TESTMODE" == "ON" ] || return 0 main "$@" \ No newline at end of file diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index d7d7489..25cbdad 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -2,18 +2,36 @@ setup() { bats_load_library 'bats-support' - bats_load_library 'bats-assert' + bats_load_library 'bats-assert' + export TESTMODE=ON + source src/backup +} + +teardown() { + unset TESTMODE } @test "backup run success" { - run src/backup + run main assert_success } @test "show start message" { - run src/backup + run main assert_success assert_output "⭐ START: backup" } + +@test "failure yq command not found" { + command() { + return 1 + } + + run main + + assert_failure + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "❌ ERROR: command yq not found" +} \ No newline at end of file -- 2.47.3