mirror of
https://github.com/TheLocehiliosan/yadm
synced 2026-03-02 03:49:29 +00:00
Fallback to using ls if /bin/ls does not exist (#22)
This commit is contained in:
66
test/003_ls_program.bats
Normal file
66
test/003_ls_program.bats
Normal file
@@ -0,0 +1,66 @@
|
||||
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 ]]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user