X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftests%2FMake.tests;h=76d63f676cd838f76ffc20a75508ad377428ddca;hb=4b24a90c8f8a3df1e226237a72b6bce166c28e7c;hp=b98a75d33e65d460a565373d7682865551c7b448;hpb=b51bfd75c7f55f008d67ec13d895694fbfa22430;p=pintos-anon diff --git a/src/tests/Make.tests b/src/tests/Make.tests index b98a75d..76d63f6 100644 --- a/src/tests/Make.tests +++ b/src/tests/Make.tests @@ -4,10 +4,11 @@ include $(patsubst %,$(SRCDIR)/%/Make.tests,$(TEST_SUBDIRS)) PROGS = $(foreach subdir,$(TEST_SUBDIRS),$($(subdir)_PROGS)) TESTS = $(foreach subdir,$(TEST_SUBDIRS),$($(subdir)_TESTS)) +EXTRA_GRADES = $(foreach subdir,$(TEST_SUBDIRS),$($(subdir)_EXTRA_GRADES)) -OUTPUTS = $(addsuffix .output,$(TESTS)) -ERRORS = $(addsuffix .errors,$(TESTS)) -RESULTS = $(addsuffix .result,$(TESTS)) +OUTPUTS = $(addsuffix .output,$(TESTS) $(EXTRA_GRADES)) +ERRORS = $(addsuffix .errors,$(TESTS) $(EXTRA_GRADES)) +RESULTS = $(addsuffix .result,$(TESTS) $(EXTRA_GRADES)) ifdef PROGS include ../../Makefile.userprog @@ -33,7 +34,7 @@ check:: results fi results: $(RESULTS) - @for d in $(TESTS); do \ + @for d in $(TESTS) $(EXTRA_GRADES); do \ if echo PASS | cmp -s $$d.result -; then \ echo "pass $$d"; \ else \ @@ -47,7 +48,10 @@ $(foreach prog,$(PROGS),$(eval $(prog).output: $(prog))) $(foreach test,$(TESTS),$(eval $(test).output: $($(test)_PUTFILES))) $(foreach test,$(TESTS),$(eval $(test).output: TEST = $(test))) -TESTCMD = pintos -v -T $(TIMEOUT) +# Prevent an environment variable VERBOSE from surprising us. +VERBOSE = + +TESTCMD = pintos -v -k -T $(TIMEOUT) TESTCMD += $(SIMULATOR) TESTCMD += $(PINTOSOPTS) ifeq ($(filter userprog, $(KERNEL_SUBDIRS)), userprog) @@ -63,6 +67,7 @@ ifeq ($(filter userprog, $(KERNEL_SUBDIRS)), userprog) TESTCMD += -f endif TESTCMD += $(if $($(TEST)_ARGS),run '$(*F) $($(TEST)_ARGS)',run $(*F)) +TESTCMD += < /dev/null TESTCMD += 2> $(TEST).errors $(if $(VERBOSE),|tee,>) $(TEST).output %.output: os.dsk $(TESTCMD)