@@ -121,12 +121,61 @@ jobs:
121121 run : |
122122 .venv/bin/ruff check src_py test
123123
124- - name : Run pytest ( C API backend)
124+ - name : Split pre-JSON C API crash prefix
125125 working-directory : ladybug/tools/python_api
126126 env :
127127 LBUG_PYTHON_BACKEND : capi
128128 run : |
129- .venv/bin/python -m pytest -vv ./test
129+ set +e
130+ status=0
131+ json_test="test/test_json.py::test_to_json_string_param_roundtrip"
132+ prefix=(
133+ test/test_arrow.py
134+ test/test_arrow_memory_backed_table.py
135+ test/test_async_connection.py
136+ test/test_blob_parameter.py
137+ test/test_capi_backend.py
138+ test/test_connection.py
139+ test/test_database.py
140+ test/test_datatype.py
141+ test/test_df.py
142+ test/test_dict.py
143+ test/test_exception.py
144+ test/test_fsm.py
145+ )
146+
147+ run_case() {
148+ name="$1"
149+ shift
150+ echo "::group::${name}"
151+ .venv/bin/python -m pytest -vv "${prefix[@]}" "$@" "$json_test"
152+ rc=$?
153+ echo "::endgroup::"
154+ if [ "$rc" -ne 0 ]; then
155+ echo "${name} failed with exit code ${rc}"
156+ status=$rc
157+ fi
158+ }
159+
160+ run_case "prefix-plus-json"
161+ run_case "prefix-get-header-plus-json" test/test_get_header.py
162+ run_case "prefix-issue-plus-json" test/test_issue.py
163+ run_case "prefix-iteration-plus-json" test/test_iteration.py
164+ run_case "prefix-get-header-issue-plus-json" \
165+ test/test_get_header.py \
166+ test/test_issue.py
167+ run_case "prefix-get-header-iteration-plus-json" \
168+ test/test_get_header.py \
169+ test/test_iteration.py
170+ run_case "prefix-issue-iteration-plus-json" \
171+ test/test_issue.py \
172+ test/test_iteration.py
173+ run_case "prefix-get-header-issue-iteration-plus-json" \
174+ test/test_get_header.py \
175+ test/test_issue.py \
176+ test/test_iteration.py
177+
178+ exit "$status"
130179
131180 python-ci-pybind :
132181 runs-on : ubuntu-latest
0 commit comments