diff --git a/makefile b/makefile index 598813a433d487fbed1782ae87d8c4ef05b1dab8..43ec69b5ba764e18eee5f2a940103a3ba301d2df 100644 --- a/makefile +++ b/makefile @@ -202,28 +202,28 @@ TEST_LIST_VCS = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" # Create templates for Make Targets define mti_template -.PHONY: $(1) +.PHONY: mti_$(1) mti_$(1): @echo Starting Test $(1) - @timeout $(TIMEOUT) $$(MAKE) run_mti TESTNAME=$(1) > $$(REGRESSION)/$(1).log || true + @$$(MAKE) regression_test_mti TESTNAME=$(1) >> /dev/null 2>&1 @if cat $$(REGRESSION)/$(1).log | grep " TEST PASSED "; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; elif cat $$(REGRESSION)/$(1).log | grep " TEST SKIPPED "; then echo "$(1): SKIPPED"; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null @echo Finished Test $(1) endef define xm_template -.PHONY: $(1) +.PHONY: xm_$(1) xm_$(1): @echo Starting Test $(1) - @timeout $(TIMEOUT) $$(MAKE) -j1 run_xm TESTNAME=$(1) > $$(REGRESSION)/$(1).log || true + @$$(MAKE) regression_test_xm TESTNAME=$(1) >> /dev/null 2>&1 @if cat $$(REGRESSION)/$(1).log | grep " TEST PASSED "; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; elif cat $$(REGRESSION)/$(1).log | grep " TEST SKIPPED "; then echo "$(1): SKIPPED"; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null @echo Finished Test $(1) endef define vcs_template -.PHONY: $(1) +.PHONY: vcs_$(1) vcs_$(1): @echo Starting Test $(1) - @timeout $(TIMEOUT) $$(MAKE) -j1 run_vcs TESTNAME=$(1) > $$(REGRESSION)/$(1).log || true + @$$(MAKE) regression_test_vcs TESTNAME=$(1) >> /dev/null 2>&1 @if cat $$(REGRESSION)/$(1).log | grep -i " TEST PASSED "; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; elif cat $$(REGRESSION)/$(1).log | grep -i " TEST SKIPPED "; then echo "$(1): SKIPPED"; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null @echo Finished Test $(1) endef @@ -233,6 +233,16 @@ $(foreach TESTNAME,$(TEST_LIST), $(eval $(call mti_template,$(TESTNAME)))) $(foreach TESTNAME,$(TEST_LIST), $(eval $(call xm_template,$(TESTNAME)))) $(foreach TESTNAME,$(TEST_LIST), $(eval $(call vcs_template,$(TESTNAME)))) +# Make Simulate Targets with timeouts +regression_test_mti: + @timeout $(TIMEOUT) $(MAKE) run_mti TESTNAME=$(TESTNAME) > $(REGRESSION)/$(TESTNAME).log || true + +regression_test_xm: + @timeout $(TIMEOUT) $(MAKE) run_xm TESTNAME=$(TESTNAME) > $(REGRESSION)/$(TESTNAME).log || true + +regression_test_vcs: + @timeout $(TIMEOUT) $(MAKE) run_vxs TESTNAME=$(TESTNAME) > $(REGRESSION)/$(TESTNAME).log || true + # Create a List of PHONY Targets .PHONY: run_$(SIMULATOR) sim_$(SIMULATOR) all_$(SIMULATOR) test_$(SIMULATOR) @@ -326,8 +336,13 @@ run_mti : code compile_mti @echo "run -all" > $(SIM_DIR)/run.tcl.tmp @echo "quit -f" >> $(SIM_DIR)/run.tcl.tmp @mv $(SIM_DIR)/run.tcl.tmp $(SIM_DIR)/run.tcl - cd $(SIM_DIR); vsim $(MTI_RUN_OPTIONS) -c $(TB_TOP) -do run.tcl | tee logs/run_$(TESTNAME).log ; + cd $(SIM_DIR); vsim $(MTI_RUN_OPTIONS) -c $(TB_TOP) -do run.tcl | tee $(SIM_DIR)/logs/run_$(TESTNAME).log ; +run_mti_to: + timeout 2s $(MAKE) run_mti >> /dev/null 2>&1 + +run_mti_wrap: + $(MAKE) run_mti_to test_mti: @echo $(TESTNAME)