]> xenbits.xensource.com Git - people/iwj/osstest.git/commitdiff
wip reorg when Standalone do not check for dependent jobs
authorIan Jackson <iwj@woking.cam.xci-test.com>
Wed, 17 Oct 2012 13:08:10 +0000 (14:08 +0100)
committerIan Jackson <iwj@woking.cam.xci-test.com>
Wed, 17 Oct 2012 13:08:10 +0000 (14:08 +0100)
Osstest/JobDB/Executive.pm
Osstest/JobDB/Standalone.pm
Osstest/TestSupport.pm

index e9ab3bd918141352e9886aa974fb3b8bc2df24f7..b6c4a5f73b3f614c12cffa564e06fd3be6d0a203 100644 (file)
@@ -129,4 +129,34 @@ sub jobdb_resource_shared_mark_ready { #method
     resource_shared_mark_ready(@_);
 }
 
+sub jobdb_check_other_job { #method
+    my ($mo, $flight,$job, $oflight,$ojob);
+
+    if ("$oflight.$ojob" ne "$flight.$job") {
+        my $jstmt= <<END;
+            SELECT * FROM jobs WHERE flight=? AND job=?
+END
+        my $jrow= $dbh_tests->selectrow_hashref($jstmt,{}, $oflight,$ojob);
+        $jrow or broken("job $oflight.$ojob not found (looking for $param)");
+        my $jstatus= $jrow->{'status'};
+
+        defined $jstatus or broken("job $oflight.$ojob no status?!");
+        if ($jstatus eq 'pass') {
+            # fine
+        } elsif ($jstatus eq 'queued') {
+            $jrow= $dbh_tests->selectrow_hashref($jstmt,{}, $flight,$job);
+            $jrow or broken("our job $flight.$job not found!");
+            my $ourstatus= $jrow->{'status'};
+            if ($ourstatus eq 'queued') {
+                logm("not running under sg-execute-*:".
+                     " $oflight.$ojob queued ok, for $param");
+            } else {
+                die "job $oflight.$ojob (for $param) queued (we are $ourstatus)";
+            }
+        } else {
+            broken("job $oflight.$ojob (for $param) $jstatus", 'blocked');
+        }
+    }
+}
+
 1;
index a55a212e3942d3917d74c6247cd91ea832a656d9..3094e5af4f4a8f1c6cedce53b503167c7a3bec28 100644 (file)
@@ -78,7 +78,9 @@ sub gen_ether_offset ($$) { #method
     my ($mo,$ho,$fl) = @_;
     return $< & 0xffff;
 }
-sub jobdb_resource_shared_mark_ready { }
 
+sub jobdb_resource_shared_mark_ready { } #method
+
+sub jobdb_check_other_job { } #method
 
 1;
index e704cffaf98a5da7a8d06c19c74e62fca25c3f15..4ef70cac6c31c55df633db41181a9805390a5086 100644 (file)
@@ -225,30 +225,7 @@ sub get_runvar_maybe ($$) {
     # may be run outside transaction, or with flights locked
     my ($oflight, $ojob) = otherflightjob($otherflightjob);
 
-    if ("$oflight.$ojob" ne "$flight.$job") {
-        my $jstmt= <<END;
-            SELECT * FROM jobs WHERE flight=? AND job=?
-END
-        my $jrow= $dbh_tests->selectrow_hashref($jstmt,{}, $oflight,$ojob);
-        $jrow or broken("job $oflight.$ojob not found (looking for $param)");
-        my $jstatus= $jrow->{'status'};
-        defined $jstatus or broken("job $oflight.$ojob no status?!");
-        if ($jstatus eq 'pass') {
-            # fine
-        } elsif ($jstatus eq 'queued') {
-            $jrow= $dbh_tests->selectrow_hashref($jstmt,{}, $flight,$job);
-            $jrow or broken("our job $flight.$job not found!");
-            my $ourstatus= $jrow->{'status'};
-            if ($ourstatus eq 'queued') {
-                logm("not running under sg-execute-*:".
-                     " $oflight.$ojob queued ok, for $param");
-            } else {
-                die "job $oflight.$ojob (for $param) queued (we are $ourstatus)";
-            }
-        } else {
-            broken("job $oflight.$ojob (for $param) $jstatus", 'blocked');
-        }
-    }
+    $mjobdb->jobdb_check_other_job($flight,$job, $oflight,$ojob);
 
     my $row= $dbh_tests->selectrow_arrayref(<<END,{}, $oflight,$ojob,$param);
         SELECT val FROM runvars WHERE flight=? AND job=? AND name=?