From fa223f5e228f123edf1abaa847ae5cd6fe609bf8 Mon Sep 17 00:00:00 2001 From: Alexandre Choura Date: Thu, 1 Feb 2024 10:16:37 +0100 Subject: [PATCH] refactor: Randomized tests sequence --- tests/randomized/lib/MakefileGenerator.php | 2 +- tests/randomized/lib/run-base-docker-compose.sh | 2 +- .../lib/templates/Makefile.scenario.template | 10 ++-------- .../randomized/lib/templates/Makefile.template | 17 ++++++++++++++++- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/tests/randomized/lib/MakefileGenerator.php b/tests/randomized/lib/MakefileGenerator.php index 47aee1b0edc..f9f77d5451d 100644 --- a/tests/randomized/lib/MakefileGenerator.php +++ b/tests/randomized/lib/MakefileGenerator.php @@ -8,7 +8,7 @@ public function generate($destination, array $scenarioNames) { $targetsString = sprintf( implode( - " \\\n ", + " \\\n\t", array_map( function ($identifier) { return "test.scenario.$identifier"; diff --git a/tests/randomized/lib/run-base-docker-compose.sh b/tests/randomized/lib/run-base-docker-compose.sh index 8c007d6503f..e84100bf1ad 100755 --- a/tests/randomized/lib/run-base-docker-compose.sh +++ b/tests/randomized/lib/run-base-docker-compose.sh @@ -3,7 +3,7 @@ cd "$(dirname "$0")" LOCK=/tmp/randomized-tests-lock-dir -DOCKER_LOGS_DIR=./../.tmp.scenarios/.results/$SCENARIO/docker-logs +DOCKER_LOGS_DIR=./../.tmp.scenarios/.results/docker-logs while true; do if mkdir $LOCK 2>/dev/null; then trap "rmdir $LOCK" EXIT diff --git a/tests/randomized/lib/templates/Makefile.scenario.template b/tests/randomized/lib/templates/Makefile.scenario.template index 0480485e80d..67a75f86835 100644 --- a/tests/randomized/lib/templates/Makefile.scenario.template +++ b/tests/randomized/lib/templates/Makefile.scenario.template @@ -3,20 +3,14 @@ DURATION := 30s SCENARIO := {{scenario_name}} run: prepare_results_folders - @SCENARIO=$(SCENARIO) bash ../../lib/run-base-docker-compose.sh - sleep 1 @DURATION=$(DURATION) docker-compose up php-test-$(SCENARIO) - sleep 1 @docker-compose down - sleep 1 - @SCENARIO=$(SCENARIO) bash ../../lib/run-base-docker-compose.sh shutdown - sleep 1 shell: prepare_results_folders - @SCENARIO=$(SCENARIO) bash ../../lib/run-base-docker-compose.sh + @bash ../../lib/run-base-docker-compose.sh @docker-compose run --rm php-test-$(SCENARIO) bash @docker-compose down - @SCENARIO=$(SCENARIO) bash ../../lib/run-base-docker-compose.sh shutdown + @bash ../../lib/run-base-docker-compose.sh shutdown prepare_results_folders: @rm -rf $(RESULTS_DIR)/$(SCENARIO) diff --git a/tests/randomized/lib/templates/Makefile.template b/tests/randomized/lib/templates/Makefile.template index cf0c6a2a232..32be7d61fed 100644 --- a/tests/randomized/lib/templates/Makefile.template +++ b/tests/randomized/lib/templates/Makefile.template @@ -1,4 +1,6 @@ +.SHELLFLAGS = -e DURATION := 30s +RESULTS_DIR := .results test.scenario.%: @make -C $(*) run DURATION=$(DURATION) @@ -6,6 +8,19 @@ test.scenario.%: shell.scenario.%: @make -C $(*) shell -test: {{test_targets}} +test: prepare_docker_logs_folder \ + start_base_docker \ + {{test_targets}} \ + shutdown_base_docker + +prepare_docker_logs_folder: + @mkdir -p $(RESULTS_DIR)/docker-logs + @chmod -R a+w $(RESULTS_DIR)/docker-logs + +start_base_docker: + @bash ../lib/run-base-docker-compose.sh + +shutdown_base_docker: + @bash ../lib/run-base-docker-compose.sh shutdown # keep this line to avoid whitespace errors with generated files