Skip to content

Commit ad28812

Browse files
committed
Emit the command that failed when it fails
1 parent 3a2171e commit ad28812

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

src/tests/multi-server/all.mk

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ TEST_MULTI_SERVER_GIT_REPO := https://github.com/InkbridgeNetworks/freeradius-
3434
TEST_MULTI_SERVER_GIT_BRANCH := main
3535
TEST_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
#
98107
define 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
113123
endef
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}
133143
test.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

Comments
 (0)