summaryrefslogtreecommitdiffstats
path: root/run
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-10-22 08:54:05 +0200
committerPavel Raiskup <praiskup@redhat.com>2014-10-22 08:54:05 +0200
commit2422a081a5be0d5ac5afb122361bc283da67341f (patch)
treecb255582060af6547dd9318c56ba0e8c761846a1 /run
parent922089746e1029de9be986672fcdeb6bc82e18d7 (diff)
downloadpostgresql-setup-tests-2422a081a5be0d5ac5afb122361bc283da67341f.tar.gz
postgresql-setup-tests-2422a081a5be0d5ac5afb122361bc283da67341f.tar.xz
postgresql-setup-tests-2422a081a5be0d5ac5afb122361bc283da67341f.zip
big reorg: prepare for generalization
Try to split into three separate components -> controller, tester, and 'tasks' (postgresql-tasks in our case). The controller component is the main part which is able to run the task remotely. Tester is more-like library for 'tasks' component (should be reusable on the raw git level). * controller: Almost separated component. * postgresql-tasks: Likewise. * tester: Likewise.
Diffstat (limited to 'run')
-rwxr-xr-xrun179
1 files changed, 0 insertions, 179 deletions
diff --git a/run b/run
deleted file mode 100755
index 8f1b69f..0000000
--- a/run
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/bin/bash
-
-## CONFIG ##
-
-export dtf_resultdir=${dtf_resultdir_override-/var/tmp/dtf}
-export dtf_srcdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
-export dtf_testdir=${dtf_testdir-$dtf_srcdir}
-export dtf_dataurl=http://pensioner.lab.eng.brq.redhat.com/root-tests/data/postgresql/
-
-export dtf_resultxml_file=/var/tmp/dtf.xml
-
-export dtf_option_verbose=0
-export dtf_option_force=0
-export dtf_option_testids=""
-export dtf_option_listonly=0
-
-. "$dtf_srcdir/lib.sh"
-
-## F.DEFS ##
-
-info()
-{
- echo " * $@"
-}
-
-die()
-{
- echo "$@" >&2
- exit 1
-}
-
-# run TESTDIR
-# -----------
-# source the $TESTDIR/runtest.sh
-run()
-{
- export dtf_workdir=$1
- export dtf_test_id=$(basename "$dtf_workdir")
-
- dtf_resultxml_cache "$( cd "$dtf_workdir"
- . ./config.sh
- echo "<test>"
- echo "<id>$DTF_TEST_ID</id>"
- echo "<description>"
- echo "$DTF_TEST_DESCRIPTION"
- echo "</description>"
- )"
-
- ( cd "$dtf_workdir"
-
- outlog="$dtf_resultdir/$dtf_test_id.log"
- output_wrapper="cat > $outlog"
-
- test $dtf_option_verbose = 1 \
- && output_wrapper="tee $outlog"
-
- test ! -e ./config.sh -o ! -e ./config.sh \
- && echo "can not find one of {config,runtest}.sh" \
- && exit 1
-
- . ./config.sh
-
- if test "$dtf_option_listonly" -eq 1; then
- echo "$DTF_TEST_ID"
- exit 0
- fi
-
- if test -n "$dtf_option_testids"; then
- [[ "$dtf_option_testids" = *\ $DTF_TEST_ID\ * ]] || exit 0
- fi
-
- printf "%-40s" "RUN $DTF_TEST_ID ..."
-
- set -o pipefail
-
- ( . "$dtf_srcdir/lib.sh" || exit 1
-
- . ./config.sh
- . ./runtest.sh
- rv=$?
-
- test -n "$DTF_RESULT_TARBALL" \
- && cp "$DTF_RESULT_TARBALL" "$dtf_resultdir/$dtf_test_id.tar.gz"
-
- { echo "---"
- echo "exit_status: $rv"
- echo "finished: \"$(date)\""
- } >> "$dtf_resultdir/$dtf_test_id.result"
-
- exit $rv
- ) 2>&1 | eval "$output_wrapper"
- rv=$?
-
- test $rv -eq 0 && echo "[ OK ]" || echo "[ FAIL ]"
- exit $rv
- )
-}
-
-prepare_resultdir()
-{
- if test -e "$dtf_resultdir"; then
- test $dtf_option_force -eq 0 && die "result dir $dtf_resultdir exits"
-
- rm -rf "$dtf_resultdir" || die "can not remove $dtf_resultdir"
- fi
-
- mkdir -p "$dtf_resultdir" || die "can not create $dtf_resultdir"
-}
-
-show_help()
-{
-cat <<EOHELP >&2
-Usage: $0 [OPTIONS]
-
-Script is aimed to perform set of tests in subdirectories.
-
-Options:
- --force Overwrite result dir if exists
- --listonly List the available test ids
- --testid=TESTID Perform this test only
- --verbose Show complete output from each test
- --help Show this help
-EOHELP
-test -n "$1" && exit "$1"
-}
-
-longopts="verbose,help,force,testid:,listonly"
-ARGS=$(getopt -o "v" -l "$longopts" -n "getopt" -- "$@")
-if [ $? -ne 0 ]; then
- echo "getopt error"
- exit 1
-fi
-eval set -- "$ARGS"
-
-while true; do
- case "$1" in
- --verbose)
- dtf_option_verbose=1
- shift
- ;;
- --force)
- dtf_option_force=1
- shift
- ;;
- --listonly)
- dtf_option_listonly=1
- shift
- ;;
- --testid)
- dtf_option_testids="$dtf_option_testids $2 "
- shift 2
- ;;
- --help)
- show_help 0
- ;;
- --)
- shift
- break
- ;;
- esac
-done
-
-test $dtf_option_listonly -ne 1 && prepare_resultdir
-
-dtf_resultxml_init "$dtf_resultxml_file"
-result=0
-while read i; do
- testdir=$(dirname "$i")
- run "$testdir" || result=1
-
- if test $result -eq 0; then
- dtf_resultxml_cache "<result>Success</result></test>"
- else
- dtf_resultxml_cache "<result>Fail</result></test>"
- fi
-done <<<"$(find "$dtf_testdir" -name runtest.sh)"
-dtf_resultxml_finish
-
-exit $result