X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftests%2FMake.tests;h=6595b468eeb7c04d90def8f781396b89a650f8ee;hb=4aef5aa2e21ef46c7fcfe03f81b8dd8c60c64286;hp=44e8d5e495b91fb5a6727b99f3ebc8124f9c8da9;hpb=f3748f9fb653d45c2feae78facddd759f85d7d71;p=pintos-anon diff --git a/src/tests/Make.tests b/src/tests/Make.tests index 44e8d5e..6595b46 100644 --- a/src/tests/Make.tests +++ b/src/tests/Make.tests @@ -5,19 +5,16 @@ include $(patsubst %,$(SRCDIR)/%/Make.tests,$(TEST_SUBDIRS)) PROGS = $(foreach subdir,$(TEST_SUBDIRS),$($(subdir)_PROGS)) TESTS = $(foreach subdir,$(TEST_SUBDIRS),$($(subdir)_TESTS)) -include ../../Makefile.userprog - -TIMEOUT = 60 -PINTOSFLAGS += -v -T $(TIMEOUT) \ - $(foreach file,$(PUTFILES),-p $(file) -a $(notdir $(file))) -KERNELFLAGS += -q - -PINTOS = pintos $(PINTOSOPTS) $(PINTOSFLAGS) -- $(KERNELFLAGS) - OUTPUTS = $(addsuffix .output,$(TESTS)) ERRORS = $(addsuffix .errors,$(TESTS)) RESULTS = $(addsuffix .result,$(TESTS)) +ifdef PROGS +include ../../Makefile.userprog +endif + +TIMEOUT = 60 + clean:: rm -f $(OUTPUTS) $(ERRORS) $(RESULTS) @@ -48,11 +45,28 @@ outputs:: $(OUTPUTS) $(foreach prog,$(PROGS),$(eval $(prog).output: $(prog))) $(foreach test,$(TESTS),$(eval $(test).output: $($(test)_PUTFILES))) -tests/%.output: RUNCMD = $(if $($*_ARGS),run '$(*F) $($*_ARGS)',run $(*F)) -tests/%.output: RUNREDIR = 2>$*.errors $(if $(VERBOSE),|tee,>) $*.output -tests/%.output: RUNTEST = $(PINTOS) $(RUNCMD) $(RUNREDIR) +$(foreach test,$(TESTS),$(eval $(test).output: TEST = $(test))) + +TESTCMD = pintos -v -k -T $(TIMEOUT) +TESTCMD += $(SIMULATOR) +TESTCMD += $(PINTOSOPTS) +ifeq ($(filter userprog, $(KERNEL_SUBDIRS)), userprog) +TESTCMD += --fs-disk=$(FSDISK) +TESTCMD += $(foreach file,$(PUTFILES),-p $(file) -a $(notdir $(file))) +endif +ifeq ($(filter vm, $(KERNEL_SUBDIRS)), vm) +TESTCMD += --swap-disk=4 +endif +TESTCMD += -- -q +TESTCMD += $(KERNELFLAGS) +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 - $(RUNTEST) + $(TESTCMD) %.result: %.ck %.output perl -I$(SRCDIR) $< $* $@