X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2FMakefile;h=456e083c81b17623978c9b9e15d94994d7479643;hb=d69dae5ba3dd631654503f32886acc805b54315f;hp=4771be08e0f344a8032012da3f3e568e6185372a;hpb=8a3f2e5c0ffdc3a7a33d0238056e728baa18cea6;p=pintos-anon diff --git a/tests/Makefile b/tests/Makefile index 4771be0..456e083 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,9 +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." + @echo "This Makefile has only \`check' targets." check: $(MAKE) -C .. distclean @@ -13,21 +13,23 @@ check: clean: rm -rf $(TESTS) +SUBMAKEFLAGS = -s + 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 -$(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 -$(MAKE) -C ../grading/filesys -s +$(MAKE) -C ../grading/filesys $(SUBMAKEFLAGS) endef define prep-grading @@ -36,6 +38,7 @@ endef define mk-sandbox rm -rf $@ && mkdir -p $@/pintos && cp -R ../src $@/pintos +cd $@/pintos/src && $(MAKE) clean $(SUBMAKEFLAGS) endef define run-tests @@ -47,7 +50,7 @@ rm -rf $@/pintos endef define apply-patch -(cd $@/pintos && patch -p0 -s) < +(cd $@/pintos && patch -p0) endef threads: PROJECT = threads @@ -59,39 +62,31 @@ threads:: 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) - $(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 -list stdlib:: +list stdlib stdio:: $(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:: - $(prep-grading) + $(prep-grading) null.dsk $(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) @@ -99,7 +94,7 @@ p2: PROJECT = userprog p2:: $(prep-grading) $(mk-sandbox) - $(apply-patch) ../solutions/p2.patch + $(apply-patch) < ../solutions/p2.patch $(run-tests) $(clean) @@ -107,12 +102,12 @@ vm: PROJECT = vm 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) - $(MAKE) -C $@/pintos/src/filesys -s + $(MAKE) -C $@/pintos/src/filesys $(SUBMAKEFLAGS) $(clean)