Improve.
[pintos-anon] / grading / threads / run-tests
index 028f4a5a6a20fc5f43b7b3ab5280d198f832afdd..75d4a704b8a05a55d8730288123949302c4f5c15 100755 (executable)
@@ -40,8 +40,7 @@ sub usage {
          "join-dummy", "join-invalid", "join-no",
          "priority-preempt", "priority-fifo", "priority-donate-one",
          "priority-donate-multiple", "priority-donate-nest",
-         #"mlfqs-on", "mlfqs-off"
-         )
+         "mlfqs-on", "mlfqs-off")
     unless @TESTS > 0;
 
 # Find the directory that contains the grading files.
@@ -171,7 +170,8 @@ sub really_run_test {
     # If there's residue from an earlier test, move it to .old.
     # If there's already a .old, delete it.
     xsystem ("rm -rf output/$test.old", VERBOSE => 1) if -d "output/$test.old";
-    rename "output/$test", "output/$test.old" or die "rename: $!\n";
+    rename "output/$test", "output/$test.old" or die "rename: $!\n"
+       if -d "output/$test";
 
     # Make output directory.
     mkdir "output/$test";
@@ -430,8 +430,10 @@ sub verify_common {
                $A2L = "i386-elf-addr2line";
            }
            open (A2L, "$A2L -fe output/$test/kernel.o @addrs|");
-           while (my $function = <A2L>) {
-               my ($line) = <A2L>;
+           for (;;) {
+               my ($function, $line);
+               last unless defined ($function = <A2L>);
+               $line = <A2L>;
                chomp $function;
                chomp $line;
                $details .= "  $function ($line)\n";