X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Fuserprog%2Frun-tests;h=b09bc5e200a589f2031f60494a7afbad10b6e875;hb=2969f4df6a95b37e05ad6aa562ae82206b646eb0;hp=9384ebad57cdb4a33ef9d393ae7fda424d4575cc;hpb=be193f8d945ee145b404e8b33fae7616a4b408f4;p=pintos-anon diff --git a/grading/userprog/run-tests b/grading/userprog/run-tests index 9384eba..b09bc5e 100755 --- a/grading/userprog/run-tests +++ b/grading/userprog/run-tests @@ -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'"; @@ -74,10 +82,9 @@ sub run_test { # Run. my ($timeout) = $test !~ /^multi-/ ? 10 : 600; - my ($result) = run_pintos ("pintos " - . "--os-disk=pintos/src/userprog/build/os.dsk " - . "--fs-disk=output/$test/fs.dsk " - . "-v run -q -ex \"$test$args\"", + my ($result) = run_pintos (["--os-disk=pintos/src/userprog/build/os.dsk", + "--fs-disk=output/$test/fs.dsk", + "-v", "run", "-q", "-ex", "$test$args"], LOG => "$test/run", TIMEOUT => $timeout); rename "output/$test/fs.dsk", "output/$test/fs.dsk.keep" @@ -156,13 +163,11 @@ sub grade_multi_oom { sub get_file { my ($guest_fn, $host_fn) = @_; - my ($result) = run_pintos ("pintos " - . "--os-disk=pintos/src/userprog/build/os.dsk " - . "--fs-disk=output/$test/fs.dsk.keep " - . "-v get $guest_fn $host_fn", + my ($result) = run_pintos (["--os-disk=pintos/src/userprog/build/os.dsk", + "--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'; }