X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Fuserprog%2Frun-tests;h=8104a7f307988b8d0ad193a8e597618b1f5b8d21;hb=a3c7056dd123d3b0642bcbecddc7e6d1f9535867;hp=dd7cd218b901d2e0fc889f4fe6916aa2e280f255;hpb=429a6ff164bf9e82f7e867c909865928aaf007aa;p=pintos-anon diff --git a/grading/userprog/run-tests b/grading/userprog/run-tests index dd7cd21..8104a7f 100755 --- a/grading/userprog/run-tests +++ b/grading/userprog/run-tests @@ -1,5 +1,15 @@ #! /usr/bin/perl +# Find the directory that contains the grading files. +our ($GRADES_DIR); + +# Add our Perl library directory to the include path. +BEGIN { + ($GRADES_DIR = $0) =~ s#/[^/]+$##; + -d $GRADES_DIR or die "$GRADES_DIR: stat: $!\n"; + unshift @INC, "$GRADES_DIR/../lib"; +} + use warnings; use strict; use POSIX; @@ -116,11 +126,6 @@ if ($grade) { exit 0; } -# Find the directory that contains the grading files. -our ($GRADES_DIR); -($GRADES_DIR = $0) =~ s#/[^/]+$##; --d $GRADES_DIR or die "$GRADES_DIR: stat: $!\n"; - if ($clean) { # Verify that we're roughly in the correct directory # before we go blasting away files. @@ -489,11 +494,12 @@ sub fix_exit_codes { local ($_) = $output[$i]; my ($process, $code); - if ((($process, $code) = /^([-a-zA-Z0-9 ]+):.*[ \(](-?\d+)\b\)?$/) - || (($process, $code) = /^([-a-zA-Z0-9 ]+) exit\((-?\d+)\)$/) + if ((($process, $code) = /^([-a-z0-9 ]+):.*[ \(](-?\d+)\b\)?$/) + || (($process, $code) = /^([-a-z0-9 ]+) exit\((-?\d+)\)$/) || (($process, $code) - = /^([-a-zA-Z0-9 ]+) \(.*\): exit\((-?\d+)\)$/) - || (($process, $code) = /^([-a-zA-Z0-9 ]+):\( (-?\d+) \) $/) + = /^([-a-z0-9 ]+) \(.*\): exit\((-?\d+)\)$/) + || (($process, $code) = /^([-a-z0-9 ]+):\( (-?\d+) \) $/) + || (($code, $process) = /^shell: exit\((-?\d+)\) \| ([-a-z0-9]+)/) ) { $process = substr ($process, 0, 15); $process =~ s/\s.*//;