@@ -34,6 +34,15 @@ TEST_MULTI_SERVER_GIT_REPO := https://github.com/InkbridgeNetworks/freeradius-
3434TEST_MULTI_SERVER_GIT_BRANCH := main
3535TEST_MULTI_SERVER_FRAMEWORK_DIR := $(abspath $(BUILD_DIR ) /freeradius-multi-server)
3636
37+ #
38+ # Suppress command echo unless VERBOSE is set
39+ #
40+ ifeq "$(VERBOSE ) " ""
41+ Q := @
42+ else
43+ Q :=
44+ endif
45+
3746#
3847# Debug and verbosity settings
3948# Pass TEST_MULTI_SERVER_FLAGS to add extra arguments to the test runner
@@ -97,9 +106,9 @@ TEST_MULTI_SERVER_CONFIG_FILES := $(shell find $(DIR)/configs -type f)
97106#
98107define TEST_MULTI_SERVER_RENDER
99108$(OUTPUT ) /${1}/${2}/$(notdir $(patsubst % .j2,% ,${4}) ) : ${4} ${3} $(TEST_MULTI_SERVER_CONFIG_FILES ) | $(TEST_MULTI_SERVER_FRAMEWORK_DIR ) /.configured
100- @ mkdir -p $$(@D )
101- @ echo "RENDER ${4} -> $$@ "
102- @ set -e; \
109+ ${Q} mkdir -p $$(@D )
110+ ${Q} echo "RENDER ${4} -> $$@ "
111+ ${Q} set -e; \
103112 cd $(TEST_MULTI_SERVER_FRAMEWORK_DIR ) ; \
104113 . .venv/bin/activate; \
105114 python3 -m src.config_builder \
@@ -109,7 +118,8 @@ $(OUTPUT)/${1}/${2}/$(notdir $(patsubst %.j2,%,${4})): ${4} ${3} $(TEST_MULTI_SE
109118 --include-path "$(DIR ) /configs" \
110119 --output-path "$$@ " \
111120 --process-volumes \
112- --volume-src "$(DIR ) /configs"
121+ --volume-src "$(DIR ) /configs" \
122+ >> "$$(@D ) /config_builder.log" 2>&1
113123endef
114124
115125#
@@ -131,22 +141,13 @@ $$(foreach j,$$(TEST_MULTI_SERVER_JINJA_FILES.${1}.${2}),$$(eval $$(call TEST_MU
131141
132142.PHONY: test.multi-server.${1}.${2}
133143test.multi-server.${1}.${2}: $$(TEST_MULTI_SERVER_RENDERED.${1}.${2} )
134- @mkdir -p "${4}/logs"
135- @echo "INFO: Running test.multi-server.${1}.${2}"; \
136- cd $(TEST_MULTI_SERVER_FRAMEWORK_DIR ) ; \
137- . .venv/bin/activate; \
138- DATA_PATH="${4}" \
139- python3 -m src.multi_server_test \
140- $(TEST_MULTI_SERVER_FLAGS ) \
141- --project-name "${1}-${2}" \
142- --compose "${4}/environment.yml" \
143- --test "${4}/template.yml" \
144- --use-files \
145- --listener-dir "${4}/logs" \
146- --log-dir "${4}/logs" \
147- --output "${4}/logs/result.log" || \
144+ $$(eval CMD := cd $(TEST_MULTI_SERVER_FRAMEWORK_DIR ) && . .venv/bin/activate && DATA_PATH="${4}" python3 -m src.multi_server_test $(TEST_MULTI_SERVER_FLAGS ) --project-name "${1}-${2}" --compose "${4}/environment.yml" --test "${4}/template.yml" --use-files --listener-dir "${4}/listener" --log-dir "${4}/logs" --output "${4}/logs/result.log")
145+ ${Q}mkdir -p "${4}/logs" "${4}/listener"
146+ ${Q}echo "MULTI-SERVER-TEST test.multi-server.${1}.${2}"
147+ ${Q}$$(CMD ) > "${4}/logs/stdout.log" 2> "${4}/logs/stderr.log" || \
148148 { \
149149 echo "FAILED: test.multi-server.${1}.${2}"; \
150+ echo "$$(CMD ) "; \
150151 for f in ${4}/logs/*; do \
151152 [ -f "$$$$f" ] || continue; \
152153 echo ""; \
0 commit comments