Increase default timeout to 15 seconds.
[pintos-anon] / grading / threads / run-tests
index 931edb6022bada88172a518e6612c2ca87853ae3..0852f6f99536d11953debf5d61b4141c6e8ead38 100755 (executable)
@@ -37,15 +37,17 @@ exit if $action eq 'extract';
 build (); 
 exit if $action eq 'build';
 
-run_and_grade_tests (); 
-grade_mlfqs_speedup ();
-grade_mlfqs_priority ();
+run_and_grade_tests ();
+if (defined ($result{'mlfqs-on'}) && defined ($result{'mlfqs-off'})) {
+    grade_mlfqs_speedup ();
+    grade_mlfqs_priority ();
+}
 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'";
 
@@ -92,8 +94,9 @@ sub run_test {
     xsystem ("cp pintos/src/threads/build/os.dsk output/$test");
 
     # Run.
-    my ($timeout) = $test !~ /^mlfqs/ ? 10 : 600;
-    return run_pintos ("cd pintos/src/threads/build && pintos -v run -q",
+    my ($timeout) = $test !~ /^mlfqs/ ? 15 : 600;
+    return run_pintos (["-v", "run", "-q"],
+                      CHDIR => "pintos/src/threads/build",
                       LOG => "$test/run",
                       TIMEOUT => $timeout);
 }