our (%extra);
our ($action);
-parse_cmd_line ();
-
-# Default set of tests.
-@TESTS = qw (args-argc args-argv0 args-argvn args-single args-multiple
- args-dbl-space
- sc-bad-sp sc-bad-arg sc-boundary
- halt exit
- create-normal create-empty create-null create-bad-ptr
- create-long create-exists create-bound
- open-normal open-missing open-boundary open-empty open-null
- open-bad-ptr open-twice
- close-normal close-twice close-stdin close-stdout close-bad-fd
- read-normal read-bad-ptr read-boundary read-zero read-stdout
- read-bad-fd
- write-normal write-bad-ptr write-boundary write-zero write-stdin
- write-bad-fd
- exec-once exec-arg exec-multiple exec-missing exec-bad-ptr
- join-simple join-twice join-killed join-bad-pid
- multi-recurse multi-oom multi-child-fd
- ) unless @TESTS > 0;
+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
+ halt exit
+ create-normal create-empty create-null create-bad-ptr
+ create-long create-exists create-bound
+ open-normal open-missing open-boundary open-empty open-null
+ open-bad-ptr open-twice
+ close-normal close-twice close-stdin close-stdout
+ close-bad-fd
+ read-normal read-bad-ptr read-boundary read-zero read-stdout
+ read-bad-fd
+ write-normal write-bad-ptr write-boundary write-zero
+ write-stdin write-bad-fd
+ exec-once exec-arg exec-multiple exec-missing exec-bad-ptr
+ join-simple join-twice join-killed join-bad-pid
+ multi-recurse multi-oom multi-child-fd);
clean_dir (), exit if $action eq 'clean';
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'";
. "--fs-disk=output/$test/fs.dsk.keep "
. "-v get $guest_fn $host_fn",
LOG => "$test/get-$guest_fn",
- TIMEOUT => 10,
- EXPECT => 0);
+ TIMEOUT => 10);
die "`pintos get $guest_fn' failed - $result\n"
if $result ne 'ok';
}