Add --debug flag to test driver
This is easier than the old method of adding `DEBUG=true` to the top of test files.
This commit is contained in:
parent
43b62ed532
commit
dac7a9bc88
4 changed files with 22 additions and 6 deletions
|
@ -51,8 +51,8 @@ edits on your host machine). You can run the test suite by `cd /dotbot/test`
|
||||||
and then running `./test`. Selected tests can be run by passing paths to the
|
and then running `./test`. Selected tests can be run by passing paths to the
|
||||||
tests as arguments, e.g. `./test tests/create.bash tests/defaults.bash`.
|
tests as arguments, e.g. `./test tests/create.bash tests/defaults.bash`.
|
||||||
|
|
||||||
To debug tests, you can prepend the line `DEBUG=true` as the first line to any
|
To debug tests, you can run the test driver with the `--debug` (or `-d` short
|
||||||
individual test (a `.bash` file inside `test/tests`). This will enable printing
|
form) flag, e.g. `./test --debug tests/link-if.bash`. This will enable printing
|
||||||
stdout/stderr.
|
stdout/stderr.
|
||||||
|
|
||||||
When finished with testing, it is good to shut down the virtual machine by
|
When finished with testing, it is good to shut down the virtual machine by
|
||||||
|
|
|
@ -60,7 +60,7 @@ run_test() {
|
||||||
tests_run=$((tests_run + 1))
|
tests_run=$((tests_run + 1))
|
||||||
printf '[%d/%d] (%s)\n' "${tests_run}" "${tests_total}" "${1}"
|
printf '[%d/%d] (%s)\n' "${tests_run}" "${tests_total}" "${1}"
|
||||||
cleanup
|
cleanup
|
||||||
if (cd "${BASEDIR}/test/tests" && HOME=~/fakehome DOTBOT_TEST=true bash "${1}"); then
|
if (cd "${BASEDIR}/test/tests" && HOME=~/fakehome DEBUG=${2} DOTBOT_TEST=true bash "${1}"); then
|
||||||
pass
|
pass
|
||||||
else
|
else
|
||||||
fail
|
fail
|
||||||
|
|
21
test/test
21
test/test
|
@ -10,6 +10,23 @@ start="$(date +%s)"
|
||||||
|
|
||||||
check_env
|
check_env
|
||||||
|
|
||||||
|
# parse flags; must come before positional arguments
|
||||||
|
POSITIONAL=()
|
||||||
|
DEBUG=false
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
-d|--debug)
|
||||||
|
DEBUG=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
POSITIONAL+=("$1")
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
set -- "${POSITIONAL[@]}" # restore positional arguments
|
||||||
|
|
||||||
declare -a tests=()
|
declare -a tests=()
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
|
@ -20,10 +37,10 @@ else
|
||||||
tests=("$@")
|
tests=("$@")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
initialize "${#tests[@]}" "${VERSION}"
|
initialize "${#tests[@]}"
|
||||||
|
|
||||||
for file in "${tests[@]}"; do
|
for file in "${tests[@]}"; do
|
||||||
run_test "$(basename "${file}")" "${VERSION}"
|
run_test "$(basename "${file}")" "${DEBUG}"
|
||||||
done
|
done
|
||||||
|
|
||||||
if report; then
|
if report; then
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
DEBUG=${DEBUG:-false}
|
|
||||||
DOTBOT_EXEC="${BASEDIR}/bin/dotbot"
|
DOTBOT_EXEC="${BASEDIR}/bin/dotbot"
|
||||||
DOTFILES="${HOME}/dotfiles"
|
DOTFILES="${HOME}/dotfiles"
|
||||||
INSTALL_CONF='install.conf.yaml'
|
INSTALL_CONF='install.conf.yaml'
|
||||||
|
|
Loading…
Reference in a new issue