summaryrefslogtreecommitdiffstats
path: root/controller/libexec
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-10-27 14:05:44 +0100
committerPavel Raiskup <praiskup@redhat.com>2014-10-27 14:05:44 +0100
commit62fdcbeaa5db9c2413a61f5f9a82d36835cb70bb (patch)
tree585ffd9bfbac6945bd0475f73523a4666e051e09 /controller/libexec
parentf0e3aae770431b243403d74cf4d90bd7b673f319 (diff)
downloadpostgresql-setup-tests-62fdcbeaa5db9c2413a61f5f9a82d36835cb70bb.tar.gz
postgresql-setup-tests-62fdcbeaa5db9c2413a61f5f9a82d36835cb70bb.tar.xz
postgresql-setup-tests-62fdcbeaa5db9c2413a61f5f9a82d36835cb70bb.zip
controller: better connect with other utilities
* controller/bin/dtf-controller.in (subcommand): Generate stdout and stderr files separately. (child_task): Generate '*.err' and '*.out' logs for subcommands. Call dtf-run-remote with --distro/--distro-version options. Call the dtf-result-stats finally and save its output to results.html. (main): Simple debugging info and comment adjusting. * controller/libexec/dtf-commit-results.in: Tak three arguments now. * controller/libexec/dtf-result-stats.in: Better read the 'tester/run' output. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Run the 'run --force' instead of 'run' on remote host. * controller/share/dtf-controller/results-stats-templates/html.tmpl React on exit_status 2.
Diffstat (limited to 'controller/libexec')
-rw-r--r--controller/libexec/dtf-commit-results.in9
-rw-r--r--controller/libexec/dtf-result-stats.in21
2 files changed, 20 insertions, 10 deletions
diff --git a/controller/libexec/dtf-commit-results.in b/controller/libexec/dtf-commit-results.in
index 6b33022..b1d5bf2 100644
--- a/controller/libexec/dtf-commit-results.in
+++ b/controller/libexec/dtf-commit-results.in
@@ -1,12 +1,15 @@
#!/bin/bash
+## $ dtf-commit-results RESULTS SUBDIR [ DB ]
+
. "@sysconfdir@/dtf.sh" || exit 1
# argparse
resultdir="$1"
+subresultdir="$2"
db="$DTF_DATABASE_DEFAULT"
-test -n "$2" && db="$2"
+test -n "$3" && db="$3"
if test -z "$db" \
|| test -z "$resultdir" \
@@ -16,4 +19,6 @@ then
exit 1
fi
-( cd "$resultdir" && tar -xf dtf.tar.gz && cp -r . "$db" )
+mkdir -p "$db/$subresultdir" || exit 1
+
+( cd "$resultdir" && tar -xf dtf.tar.gz && cp -r . "$db/$subresultdir" )
diff --git a/controller/libexec/dtf-result-stats.in b/controller/libexec/dtf-result-stats.in
index d4db46f..92fd45f 100644
--- a/controller/libexec/dtf-result-stats.in
+++ b/controller/libexec/dtf-result-stats.in
@@ -44,17 +44,26 @@ my $task_ids = {};
# go through *each* result directory
my $olddir = getcwd;
-for (`find "$workdir" -maxdepth 1 -type d`) {
+for (`find "$workdir" -mindepth 1 -maxdepth 1 -type d | sort`) {
chomp;
chdir $_;
my $run_results = {};
$run_results->{dirname} = basename($_);
$run_results->{tasks} = {};
- $run_results->{exit_status} = 0;
+
+ my $glob_result;
+ my $fdg;
+ if (not open $fdg, '<', "dtf/result.yml") {
+ $run_results->{exit_status} = 2;
+ }
+ else {
+ $run_results->{glob} = YAML::Syck::LoadFile($fdg);
+ $run_results->{exit_status} = $run_results->{glob}->{exit_status};
+ }
# go through each task
- for (`find -maxdepth 1 -type f -name '*.result'`) {
+ for (`find dtf/tasks -type f -name '*.result'`) {
chomp;
(my $task_id = $_) =~ s/\.result$//;
@@ -65,11 +74,7 @@ for (`find "$workdir" -maxdepth 1 -type d`) {
open my $fd, '<', $yaml_file
or die "can't open yaml file '$yaml_file'";
- my $config = YAML::Syck::LoadFile($fd);
- if ($config->{exit_status} != 0) {
- $run_results->{exit_status} = 1;
- }
- $run_results->{tasks}->{$task_id} = $config;
+ $run_results->{tasks}->{$task_id} = YAML::Syck::LoadFile($fd);
}
push @{$data}, $run_results;