load common T_YADM_CONFIG=; # populated by load_fixtures load_fixtures status=;output=; # populated by bats run() setup() { destroy_tmp make_parents "$T_YADM_CONFIG" } teardown() { destroy_tmp } function configuration_test() { # shellcheck source=/dev/null YADM_TEST=1 source "$T_YADM" # shellcheck disable=SC2034 YADM_CONFIG="$T_YADM_CONFIG" status=0 { output=$( require_gpg ) && require_gpg; } || { status=$? true } echo -e "STATUS:$status\nGPG_PROGRAM:$GPG_PROGRAM\nOUTPUT:$output" } @test "Default gpg program" { echo " Default gpg program should be 'gpg' " configuration_test [ "$status" == 0 ] [ "$GPG_PROGRAM" = "gpg" ] } @test "Override gpg program (valid program)" { echo " Override gpg using yadm.gpg-program Program should be 'cat' " git config --file="$T_YADM_CONFIG" "yadm.gpg-program" "cat" configuration_test [ "$status" == 0 ] [ "$GPG_PROGRAM" = "cat" ] } @test "Override gpg program (invalid program)" { echo " Override gpg using yadm.gpg-program Program should be 'badprogram' " git config --file="$T_YADM_CONFIG" "yadm.gpg-program" "badprogram" configuration_test [ "$status" == 1 ] [[ "$output" =~ badprogram ]] }