projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Get rid of unnecessary barrier. Improve comment.
[pintos-anon]
/
tests
/
Makefile
diff --git
a/tests/Makefile
b/tests/Makefile
index f7c813184e6a1eddbbeb146f343ae674f207db31..58ca41791bf3cfb5568a673b87cf9fa8bd248f72 100644
(file)
--- a/
tests/Makefile
+++ b/
tests/Makefile
@@
-1,4
+1,9
@@
-TESTS = threads p1-1 p1-2 p1-3 list stdlib userprog p2 vm filesys
+TESTS = threads p1-1 p1-2 list stdlib stdio userprog p2 vm filesys
+
+PATH := $(shell pwd)/../src/utils:$(PATH)
+
+all:
+ @echo "This Makefile has only \`check' targets."
check:
$(MAKE) -C .. distclean
check:
$(MAKE) -C .. distclean
@@
-8,21
+13,23
@@
check:
clean:
rm -rf $(TESTS)
clean:
rm -rf $(TESTS)
+SUBMAKEFLAGS = -s
+
define prep-threads-grading
endef
define prep-userprog-grading
define prep-threads-grading
endef
define prep-userprog-grading
-$(MAKE) -C ../src/userprog
-s
-$(MAKE) -C ../grading/userprog
-s
+$(MAKE) -C ../src/userprog
$(SUBMAKEFLAGS)
+$(MAKE) -C ../grading/userprog
$(SUBMAKEFLAGS)
endef
define prep-vm-grading
endef
define prep-vm-grading
-$(MAKE) -C ../src/userprog
-s
-$(MAKE) -C ../grading/vm
-s
+$(MAKE) -C ../src/userprog
$(SUBMAKEFLAGS)
+$(MAKE) -C ../grading/vm
$(SUBMAKEFLAGS)
endef
define prep-filesys-grading
endef
define prep-filesys-grading
-$(MAKE) -C ../grading/filesys
-s
+$(MAKE) -C ../grading/filesys
$(SUBMAKEFLAGS)
endef
define prep-grading
endef
define prep-grading
@@
-31,6
+38,7
@@
endef
define mk-sandbox
rm -rf $@ && mkdir -p $@/pintos && cp -R ../src $@/pintos
define mk-sandbox
rm -rf $@ && mkdir -p $@/pintos && cp -R ../src $@/pintos
+cd $@/pintos/src && $(MAKE) clean $(SUBMAKEFLAGS)
endef
define run-tests
endef
define run-tests
@@
-38,11
+46,11
@@
cd $@ && ../../grading/$(PROJECT)/run-tests
endef
define clean
endef
define clean
-rm -rf $@
/pintos
+rm -rf $@
endef
define apply-patch
endef
define apply-patch
-(cd $@/pintos && patch -p0
-s) <
+(cd $@/pintos && patch -p0
)
endef
threads: PROJECT = threads
endef
threads: PROJECT = threads
@@
-54,39
+62,31
@@
threads::
p1-1: PROJECT = threads
p1-1::
$(mk-sandbox)
p1-1: PROJECT = threads
p1-1::
$(mk-sandbox)
- $(apply-patch) ../solutions/p1-1.patch
+ $(apply-patch)
<
../solutions/p1-1.patch
$(run-tests) -d alarm.*
$(clean)
p1-2: PROJECT = threads
p1-2::
$(mk-sandbox)
$(run-tests) -d alarm.*
$(clean)
p1-2: PROJECT = threads
p1-2::
$(mk-sandbox)
- $(apply-patch) ../solutions/p1-2.patch
- $(run-tests) -d join.*
- $(clean)
-
-p1-3: PROJECT = threads
-p1-3::
- $(mk-sandbox)
- $(apply-patch) ../solutions/p1-3.patch
+ $(apply-patch) < ../solutions/p1-2.patch
$(run-tests) -d priority.*
$(clean)
list: PROJECT = threads
$(run-tests) -d priority.*
$(clean)
list: PROJECT = threads
-list stdlib::
+list stdlib
stdio
::
$(mk-sandbox)
cp ../src/tests/threads/$@.c $@/pintos/src/threads/test.c
$(mk-sandbox)
cp ../src/tests/threads/$@.c $@/pintos/src/threads/test.c
- $(MAKE) -C $@/pintos/src/threads
-s
+ $(MAKE) -C $@/pintos/src/threads
$(SUBMAKEFLAGS)
-(cd $@/pintos/src/threads/build && pintos -v run -q) | tee $@/output
grep -q '$@: PASS' $@/output
$(clean)
userprog: PROJECT = userprog
userprog::
-(cd $@/pintos/src/threads/build && pintos -v run -q) | tee $@/output
grep -q '$@: PASS' $@/output
$(clean)
userprog: PROJECT = userprog
userprog::
- $(prep-grading)
+ $(prep-grading)
null.dsk
$(mk-sandbox)
$(mk-sandbox)
- $(apply-patch) ../solutions/p1-2.patch
- echo '#define THREAD_JOIN_IMPLEMENTED 1' > $@/pintos/src/constants.h
+ $(apply-patch) < ../solutions/p2-null.patch
$(run-tests) null
$(clean)
$(run-tests) null
$(clean)
@@
-94,7
+94,7
@@
p2: PROJECT = userprog
p2::
$(prep-grading)
$(mk-sandbox)
p2::
$(prep-grading)
$(mk-sandbox)
- $(apply-patch) ../solutions/p2.patch
+ $(apply-patch)
<
../solutions/p2.patch
$(run-tests)
$(clean)
$(run-tests)
$(clean)
@@
-102,12
+102,12
@@
vm: PROJECT = vm
vm::
$(prep-grading)
$(mk-sandbox)
vm::
$(prep-grading)
$(mk-sandbox)
- $(MAKE) -C $@/pintos/src/vm
-s
+ $(MAKE) -C $@/pintos/src/vm
$(SUBMAKEFLAGS)
$(clean)
filesys: PROJECT = filesys
filesys::
$(prep-grading)
$(mk-sandbox)
$(clean)
filesys: PROJECT = filesys
filesys::
$(prep-grading)
$(mk-sandbox)
- $(MAKE) -C $@/pintos/src/filesys
-s
+ $(MAKE) -C $@/pintos/src/filesys
$(SUBMAKEFLAGS)
$(clean)
$(clean)