@@ -124,7 +124,13 @@ proc run-job {job} {
set ok 0
}
- if {$ok} { per-host-ts . = { ts-host-reuse post-test-ok } }
+ if {[llength $need_build_host]} {
+ run-ts !broken = ts-host-reuse final host
+ }
+ set reuse {}
+ if {$ok} { lappend reuse --post-test-ok }
+ eval [list per-host-ts !broken = { ts-host-reuse final }] $reuse
+
if {$ok} { setstatus pass }
if {[llength $need_build_host] && $ok} { jobdb::preserve-task 90 }
@@ -154,15 +154,22 @@ sub act_start_test () {
host_shared_mark_ready($ho, $sharetype, \%oldstate, 'mid-test');
}
-sub act_post_test_ok () {
- die if @ARGV;
- compute_test_sharetype();
- $ho = selecthost($whhost);
- return unless $ho->{Shared};
- die unless $ho->{Shared}{State} eq 'mid-test';
- post_test_cleanup();
- host_update_lifecycle_info($ho, 'final');
- host_shared_mark_ready($ho, $sharetype, 'mid-test', 'ready');
+sub act_final () {
+ if (!@ARGV) {
+ $ho = selecthost($whhost);
+ return unless $ho;
+ host_update_lifecycle_info($ho, 'final');
+ } elsif ("@ARGV" eq "--post-test-ok") {
+ compute_test_sharetype();
+ $ho = selecthost($whhost);
+ return unless $ho->{Shared};
+ die unless $ho->{Shared}{State} eq 'mid-test';
+ post_test_cleanup();
+ host_update_lifecycle_info($ho, 'final');
+ host_shared_mark_ready($ho, $sharetype, 'mid-test', 'ready');
+ } else {
+ die;
+ }
}
$action =~ y/-/_/;