X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2FMakefile;h=866e3642cc340ae6de8ac0d7b1298fe07e9dd04a;hb=1802b7b7b8d5e3d6754da9468e22942a8c29982b;hp=38751cd1f4e7484a92a72de3968e8b06d9fe7f56;hpb=a705e9ae16e14e24d313916a0c5402e175f8cce5;p=pintos-anon diff --git a/tests/Makefile b/tests/Makefile index 38751cd..866e364 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,4 +1,4 @@ -TESTS = threads p1 userprog p2 vm p3 filesys p4 +TESTS = threads p1 userprog p2 vm p3 filesys p4 PATH := $(shell pwd)/../src/utils:$(PATH) @@ -21,11 +21,18 @@ cd $@/src && $(MAKE) clean $(SUBMAKEFLAGS) endef define run-tests -cd $@/src/$(PROJECT) && make check && make grade +cd $@/src/$(PROJECT) && $(MAKE) check +endef + +define run-tests-grade +cd $@/src/$(PROJECT) && $(MAKE) check +cd $@/src/$(PROJECT) && $(MAKE) grade +cd $@/src/$(PROJECT) && grep -q PERFECT build/grade +cd $@/src/$(PROJECT) && grep -qv warning build/grade endef define compile -cd $@/src/$(PROJECT) && make +cd $@/src/$(PROJECT) && $(MAKE) endef define clean @@ -49,30 +56,36 @@ userprog vm filesys:: $(compile) $(clean) +FAST_SIM := $(if $(shell which qemu),--qemu) +export PINTOSOPTS + p1: PROJECT = threads p1:: $(mk-sandbox) $(apply-patch) < ../solutions/p1.patch - $(run-tests) + $(run-tests-grade) $(clean) p2: PROJECT = userprog +p2: PINTOSOPTS = $(FAST_SIM) p2:: $(mk-sandbox) $(apply-patch) < ../solutions/p2.patch - $(run-tests) + $(run-tests-grade) $(clean) p3: PROJECT = vm +p3: PINTOSOPTS = $(FAST_SIM) p3:: $(mk-sandbox) $(apply-patch) < ../solutions/p3.patch - $(run-tests) + $(run-tests-grade) $(clean) p4: PROJECT = filesys +p4: PINTOSOPTS = $(FAST_SIM) p4:: $(mk-sandbox) $(apply-patch) < ../solutions/p4.patch - $(run-tests) + $(run-tests-grade) $(clean)