diff options
| author | Pavel Raiskup <praiskup@redhat.com> | 2014-10-22 08:54:05 +0200 |
|---|---|---|
| committer | Pavel Raiskup <praiskup@redhat.com> | 2014-10-22 08:54:05 +0200 |
| commit | 2422a081a5be0d5ac5afb122361bc283da67341f (patch) | |
| tree | cb255582060af6547dd9318c56ba0e8c761846a1 /run | |
| parent | 922089746e1029de9be986672fcdeb6bc82e18d7 (diff) | |
| download | postgresql-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-x | run | 179 |
1 files changed, 0 insertions, 179 deletions
@@ -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 |
