projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use runtime options instead of conditional compilation for MLFQS,
[pintos-anon]
/
grading
/
lib
/
Pintos
/
Grading.pm
diff --git
a/grading/lib/Pintos/Grading.pm
b/grading/lib/Pintos/Grading.pm
index 30ac7101493b473bf96a316f0268e986f64581fb..ad2a8259ea85a88683357e883895ea5a6ed02c04 100644
(file)
--- a/
grading/lib/Pintos/Grading.pm
+++ b/
grading/lib/Pintos/Grading.pm
@@
-96,9
+96,8
@@
EOF
\f
# Source tarballs.
\f
# Source tarballs.
-# Extracts the group's source files into pintos/src,
-# applies any patches providing in the grading directory,
-# and installs a default pintos/src/constants.h
+# Extracts the group's source files into pintos/src
+# and applies any patches providing in the grading directory.
sub extract_sources {
# Make sure the output dir exists.
-d ("output") || mkdir ("output") or die "output: mkdir: $!\n";
sub extract_sources {
# Make sure the output dir exists.
-d ("output") || mkdir ("output") or die "output: mkdir: $!\n";
@@
-137,12
+136,6
@@
sub extract_sources {
xsystem ("patch -fs -p0 < $patch",
LOG => $stem, DIE => "applying patch $stem failed\n");
}
xsystem ("patch -fs -p0 < $patch",
LOG => $stem, DIE => "applying patch $stem failed\n");
}
-
- # Install default pintos/src/constants.h.
- open (CONSTANTS, ">pintos/src/constants.h")
- or die "constants.h: create: $!\n";
- print CONSTANTS "#define THREAD_JOIN_IMPLEMENTED 1\n";
- close CONSTANTS;
}
# Returns the name of the tarball to extract.
}
# Returns the name of the tarball to extract.
@@
-422,7
+415,14
@@
sub run_pintos {
sub grade_test {
# Read test output.
my ($outfile) = "output/$test/run.out";
sub grade_test {
# Read test output.
my ($outfile) = "output/$test/run.out";
- die "$outfile: missing test output file (make failed?)" if ! -e $outfile;
+ if (! -e $outfile) {
+ if (-s "output/$test/make.err") {
+ # make failed.
+ $details{$test} = snarf ("output/$test/make.err");
+ return "make failed. Error messages at end of file.";
+ }
+ return "preparation for test failed";
+ }
my (@output) = snarf ($outfile);
# If there's a function "grade_$test", use it to evaluate the output.
my (@output) = snarf ($outfile);
# If there's a function "grade_$test", use it to evaluate the output.