From c9bb26a8e2aa8ad0bc33c10730bc30b896ad4755 Mon Sep 17 00:00:00 2001
From: dam1n19 <dam1n19@soton.ac.uk>
Date: Fri, 30 Jun 2023 21:25:35 +0100
Subject: [PATCH] Added Timeout to regression simulations

---
 makefile | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/makefile b/makefile
index bef867d..23e891d 100644
--- a/makefile
+++ b/makefile
@@ -167,6 +167,9 @@ SW_MAKE_OPTIONS = CPU_PRODUCT=$(CPU_PRODUCT) TOOL_CHAIN=$(TOOL_CHAIN)
 # How many tests to Run In Parallel in a Regression
 PARALLEL_TESTS = 4
 
+# Regression Simulation Timeout
+TIMEOUT = 30m
+
 # Create a Directory to Run a Regression in
 $(eval REGRESSION_NAME =$(shell date +%Y_%m_%d_%H_%M_%S))
 $(eval REGRESSION_DIR =  $(SIM_TOP_DIR)/regression_$(REGRESSION_NAME))
@@ -181,7 +184,7 @@ define mti_template
 .PHONY: $(1)
 mti_$(1):
 	@echo Running test $(1)
-	@$(MAKE) -j1 run_mti TESTNAME=$(1) > $$(REGRESSION)/$(1).log
+	@timeout $(TIMEOUT) $(MAKE) -j1 run_mti TESTNAME=$(1) > $$(REGRESSION)/$(1).log
 	@if cat $$(REGRESSION)/$(1).log | grep -i "Test Passed"; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null
 endef
 
@@ -189,7 +192,7 @@ define xm_template
 .PHONY: $(1)
 xm_$(1):
 	@echo Running test $(1)
-	@$(MAKE) -j1 run_xm TESTNAME=$(1) > $$(REGRESSION)/$(1).log
+	@timeout $(TIMEOUT) @$(MAKE) -j1 run_xm TESTNAME=$(1) > $$(REGRESSION)/$(1).log
 	@if cat $$(REGRESSION)/$(1).log | grep -i "Test Passed"; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null
 endef
 
@@ -197,7 +200,7 @@ define vcs_template
 .PHONY: $(1)
 vcs_$(1):
 	@echo Running test $(1)
-	@$(MAKE) -j1 run_vcs TESTNAME=$(1) > $$(REGRESSION)/$(1).log
+	@timeout $(TIMEOUT) @$(MAKE) -j1 run_vcs TESTNAME=$(1) > $$(REGRESSION)/$(1).log
 	@if cat $$(REGRESSION)/$(1).log | grep -i "Test Passed"; then echo "$(1): PASSED" >> $$(REGRESSION)/RESULTS.log; else echo "$(1): FAILED" >> $$(REGRESSION)/RESULTS.log; fi > /dev/null
 endef
 
-- 
GitLab