diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2014-10-22 09:53:30 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2014-10-22 09:53:30 +0200 |
commit | 62d1756eedc76936d17394d76a2cea2e596ac7c6 (patch) | |
tree | bd01e57682321f1ed07974e46474fd5c4b44594e /controller | |
parent | 2422a081a5be0d5ac5afb122361bc283da67341f (diff) | |
download | postgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.tar.gz postgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.tar.xz postgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.zip |
tester/controller: better test-result layout
Make sure that on tester machine everything is put into
$DTF_RESULTDIR. Similarly, on controller machine, everything
should be put into --workdir.
* controller/run_remote: Detect $srcdir.
(workdir_prereq): The $opt_workdir is temporary directory by
default.
* tester/run (run): Task results now go into $DTF_RESULTDIR/tasks.
The main xml result goes into $DTF_RESULT/dtf.xml.
Diffstat (limited to 'controller')
-rwxr-xr-x | controller/run_remote | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/controller/run_remote b/controller/run_remote index 0f7ccc3..0b405aa 100755 --- a/controller/run_remote +++ b/controller/run_remote @@ -1,15 +1,17 @@ #!/bin/bash -. config/config.sh || { - echo >&2 "sorry, but config/config.sh not found" +srcdir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) || exit 1 + +. "$srcdir/config/config.sh" || { + echo >&2 "sorry, but $srcdir/config/config.sh not found" exit 1 } longopts="verbose,help,force,testid:,listonly" -run_playbook=${run_playbook-ansible/fedora.yml} +run_playbook=${run_playbook-$srcdir/ansible/fedora.yml} -opt_workdir=/var/tmp/dbt-results +opt_workdir= opt_distro=fedora opt_openstack_instance="$DTF_OPENSTACK_ID" opt_distro_ver=20 @@ -67,16 +69,27 @@ done test -z "$opt_taskdir" && die "you must specify --taskdir" -credsfile="$(readlink -f "./private/os/$opt_openstack_instance.yml")" +credsfile="$(readlink -f "$srcdir/private/os/$opt_openstack_instance.yml")" test -z "$credsfile" && die "--ansible-creds option must be specified" test ! -f "$credsfile" && die "file $credsfile not found" -config_os_file="$(readlink -f "./config/os/$opt_openstack_instance.sh")" +config_os_file="$(readlink -f "$srcdir/config/os/$opt_openstack_instance.sh")" test ! -r "$config_os_file" && die "file $config_os_file not found" . "$config_os_file" config_os_id="$opt_distro$opt_distro_ver" +workdir_prereq() +{ + if test -z "$opt_workdir"; then + opt_workdir="$(mktemp -d "/tmp/dtf-remoterun-workdir-XXXXXX")" \ + || die "can't create workdir '$opt_workdir'" + echo "temporary workdir created: $opt_workdir" + elif test ! -d "$opt_workdir"; then + mkdir -p "$opt_workdir" || die "can't create workdir '$opt_workdir'" + fi +} + tarball() ( testsuite_name="$(basename "$opt_taskdir")" @@ -84,6 +97,8 @@ tarball() "$opt_taskdir/run" --dist | gzip > "$opt_workdir/$testsuite_name.tar.gz" ) +workdir_prereq + testsuite_name="$(tarball)" || die "can not create dist tarball" export ANSIBLE_HOST_KEY_CHECKING=False |