1 TESTS = examples threads p1 userprog p2 vm p3 filesys p4
3 PATH := $(shell pwd)/../src/utils:$(PATH)
6 @echo "This Makefile has only \`check' targets."
9 $(MAKE) -C .. distclean
10 for d in $(TESTS); do $(MAKE) $$d || exit 1; done
11 @echo All tests passed.
17 rm -rf $@ && mkdir $@ && cp -R ../src $@/src
18 cd $@/src && $(MAKE) -s clean
22 cd $@/src/$(PROJECT) && time $(MAKE) check
26 cd $@/src/$(PROJECT) && $(MAKE) grade
27 cd $@/src/$(PROJECT) && grep -q PERFECT build/grade
28 cd $@/src/$(PROJECT) && grep -qv warning build/grade
32 cd $@/src/$(PROJECT) && $(MAKE)
36 cd $@/src/$(PROJECT)/build && $(MAKE) clean
37 cd $@/src/$(PROJECT)/build && set `find -type f` > /dev/null && test $$# = 1
45 (cd $@ && patch -p0) < ../solutions/$@.patch
50 p2: PROJECT = userprog
54 # Tests that just compile the provided code.
58 $(run-tests) TESTS=tests/threads/alarm-single
71 # Tests for the reference solutions.