@@ -15,17 +15,20 @@ FREERADIUS_SERVER_BUILD_DIR_PATH_ABS := $(FREERADIUS_SERVER_SRC_PATH_ABS)/build
1515FREERADIUS_MULTI_SERVER_TESTS_BASE_PATH_ABS := $(FREERADIUS_SERVER_SRC_PATH_ABS ) /src/tests/multi-server
1616FREERADIUS_MULTI_SERVER_BUILD_DIR_PATH_ABS := $(FREERADIUS_SERVER_BUILD_DIR_PATH_ABS ) /tests/multi-server
1717FREERADIUS_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
2830VERBOSE ?= 1
31+ VERBOSE_LEVEL_0 := ""
2932VERBOSE_LEVEL_1 := -v
3033VERBOSE_LEVEL_2 := -vv
3134VERBOSE_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
4144test.multi-server : multi-server
@@ -45,6 +48,7 @@ test.multi-server: multi-server
4548clean.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
5660clean.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