58 lines
1 KiB
Bash
58 lines
1 KiB
Bash
test_description='can find python executable with different names'
|
|
. '../test-lib.bash'
|
|
|
|
# the test machine needs to have a binary named `python`
|
|
test_expect_success 'setup' '
|
|
mkdir ~/tmp_bin &&
|
|
(
|
|
IFS=:
|
|
for p in $PATH; do
|
|
find $p -maxdepth 1 -mindepth 1 -exec sh -c \
|
|
'"'"'ln -sf {} $HOME/tmp_bin/$(basename {})'"'"' \;
|
|
done
|
|
) &&
|
|
rm -f ~/tmp_bin/python &&
|
|
rm -f ~/tmp_bin/python2 &&
|
|
rm -f ~/tmp_bin/python3
|
|
'
|
|
|
|
test_expect_failure 'run' '
|
|
PATH="$HOME/tmp_bin" run_dotbot <<EOF
|
|
[]
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'setup 2' '
|
|
touch ~/tmp_bin/python &&
|
|
chmod +x ~/tmp_bin/python &&
|
|
cat >> ~/tmp_bin/python <<EOF
|
|
#!$HOME/tmp_bin/sh
|
|
exec $(which python)
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'run 2' '
|
|
PATH="$HOME/tmp_bin" run_dotbot <<EOF
|
|
[]
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'setup 3' '
|
|
mv ~/tmp_bin/python ~/tmp_bin/python2
|
|
'
|
|
|
|
test_expect_success 'run 3' '
|
|
PATH="$HOME/tmp_bin" run_dotbot <<EOF
|
|
[]
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'setup 4' '
|
|
mv ~/tmp_bin/python2 ~/tmp_bin/python3
|
|
'
|
|
|
|
test_expect_success 'run 4' '
|
|
PATH="$HOME/tmp_bin" run_dotbot <<EOF
|
|
[]
|
|
EOF
|
|
'
|