Skip to content

Commit 0575893

Browse files
committed
Verifying combined multi-server test logs since by default two tests are run as part the workflow and both test results must be checked.
1 parent 142ae0c commit 0575893

1 file changed

Lines changed: 36 additions & 22 deletions

File tree

.github/workflows/ci-multi-server-tests.yml

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@ jobs:
2222
- run: echo "Pre-test job; checking if using self-hosted runners"
2323

2424
# Job only runs on GitHub-hosted runners
25-
test-5hs-autoaccept:
25+
run-multi-server-tests:
2626
needs: pre-test
2727
runs-on: ubuntu-24.04
2828
if: ${{ needs.pre-test.outputs.selfhosted != '1' }}
2929

3030
env:
3131
MULTI_SERVER_ENV_DOCKER_BUILD_OS: ubuntu24
32-
MULTI_SERVER_TEST_LOG: build/tests/multi-server/freeradius-multi-server/multi_server_test.log
33-
MULTI_SERVER_TEST_LISTENER_LOG: build/tests/multi-server/freeradius-listener-logs/custom_test-env-5hs-autoaccept.txt.bak
32+
MULTI_SERVER_LOG_DIR: build/tests/multi-server/freeradius-multi-server-test-runtime-logs
33+
MULTI_SERVER_TEST_RESULTS_LOG: ${MULTI_SERVER_LOG_DIR}/multi-server-test-results-combined.log
34+
MULTI_SERVER_TEST_LISTENER_LOG: ${MULTI_SERVER_LOG_DIR}/multi-server-test-listener-combined.log
3435

3536
steps:
3637
# Checkout, but defer pulling LFS objects until we've restored the cache
@@ -90,37 +91,41 @@ jobs:
9091
echo "Error: freeradius-build:latest Docker image not found and required for multi-server test environment."
9192
exit 1
9293
fi
94+
9395
make -f src/tests/multi-server/all.mk
9496
9597
- name: Verify test results
9698
shell: bash
9799
run: |
98100
set -euo pipefail
99101
100-
echo "============ ${MULTI_SERVER_TEST_LOG} ============"
101-
cat "${MULTI_SERVER_TEST_LOG}"
102+
cat ${MULTI_SERVER_LOG_DIR}/*.log > ${MULTI_SERVER_TEST_RESULTS_LOG}
103+
cat ${MULTI_SERVER_LOG_DIR}/*.txt.bak > ${MULTI_SERVER_TEST_LISTENER_LOG}
104+
105+
echo "============ ${MULTI_SERVER_TEST_RESULTS_LOG} ============"
106+
cat "${MULTI_SERVER_TEST_RESULTS_LOG}"
102107
103-
if grep -q '\[Failed\]' "${MULTI_SERVER_TEST_LOG}"; then
108+
if grep -q '\[Failed\]' "${MULTI_SERVER_TEST_RESULTS_LOG}"; then
104109
echo "TEST FAILED: Found [Failed] in log"
105-
grep '\[Failed\]' "${MULTI_SERVER_TEST_LOG}"
110+
grep '\[Failed\]' "${MULTI_SERVER_TEST_RESULTS_LOG}"
106111
107112
# Display the framework's listener log for debugging purposes
108113
echo "============ ${MULTI_SERVER_TEST_LISTENER_LOG} ============"
109114
cat "${MULTI_SERVER_TEST_LISTENER_LOG}"
110115
exit 1
111116
fi
112117
113-
if grep -Eq '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_LOG}"; then
118+
if grep -Eq '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_RESULTS_LOG}"; then
114119
echo "TEST FAILED: Found Failures > 0 in log"
115-
grep -E '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_LOG}"
120+
grep -E '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_RESULTS_LOG}"
116121
117122
# Display the framework's listener log for debugging purposes
118123
echo "============ ${MULTI_SERVER_TEST_LISTENER_LOG} ============"
119124
cat "${MULTI_SERVER_TEST_LISTENER_LOG}"
120125
exit 1
121126
fi
122127
123-
log="${MULTI_SERVER_TEST_LOG}"
128+
log="${MULTI_SERVER_TEST_RESULTS_LOG}"
124129
if awk '
125130
BEGIN { found=0; n1=0; n2=0; line="" }
126131
index($0,"Matched:") {
@@ -152,7 +157,7 @@ jobs:
152157
fi
153158
154159
# Job only runs on self-hosted runners
155-
test-5hs-autoaccept-selfhosted:
160+
run-multi-server-tests-selfhosted:
156161
needs: pre-test
157162
runs-on: self-hosted
158163
if: ${{ needs.pre-test.outputs.selfhosted == '1' }}
@@ -181,8 +186,9 @@ jobs:
181186
- ${{ github.workspace }}:/workspace
182187

183188
env:
184-
MULTI_SERVER_TEST_LOG: build/tests/multi-server/freeradius-multi-server/multi_server_test.log
185-
MULTI_SERVER_TEST_LISTENER_LOG: build/tests/multi-server/freeradius-listener-logs/custom_test-env-5hs-autoaccept.txt.bak
189+
MULTI_SERVER_LOG_DIR: build/tests/multi-server/freeradius-multi-server-test-runtime-logs
190+
MULTI_SERVER_TEST_RESULTS_LOG: ${MULTI_SERVER_LOG_DIR}/multi-server-test-results-combined.log
191+
MULTI_SERVER_TEST_LISTENER_LOG: ${MULTI_SERVER_LOG_DIR}/multi-server-test-listener-combined.log
186192

187193
container:
188194
image: docker.internal.networkradius.com/self-hosted
@@ -232,39 +238,47 @@ jobs:
232238
docker tag freeradius4/ubuntu24:latest freeradius-build:latest
233239
docker images --all
234240
235-
- name: Run test-5hs-autoaccept test
241+
- name: Run multi-server tests
236242
run: |
237-
make -f src/tests/multi-server/all.mk test-5hs-autoaccept
243+
if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -q "^freeradius-build:latest$"; then
244+
echo "Error: freeradius-build:latest Docker image not found and required for multi-server test environment."
245+
exit 1
246+
fi
247+
248+
make -f src/tests/multi-server/all.mk
238249
239250
- name: Verify test results
240251
shell: bash
241252
run: |
242253
set -euo pipefail
243254
244-
echo "============ ${MULTI_SERVER_TEST_LOG} ============"
245-
cat "${MULTI_SERVER_TEST_LOG}"
255+
cat ${MULTI_SERVER_LOG_DIR}/*.log > ${MULTI_SERVER_TEST_RESULTS_LOG}
256+
cat ${MULTI_SERVER_LOG_DIR}/*.txt.bak > ${MULTI_SERVER_TEST_LISTENER_LOG}
257+
258+
echo "============ ${MULTI_SERVER_TEST_RESULTS_LOG} ============"
259+
cat "${MULTI_SERVER_TEST_RESULTS_LOG}"
246260
247-
if grep -q '\[Failed\]' "${MULTI_SERVER_TEST_LOG}"; then
261+
if grep -q '\[Failed\]' "${MULTI_SERVER_TEST_RESULTS_LOG}"; then
248262
echo "TEST FAILED: Found [Failed] in log"
249-
grep '\[Failed\]' "${MULTI_SERVER_TEST_LOG}"
263+
grep '\[Failed\]' "${MULTI_SERVER_TEST_RESULTS_LOG}"
250264
251265
# Display the framework's listener log for debugging purposes
252266
echo "============ ${MULTI_SERVER_TEST_LISTENER_LOG} ============"
253267
cat "${MULTI_SERVER_TEST_LISTENER_LOG}"
254268
exit 1
255269
fi
256270
257-
if grep -Eq '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_LOG}"; then
271+
if grep -Eq '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_RESULTS_LOG}"; then
258272
echo "TEST FAILED: Found Failures > 0 in log"
259-
grep -E '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_LOG}"
273+
grep -E '\(Failures:[[:space:]]*[1-9][0-9]*[[:space:]]*\)' "${MULTI_SERVER_TEST_RESULTS_LOG}"
260274
261275
# Display the framework's listener log for debugging purposes
262276
echo "============ ${MULTI_SERVER_TEST_LISTENER_LOG} ============"
263277
cat "${MULTI_SERVER_TEST_LISTENER_LOG}"
264278
exit 1
265279
fi
266280
267-
log="${MULTI_SERVER_TEST_LOG}"
281+
log="${MULTI_SERVER_TEST_RESULTS_LOG}"
268282
if awk '
269283
BEGIN { found=0; n1=0; n2=0; line="" }
270284
index($0,"Matched:") {

0 commit comments

Comments
 (0)