diff options
author | Antonio Terceiro <antonio.terceiro@linaro.org> | 2013-11-18 19:03:36 -0300 |
---|---|---|
committer | Antonio Terceiro <antonio.terceiro@linaro.org> | 2013-11-18 19:03:36 -0300 |
commit | b1db8292803d8615eb382fa3391cb0f95f8e4fb3 (patch) | |
tree | a6cb048f1c631420ff3c1222b3585699ed0c66f1 /integration-tests | |
parent | 99ea8ab8541c3144c5e62cec8cdd327dc13c4388 (diff) |
Imported Upstream version 0.8.1upstream/0.8.1
Diffstat (limited to 'integration-tests')
-rwxr-xr-x | integration-tests | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/integration-tests b/integration-tests new file mode 100755 index 0000000..73726f6 --- /dev/null +++ b/integration-tests @@ -0,0 +1,80 @@ +#!/bin/sh + +set -e + +green() { + test -t 1 && printf "\033[0;32;40m$@\033[m\n" || echo "$@" +} + +red() { + test -t 2 && printf "\033[0;31;40m$@\033[m\n" >&2 || echo "$2" >&2 +} + +start_server() { + server_dir="${base_tmpdir}/_server" + mkdir -p "${server_dir}" + server_log="${server_dir}/log" + python integration-tests.d/lib/server.py > "${server_log}" 2>&1 & + server_pid=$? +} + +stop_server() { + curl -q http://localhost:5000/exit +} + +run_test() { + local testfile="$1" + local logfile="$2" + rc=0 + if test -n "$VERBOSE"; then + sh -x "$testfile" < /dev/null || rc=$? + else + sh -x "$testfile" > "${logfile}" 2>&1 < /dev/null || rc=$? + fi + if test $rc -eq 0; then + green "$testname: PASS" + passed=$(($passed + 1)) + else + failed=$(($failed + 1)) + red "$testname: FAIL" + if test -f "$logfile"; then + cat "$logfile" + fi + fi +} + +passed=0 +failed=0 +base_tmpdir=$(mktemp -d) +logs="${base_tmpdir}/logs" +mkdir "$logs" + +export PATH="$(dirname $0)"/integration-tests.d/lib:$PATH + +start_server + +tests="$@" +if test -z "$tests"; then + tests=$(echo integration-tests.d/*.sh) +fi + +for testfile in $tests; do + testname=$(basename "$testfile") + logfile="${logs}/${testname}.log" + export tmpdir="${base_tmpdir}/${testname}" + export LAVACONFIG="${tmpdir}/config" + mkdir "${tmpdir}" + run_test "$testfile" "$logfile" +done + +stop_server + +rm -rf "${base_tmpdir}" + +echo +if [ "$failed" -eq 0 ]; then + green "$passed tests passed, $failed tests failed." +else + red "$passed tests passed, $failed tests failed." + exit 1 +fi |