When running a "test" or "assemble" target, run-tests now returns zero
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 9 Jan 2005 00:31:45 +0000 (00:31 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 9 Jan 2005 00:31:45 +0000 (00:31 +0000)
if all tests succeeded or nonzero if at least one failed.

grading/filesys/run-tests
grading/lib/Pintos/Grading.pm
grading/threads/run-tests
grading/userprog/run-tests
grading/vm/run-tests

index 143ab4a0de904664a237e28d556a1abdf3b35e88..7251cef06c412b4f2052ef63cf4feb2c92ea6e46 100755 (executable)
@@ -40,12 +40,12 @@ extract_sources ();
 exit if $action eq 'extract';
 
 build (); 
-exit if $action eq 'build';
+exit success () if $action eq 'build';
 
 run_and_grade_tests (); 
 write_grades (); 
 write_details ();
-exit if $action eq 'test';
+exit success () if $action eq 'test';
 
 assemble_final_grade ();
 exit if $action eq 'assemble';
index c2072a4f1c4714eb85a5f00e168f259c9698f4b5..7e5ec67fb008f7fc5ad06353b1f2c9ae574eb98f 100644 (file)
@@ -832,5 +832,12 @@ sub file_contains {
     close (FILE);
     return $equal;
 }
+\f
+sub success {
+    for my $test (@TESTS) {
+       return 1 if !defined ($result{$test}) || $result{$test} ne 'ok';
+    }
+    return 0;
+}
 
 1;
index 4199d94214f09b9b61348ff487f620937ea39dcd..73ab9a0697087724decac48e67dda3cb733ff70f 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'";
 
index 9384ebad57cdb4a33ef9d393ae7fda424d4575cc..ec185eebd47194f213ee97c82fc84995e6af7d99 100755 (executable)
@@ -20,6 +20,14 @@ our ($test);
 our (%extra);
 our ($action);
 
+if ($#ARGV == 0 && $ARGV[0] eq 'null') {
+    @TESTS = ('null');
+    extract_sources ();
+    build ();
+    run_and_grade_tests ();
+    exit success ();
+}
+
 parse_cmd_line qw (args-argc args-argv0 args-argvn args-single args-multiple
                   args-dbl-space
                   sc-bad-sp sc-bad-arg sc-boundary
@@ -49,10 +57,10 @@ exit if $action eq 'build';
 run_and_grade_tests (); 
 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'";
 
index 23fec9077e74e775ccbab7ec2fa01a1ecb586063..8f9e635db421bcc0c9e1b7492a9f563a7c3d63ee 100755 (executable)
@@ -35,10 +35,10 @@ exit if $action eq 'build';
 run_and_grade_tests (); 
 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'";