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'";
# 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);
}