load common load_fixtures @test "Default /bin/ls" { echo " By default, the value of LS_PROGRAM should be /bin/ls " # shellcheck source=/dev/null YADM_TEST=1 source "$T_YADM" status=0 output=$( require_ls; echo "$LS_PROGRAM" ) || { status=$? true } echo "output=$output" [ "$status" == 0 ] [ "$output" = "/bin/ls" ] } @test "Fallback on 'ls'" { echo " When LS_PROGRAM doesn't exist, use 'ls' " # shellcheck source=/dev/null YADM_TEST=1 source "$T_YADM" status=0 LS_PROGRAM="/ls/missing" output=$( require_ls; echo "$LS_PROGRAM" ) || { status=$? true } echo "output=$output" [ "$status" == 0 ] [ "$output" = "ls" ] } @test "Fail if ls isn't in PATH" { echo " When LS_PROGRAM doesn't exist, use 'ls' " # shellcheck source=/dev/null YADM_TEST=1 source "$T_YADM" status=0 LS_PROGRAM="/ls/missing" savepath="$PATH" # shellcheck disable=SC2123 PATH= output=$( require_ls 2>&1; echo "$LS_PROGRAM" ) || { status=$? true } PATH="$savepath" echo "output=$output" [ "$status" != 0 ] [[ "$output" =~ functionality\ requires\ .ls.\ to\ be\ installed ]] }