The test suite has been slightly modified to allow running tests without Vagrant on Travis.pull/68/head
parent
582edd6bd3
commit
07a26a843e
@ -0,0 +1,10 @@ |
||||
language: python |
||||
python: |
||||
- "2.7" |
||||
- "3.2" |
||||
- "3.3" |
||||
- "3.4" |
||||
- "3.5" |
||||
|
||||
script: |
||||
- ./.travis/run_tests |
@ -0,0 +1,75 @@ |
||||
#!/usr/bin/env bash |
||||
set -e |
||||
|
||||
# For debug only: |
||||
# export DEBUG=true |
||||
# set -x |
||||
# set -v |
||||
|
||||
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" |
||||
|
||||
# Travis runs do not rely on Vagrant |
||||
export USE_VAGRANT=false |
||||
export DOTBOT_EXEC="${BASEDIR}/bin/dotbot" |
||||
|
||||
cd "${BASEDIR}" |
||||
. "test/driver-lib.bash" |
||||
|
||||
travis_initialize() { |
||||
echo "initializing." |
||||
tests_run=0 |
||||
tests_passed=0 |
||||
tests_failed=0 |
||||
tests_total="${1}" |
||||
local plural="" && [ "${tests_total}" -gt 1 ] && plural="s" |
||||
printf -- "running %d test%s...\n\n" "${tests_total}" "${plural}" |
||||
} |
||||
|
||||
travis_cleanup() { |
||||
# Remove all dotfiles installed since the start, ignoring the main |
||||
# dotfiles directory, and the dotbot source directory |
||||
find ~ -mindepth 1 -readable -newermt "${date_stamp}" \ |
||||
-not \( -path ~ -o -path "${BASEDIR}/*" \ |
||||
-o -path ~/dotfiles \) \ |
||||
-exec rm -rf {} + |
||||
} |
||||
|
||||
travis_run_test() { |
||||
tests_run=$((tests_run + 1)) |
||||
printf '[%d/%d] (%s)\n' "${tests_run}" "${tests_total}" "${1}" |
||||
cd ${BASEDIR}/test/tests |
||||
if bash ${1} ; then |
||||
pass |
||||
else |
||||
fail |
||||
fi |
||||
travis_cleanup || die "unable to clean up system." |
||||
} |
||||
|
||||
date_stamp="$(date --rfc-3339=ns)" |
||||
start="$(date +%s)" |
||||
|
||||
declare -a tests=() |
||||
|
||||
if [ $# -eq 0 ]; then |
||||
while read file; do |
||||
tests+=("${file}") |
||||
done < <(find ${BASEDIR}/test/tests -type f -name '*.bash') |
||||
else |
||||
tests=("$@") |
||||
fi |
||||
|
||||
travis_initialize "${#tests[@]}" |
||||
|
||||
for file in "${tests[@]}"; do |
||||
travis_run_test "$(basename "${file}")" |
||||
done |
||||
|
||||
if report; then |
||||
ret=0 |
||||
else |
||||
ret=1 |
||||
fi |
||||
|
||||
echo "(tests run in $(($(date +%s) - start)) seconds)" |
||||
exit ${ret} |
Loading…
Reference in new issue