@@ -66,12 +66,14 @@ jobs:
6666 VISPY_GL_LIB : ' osmesa'
6767 VISPY_USE_EGL : ' 0'
6868 run : |
69- python -m unittest -v \
70- src.test.test_neuron_neuron_connectivity \
71- src.test.test_neuron_region_connectivity \
72- src.test.test_upstream_class_connectivity \
73- src.test.test_downstream_class_connectivity \
74- src.test.test_vfb_connectivity \
69+ # These files are pytest-style (plain classes + @pytest.mark.integration).
70+ # Run with pytest so the markers are honoured and collection works.
71+ pytest -v \
72+ src/test/test_neuron_neuron_connectivity.py \
73+ src/test/test_neuron_region_connectivity.py \
74+ src/test/test_upstream_class_connectivity.py \
75+ src/test/test_downstream_class_connectivity.py \
76+ src/test/test_vfb_connectivity.py \
7577 2>&1 | tee -a performance_test_output.log
7678
7779 - name : Create Performance Report
@@ -177,8 +179,12 @@ jobs:
177179 # unittest -v even when other tests failed. Use the absence of
178180 # FAIL:/ERROR: lines as the truth source (mirrors the final
179181 # "Fail job on test failures" step).
180- if grep -q "Ran.*test" performance_test_output.log; then
181- if grep -q "FAIL:\|ERROR:" performance_test_output.log; then
182+ # unittest summary: "Ran N tests in Xs".
183+ # pytest summary line ends with " in X.XXs" prefixed by " passed", " failed",
184+ # " error", or "no tests ran". Match either runner's summary markers.
185+ if grep -q "Ran .* test\| passed in \| failed in \| error in \|no tests ran" performance_test_output.log; then
186+ # unittest emits "FAIL:" / "ERROR:"; pytest emits "FAILED " / "ERROR " (no colon).
187+ if grep -q "FAIL:\|ERROR:\|FAILED\b\|^ERROR\b" performance_test_output.log; then
182188 echo "❌ **Test Status**: Performance tests ran but reported failures" >> performance.md
183189 else
184190 echo "✅ **Test Status**: Performance tests completed" >> performance.md
@@ -274,9 +280,11 @@ jobs:
274280 # commit so those still happen.
275281 if : always()
276282 run : |
277- if grep -q "FAIL:\|ERROR:" performance_test_output.log; then
278- echo "::error::unittest reported FAIL or ERROR lines in performance_test_output.log"
279- grep "FAIL:\|ERROR:" performance_test_output.log
283+ # Match both unittest format ("FAIL:" / "ERROR:") and pytest format
284+ # ("FAILED " / "ERROR " — no colon) so this catches either runner.
285+ if grep -q "FAIL:\|ERROR:\|FAILED\b\|^ERROR\b" performance_test_output.log; then
286+ echo "::error::Test run reported FAIL or ERROR lines in performance_test_output.log"
287+ grep "FAIL:\|ERROR:\|FAILED\b\|^ERROR\b" performance_test_output.log
280288 exit 1
281289 fi
282290 echo "No FAIL/ERROR lines detected."
0 commit comments