Skip to content

Commit b8eb7a4

Browse files
WIP misc changes based on framework logging rework
1 parent 56262fb commit b8eb7a4

1 file changed

Lines changed: 60 additions & 43 deletions

File tree

src/tests/multi-server/all.mk

Lines changed: 60 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,20 @@ FREERADIUS_SERVER_BUILD_DIR_PATH_ABS := $(FREERADIUS_SERVER_SRC_PATH_ABS)/build
1515
FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS := $(FREERADIUS_SERVER_SRC_PATH_ABS)/src/tests/multi-server
1616
FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS := $(FREERADIUS_SERVER_BUILD_DIR_PATH_ABS)/tests/multi-server
1717
FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_REPO := https://github.com/InkbridgeNetworks/freeradius-multi-server.git
18+
FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_BRANCH := logging-rework
1819

19-
FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS := $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/freeradius-multi-server-test-runtime-logs
20+
FREERADIUS_MULTI_SERVER_FRAMEWORK_LOG_DIR_ABS:= $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/logs
21+
FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS := $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/logs
2022

21-
MULTI_SERVER_TEST_LOG := $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/multi-server-test.log
22-
MULTI_SERVER_TEST_LINELOG_MSG_OUTPUT := $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/multi-server-test-linelog-msg-output.log
23+
MULTI_SERVER_TEST_COMBINED_LOG := $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/multi-server-tests-stdout-combined.log
24+
MULTI_SERVER_TEST_LINELOG_COMBINED_LOG := $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/multi-server-tests-linelog-combined.log
2325

2426
# Enable multi-server test framework debug logs
25-
DEBUG_ARG := -x
27+
DEBUG_ARG := ""
2628

2729
# Multi-server test verbosity level
2830
VERBOSE ?= 1
31+
VERBOSE_LEVEL_0 := ""
2932
VERBOSE_LEVEL_1 := -v
3033
VERBOSE_LEVEL_2 := -vv
3134
VERBOSE_LEVEL_3 := -vvv
@@ -35,7 +38,7 @@ VERBOSE_ARG := $(VERBOSE_LEVEL_$(VERBOSE))
3538
# Default Multi-server tests (1st target of Makefile)
3639
# We purposely do not run all make targets here to run the short
3740
# tests by default.
38-
multi-server: test-5hs-autoaccept test-1p-2hs-autoaccept combine-linelog-msg-output-logs
41+
multi-server: test-5hs-autoaccept test-1p-2hs-autoaccept combine-multi-server-test-linelog
3942

4043
.PHONY: test.multi-server
4144
test.multi-server: multi-server
@@ -45,6 +48,7 @@ test.multi-server: multi-server
4548
clean.test.multi-server:
4649
@echo "INFO: Removing all .log and .txt.bak files in $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)"
4750
rm -f $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/*.log
51+
rm -f $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/*.log.bak
4852
rm -f $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/*.txt.bak
4953

5054
# Allow standalone use: make -f src/tests/multi-server/all.mk clean
@@ -56,14 +60,16 @@ clean: clean.test.multi-server
5660
clean.test: clean.test.multi-server
5761

5862
# Additional multi-server tests for longer runs
59-
multi-server-5min: test-5hs-autoaccept-5min test-1p-2hs-autoaccept-5min combine-linelog-msg-output-logs
63+
multi-server-5min: test-5hs-autoaccept-5min test-1p-2hs-autoaccept-5min combine-multi-server-test-linelog
6064

61-
.PHONY: 5hs-autoaccept-env-setup test-5hs-autoaccept test-5hs-autoaccept-5min 1p-2hs-autoaccept-env-setup test-1p-2hs-autoaccept test-1p-2hs-autoaccept-5min combine-linelog-msg-output-logs
65+
.PHONY: env-5hs-autoaccept test-5hs-autoaccept test-5hs-autoaccept-5min env-1p-2hs-autoaccept test-1p-2hs-autoaccept test-1p-2hs-autoaccept-5min combine-multi-server-test-linelog
6266

63-
5hs-autoaccept-env-setup:
64-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
67+
env-5hs-autoaccept:
68+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
6569
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
6670
\
71+
ENV_NAME=$@; \
72+
\
6773
echo "INFO: FREERADIUS_SERVER_SRC_PATH_REL=$(FREERADIUS_SERVER_SRC_PATH_REL)"; \
6874
echo "INFO: FREERADIUS_SERVER_SRC_PATH_ABS=$(FREERADIUS_SERVER_SRC_PATH_ABS)"; \
6975
echo "INFO: FREERADIUS_SERVER_BUILD_DIR_PATH_ABS=$(FREERADIUS_SERVER_BUILD_DIR_PATH_ABS)"; \
@@ -76,8 +82,12 @@ multi-server-5min: test-5hs-autoaccept-5min test-1p-2hs-autoaccept-5min combine-
7682
\
7783
if [ ! -d freeradius-multi-server/.git ]; then \
7884
git clone $(FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_REPO); \
85+
cd freeradius-multi-server; \
86+
git checkout $(FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_BRANCH); \
7987
else \
80-
( cd freeradius-multi-server && git pull ); \
88+
#( cd freeradius-multi-server && git pull ); \
89+
#( cd freeradius-multi-server ); \
90+
( cd freeradius-multi-server && git checkout $(FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_BRANCH) && git pull ); \
8191
fi; \
8292
\
8393
cd freeradius-multi-server; \
@@ -86,7 +96,7 @@ multi-server-5min: test-5hs-autoaccept-5min test-1p-2hs-autoaccept-5min combine-
8696
\
8797
echo "INFO: Currently in $$(pwd)"; \
8898
\
89-
MULTI_SERVER_ENV_VARS_FILE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/jinja-vars/env-5hs-autoaccept.vars.yml"; \
99+
MULTI_SERVER_ENV_VARS_FILE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/jinja-vars/$$ENV_NAME.vars.yml"; \
90100
JINJA_RENDERING_SCOPE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)"; \
91101
echo "INFO: MULTI_SERVER_ENV_VARS_FILE_PATH_ABS=$$MULTI_SERVER_ENV_VARS_FILE_PATH_ABS"; \
92102
echo "INFO: FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS=$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)"; \
@@ -106,42 +116,43 @@ multi-server-5min: test-5hs-autoaccept-5min test-1p-2hs-autoaccept-5min combine-
106116
\
107117
python3 src/config_builder.py \
108118
--vars-file "$$MULTI_SERVER_ENV_VARS_FILE_PATH_ABS" \
109-
--aux-file "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/env-5hs-autoaccept.yml.j2" \
119+
--aux-file "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/$$ENV_NAME.yml.j2" \
110120
--include-path "$$JINJA_RENDERING_SCOPE_PATH_ABS"; \
111121

112122

113-
test-5hs-autoaccept: 5hs-autoaccept-env-setup
114-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
123+
test-5hs-autoaccept: env-5hs-autoaccept
124+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
115125
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
116126
\
117-
TARGET_NAME=test-5hs-autoaccept; \
127+
TEST_NAME=$@; \
118128
\
119129
cd $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/freeradius-multi-server; \
120130
. .venv/bin/activate; \
121131
\
122-
echo "INFO: Running test-5hs-autoaccept"; \
132+
echo "INFO: Running $${TEST_NAME}"; \
123133
\
124134
set -x; \
125135
\
126136
DATA_PATH="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/configs" \
127137
make test-framework \
128138
-- $(DEBUG_ARG) $(VERBOSE_ARG) \
129139
--compose "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/env-5hs-autoaccept.yml" \
130-
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/test-5hs-autoaccept.yml" \
140+
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/$$TEST_NAME.yml" \
131141
--use-files \
132142
--listener-dir "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)" \
133-
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TARGET_NAME.log"
143+
--log-dir "$(FREERADIUS_MULTI_SERVER_FRAMEWORK_LOG_DIR_ABS)" \
144+
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TEST_NAME-result.log"
134145

135-
test-5hs-autoaccept-5min: 5hs-autoaccept-env-setup
136-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
146+
test-5hs-autoaccept-5min: env-5hs-autoaccept
147+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
137148
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
138149
\
139-
TARGET_NAME=test-5hs-autoaccept-5min; \
150+
TEST_NAME=$@; \
140151
\
141152
cd $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/freeradius-multi-server; \
142153
. .venv/bin/activate; \
143154
\
144-
echo "INFO: Running test-5hs-autoaccept-5min"; \
155+
echo "INFO: Running $${TEST_NAME}"; \
145156
\
146157
set -x; \
147158
\
@@ -152,12 +163,15 @@ test-5hs-autoaccept-5min: 5hs-autoaccept-env-setup
152163
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/test-5hs-autoaccept-5min.yml" \
153164
--use-files \
154165
--listener-dir "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)" \
155-
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TARGET_NAME.log"
166+
--log-dir "$(FREERADIUS_MULTI_SERVER_FRAMEWORK_LOG_DIR_ABS)" \
167+
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TEST_NAME-result.log"
156168

157-
1p-2hs-autoaccept-env-setup:
158-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
169+
env-1p-2hs-autoaccept:
170+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
159171
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
160172
\
173+
ENV_NAME=$@; \
174+
\
161175
echo "INFO: FREERADIUS_SERVER_SRC_PATH_REL=$(FREERADIUS_SERVER_SRC_PATH_REL)"; \
162176
echo "INFO: FREERADIUS_SERVER_SRC_PATH_ABS=$(FREERADIUS_SERVER_SRC_PATH_ABS)"; \
163177
echo "INFO: FREERADIUS_SERVER_BUILD_DIR_PATH_ABS=$(FREERADIUS_SERVER_BUILD_DIR_PATH_ABS)"; \
@@ -171,7 +185,8 @@ test-5hs-autoaccept-5min: 5hs-autoaccept-env-setup
171185
if [ ! -d freeradius-multi-server/.git ]; then \
172186
git clone $(FREERADIUS_MULTI_SERVER_FRAMEWORK_GIT_REPO); \
173187
else \
174-
( cd freeradius-multi-server && git pull ); \
188+
#( cd freeradius-multi-server && git pull ); \
189+
( cd freeradius-multi-server ); \
175190
fi; \
176191
\
177192
cd freeradius-multi-server; \
@@ -180,7 +195,7 @@ test-5hs-autoaccept-5min: 5hs-autoaccept-env-setup
180195
\
181196
echo "INFO: Currently in $$(pwd)"; \
182197
\
183-
MULTI_SERVER_ENV_VARS_FILE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/jinja-vars/env-1p-2hs-autoaccept.vars.yml"; \
198+
MULTI_SERVER_ENV_VARS_FILE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/jinja-vars/$$ENV_NAME.vars.yml"; \
184199
JINJA_RENDERING_SCOPE_PATH_ABS="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)"; \
185200
echo "INFO: MULTI_SERVER_ENV_VARS_FILE_PATH_ABS=$$MULTI_SERVER_ENV_VARS_FILE_PATH_ABS"; \
186201
echo "INFO: FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS=$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)"; \
@@ -205,20 +220,20 @@ test-5hs-autoaccept-5min: 5hs-autoaccept-env-setup
205220
\
206221
python3 src/config_builder.py \
207222
--vars-file "$$MULTI_SERVER_ENV_VARS_FILE_PATH_ABS" \
208-
--aux-file "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/env-1p-2hs-autoaccept.yml.j2" \
223+
--aux-file "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/$$ENV_NAME.yml.j2" \
209224
--include-path "$$JINJA_RENDERING_SCOPE_PATH_ABS"; \
210225

211226

212-
test-1p-2hs-autoaccept: 1p-2hs-autoaccept-env-setup
213-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
227+
test-1p-2hs-autoaccept: env-1p-2hs-autoaccept
228+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
214229
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
215230
\
216-
TARGET_NAME=test-1p-2hs-autoaccept; \
231+
TEST_NAME=$@; \
217232
\
218233
cd $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/freeradius-multi-server; \
219234
. .venv/bin/activate; \
220235
\
221-
echo "INFO: Running test-1p-2hs-autoaccept"; \
236+
echo "INFO: Running $${TEST_NAME}"; \
222237
\
223238
set -x; \
224239
\
@@ -229,35 +244,37 @@ test-1p-2hs-autoaccept: 1p-2hs-autoaccept-env-setup
229244
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/test-1p-2hs-autoaccept.yml" \
230245
--use-files \
231246
--listener-dir "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)" \
232-
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TARGET_NAME.log"
247+
--log-dir "$(FREERADIUS_MULTI_SERVER_FRAMEWORK_LOG_DIR_ABS)" \
248+
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TEST_NAME-result.log"
233249

234-
test-1p-2hs-autoaccept-5min: 1p-2hs-autoaccept-env-setup
235-
@LOG_FILE="$(MULTI_SERVER_TEST_LOG)"; \
250+
test-1p-2hs-autoaccept-5min: env-1p-2hs-autoaccept
251+
@LOG_FILE="$(MULTI_SERVER_TEST_COMBINED_LOG)"; \
236252
set -e; exec &> >(tee -a "$${LOG_FILE}"); \
237253
\
238-
TARGET_NAME=test-1p-2hs-autoaccept-5min; \
254+
TEST_NAME=$@; \
239255
\
240256
cd $(FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS)/freeradius-multi-server; \
241257
. .venv/bin/activate; \
242258
\
243-
echo "INFO: Running test-1p-2hs-autoaccept-5min"; \
259+
echo "INFO: Running $${TEST_NAME}"; \
244260
\
245261
set -x; \
246262
\
247263
DATA_PATH="$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/configs" \
248264
make test-framework \
249265
-- $(DEBUG_ARG) $(VERBOSE_ARG) \
250266
--compose "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/environments/docker-compose/env-1p-2hs-autoaccept.yml" \
251-
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/test-1p-2hs-autoaccept-5min.yml" \
267+
--test "$(FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS)/$$TEST_NAME.yml" \
252268
--use-files \
253269
--listener-dir "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)" \
254-
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TARGET_NAME.log"
270+
--log-dir "$(FREERADIUS_MULTI_SERVER_FRAMEWORK_LOG_DIR_ABS)" \
271+
--output "$(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/$$TEST_NAME-result.log"
255272

256-
combine-linelog-msg-output-logs:
257-
@echo "INFO: Combining multi-server test linelog message output into $(MULTI_SERVER_TEST_LINELOG_MSG_OUTPUT)"
258-
@rm -f $(MULTI_SERVER_TEST_LINELOG_MSG_OUTPUT)
273+
combine-multi-server-test-linelog:
274+
@echo "INFO: Combining multi-server test linelog message output into $(MULTI_SERVER_TEST_LINELOG_COMBINED_LOG)"
275+
@rm -f $(MULTI_SERVER_TEST_LINELOG_COMBINED_LOG)
259276
for f in $(FREERADIUS_MULTI_SERVER_TEST_RUNTIME_LOGS_DIR_ABS)/*.txt.bak; do \
260277
echo "$$f"; \
261278
cat "$$f"; \
262279
echo ""; \
263-
done > $(MULTI_SERVER_TEST_LINELOG_MSG_OUTPUT)
280+
done > $(MULTI_SERVER_TEST_LINELOG_COMBINED_LOG)

0 commit comments

Comments
 (0)