Fix bug in test harness
Because 'bin/dotbot' is a hybrid sh/Python script that finds the appropriate Python binary and then runs, the test code should not invoke it as an sh script when sh does not source the pyenv initialization script. The fix implemented in this patch is to directly run 'bin/dotbot' as a Python script using 'python', which when called from bash, will run with the correct Python version (because bash is set up to source the pyenv initialization script).
This commit is contained in:
parent
b7022f4abb
commit
a517c4c5d0
2 changed files with 10 additions and 2 deletions
|
@ -1,6 +1,10 @@
|
||||||
DEBUG=${DEBUG:-false}
|
DEBUG=${DEBUG:-false}
|
||||||
USE_VAGRANT=${USE_VAGRANT:-true}
|
USE_VAGRANT=${USE_VAGRANT:-true}
|
||||||
DOTBOT_EXEC=${DOTBOT_EXEC:-"/dotbot/bin/dotbot"}
|
if ${USE_VAGRANT}; then
|
||||||
|
DOTBOT_EXEC=${DOTBOT_EXEC:-"python /dotbot/bin/dotbot"}
|
||||||
|
else
|
||||||
|
DOTBOT_EXEC=${DOTBOT_EXEC:-"/dotbot/bin/dotbot"}
|
||||||
|
fi
|
||||||
DOTFILES="/home/$(whoami)/dotfiles"
|
DOTFILES="/home/$(whoami)/dotfiles"
|
||||||
INSTALL_CONF='install.conf.yaml'
|
INSTALL_CONF='install.conf.yaml'
|
||||||
INSTALL_CONF_JSON='install.conf.json'
|
INSTALL_CONF_JSON='install.conf.json'
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
test_description='can find python executable with different names'
|
test_description='can find python executable with different names'
|
||||||
. '../test-lib.bash'
|
. '../test-lib.bash'
|
||||||
|
|
||||||
|
if ${USE_VAGRANT}; then
|
||||||
|
DOTBOT_EXEC="/dotbot/bin/dotbot" # revert to calling it as a shell script
|
||||||
|
fi
|
||||||
|
|
||||||
# the test machine needs to have a binary named `python`
|
# the test machine needs to have a binary named `python`
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
mkdir ~/tmp_bin &&
|
mkdir ~/tmp_bin &&
|
||||||
|
@ -26,7 +30,7 @@ test_expect_success 'setup 2' '
|
||||||
touch ~/tmp_bin/python &&
|
touch ~/tmp_bin/python &&
|
||||||
chmod +x ~/tmp_bin/python &&
|
chmod +x ~/tmp_bin/python &&
|
||||||
cat >> ~/tmp_bin/python <<EOF
|
cat >> ~/tmp_bin/python <<EOF
|
||||||
#!$HOME/tmp_bin/sh
|
#!$HOME/tmp_bin/bash
|
||||||
exec $(which python)
|
exec $(which python)
|
||||||
EOF
|
EOF
|
||||||
'
|
'
|
||||||
|
|
Loading…
Reference in a new issue