diff options
Diffstat (limited to 'controller/libexec')
-rw-r--r-- | controller/libexec/dtf-commit-results.in | 9 | ||||
-rw-r--r-- | controller/libexec/dtf-result-stats.in | 21 |
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; |