Fix runaway bochs, pintos processes on time-outs.
[pintos-anon] / grading / threads / run-tests
index 4199d94214f09b9b61348ff487f620937ea39dcd..731499adc67e8a59f968ec71e21178fd6d56189f 100755 (executable)
@@ -44,10 +44,10 @@ if (defined ($result{'mlfqs-on'}) && defined ($result{'mlfqs-off'})) {
 }
 write_grades (); 
 write_details ();
-exit if $action eq 'test';
+exit success () if $action eq 'test';
 
 assemble_final_grade ();
-exit if $action eq 'assemble';
+exit success () if $action eq 'assemble';
 
 die "Don't know how to '$action'";
 
@@ -95,7 +95,8 @@ sub run_test {
 
     # Run.
     my ($timeout) = $test !~ /^mlfqs/ ? 10 : 600;
-    return run_pintos ("cd pintos/src/threads/build && pintos -v run -q",
+    return run_pintos (["-v", "run", "-q"],
+                      CHDIR => "pintos/src/threads/build",
                       LOG => "$test/run",
                       TIMEOUT => $timeout);
 }