X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Ffilesys%2Frun-tests;h=1b768abf84beb073ab3d15a5e4c1bf9fb7f1a0ad;hb=654121cfc127bc8e1e9aa8859c2d68f0dc4330cb;hp=0f1f8ebd51c3d68981ad7b5e5976dd44c0358441;hpb=4a78889ac2a99d515119aa599d640fc81e9ba833;p=pintos-anon diff --git a/grading/filesys/run-tests b/grading/filesys/run-tests index 0f1f8eb..1b768ab 100755 --- a/grading/filesys/run-tests +++ b/grading/filesys/run-tests @@ -19,24 +19,20 @@ our (@TESTS); # Tests to run. our ($test); our ($action); -parse_cmd_line (); +parse_cmd_line qw (sm-create sm-full sm-seq-block sm-seq-random sm-random -# Default set of tests. -@TESTS = qw (sm-create sm-full sm-seq-block sm-seq-random sm-random + lg-create lg-full lg-seq-block lg-seq-random lg-random - lg-create lg-full lg-seq-block lg-seq-random lg-random + grow-create grow-seq-sm grow-seq-lg grow-file-size grow-tell + grow-sparse grow-too-big grow-root-sm grow-root-lg + grow-dir-lg grow-two-files - grow-create grow-seq-sm grow-seq-lg grow-file-size grow-tell - grow-sparse grow-too-big grow-root-sm grow-root-lg grow-dir-lg - grow-two-files + dir-mkdir dir-rmdir dir-mk-vine dir-rm-vine dir-mk-tree + dir-rm-tree dir-lsdir dir-rm-cwd dir-rm-cwd-cd + dir-rm-parent dir-rm-root dir-over-file dir-under-file + dir-empty-name dir-open - dir-mkdir dir-rmdir dir-mk-vine dir-rm-vine dir-mk-tree - dir-rm-tree dir-lsdir dir-rm-cwd dir-rm-cwd-cd - dir-rm-parent dir-rm-root dir-over-file dir-under-file - dir-empty-name dir-open - - syn-remove syn-read syn-write syn-rw - ) unless @TESTS > 0; + syn-remove syn-read syn-write syn-rw); clean_dir (), exit if $action eq 'clean'; @@ -44,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'; @@ -68,13 +64,12 @@ sub run_test { DIE => "failed to create swap disk"); # Format disk, install test. - my ($pintos_base_cmd) = - "pintos " - . "--os-disk=pintos/src/$hw/build/os.dsk " - . "--fs-disk=output/$test/fs.dsk " - . "--swap-disk=output/$test/swap.dsk " - . "-v"; - $result = run_pintos ("$pintos_base_cmd put -f $GRADES_DIR/$test $test", + my (@base_opts) = ("--os-disk=pintos/src/$hw/build/os.dsk", + "--fs-disk=output/$test/fs.dsk", + "--swap-disk=output/$test/swap.dsk", + "-v"); + $result = run_pintos ([@base_opts, + "put", "-f", "$GRADES_DIR/$test", $test], LOG => "$test/put", TIMEOUT => 60); return $result if $result ne 'ok'; @@ -83,13 +78,13 @@ sub run_test { push (@extra_files, "child-syn-wrt") if $test eq 'syn-write'; push (@extra_files, "child-syn-rw") if $test eq 'syn-rw'; for my $fn (@extra_files) { - $result = run_pintos ("$pintos_base_cmd put $GRADES_DIR/$fn $fn", + $result = run_pintos ([@base_opts, "put", "$GRADES_DIR/$fn", $fn], LOG => "$test/put-$fn", TIMEOUT => 60); return "Error running `put $fn': $result" if $result ne 'ok'; } # Run. - return run_pintos ("$pintos_base_cmd run -q -ex \"$test\"", + return run_pintos ([@base_opts, "run", "-q", "-ex", $test], LOG => "$test/run", TIMEOUT => 120); }