Skip to content

Commit 9eee5c4

Browse files
committed
Add bisection probes for testReconstructTable hang source
Isolate which test class before Translation_Tests leaves Turso in a state that makes testReconstructTable hang in the main run. Probes run three combinations: Driver_Tests, Metadata_Tests, PDO_API_Tests — each paired with Translation_Tests and testReconstructTable. Whichever probe hangs identifies the polluting suite.
1 parent 1d34101 commit 9eee5c4

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

.github/workflows/phpunit-tests-turso.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -927,6 +927,47 @@ jobs:
927927
--filter '^(WP_SQLite_Driver_Translation_Tests|WP_SQLite_Information_Schema_Reconstructor_Tests::testReconstructTable)'
928928
echo "Translation+reconstruct exit: $?"
929929
930+
- name: Probe Driver_Tests + Translation + testReconstructTable
931+
continue-on-error: true
932+
env:
933+
LD_PRELOAD: ${{ steps.preload.outputs.value }}
934+
working-directory: packages/mysql-on-sqlite
935+
# Bisecting: is the pollution coming from WP_SQLite_Driver_Tests?
936+
# Prints first-failure marker if testReconstructTable doesn't end.
937+
run: |
938+
set +e
939+
timeout --kill-after=10 600 \
940+
php ./vendor/bin/phpunit -c ./phpunit.xml.dist --debug \
941+
--filter '^(WP_SQLite_Driver_Tests|WP_SQLite_Driver_Translation_Tests|WP_SQLite_Information_Schema_Reconstructor_Tests::testReconstructTable$)' \
942+
2>&1 | grep -E "(testReconstructTable|^Time:|^OK|FAILURES|^Tests:|^ERRORS|test.*started|test.*ended)" | tail -40
943+
echo "Driver+Translation+reconstruct exit: $?"
944+
945+
- name: Probe Metadata_Tests + Translation + testReconstructTable
946+
continue-on-error: true
947+
env:
948+
LD_PRELOAD: ${{ steps.preload.outputs.value }}
949+
working-directory: packages/mysql-on-sqlite
950+
# Bisecting: is the pollution coming from Metadata_Tests?
951+
run: |
952+
set +e
953+
timeout --kill-after=10 300 \
954+
php ./vendor/bin/phpunit -c ./phpunit.xml.dist \
955+
--filter '^(WP_SQLite_Driver_Metadata_Tests|WP_SQLite_Driver_Translation_Tests|WP_SQLite_Information_Schema_Reconstructor_Tests::testReconstructTable$)'
956+
echo "Metadata+Translation+reconstruct exit: $?"
957+
958+
- name: Probe PDO_API + Translation + testReconstructTable
959+
continue-on-error: true
960+
env:
961+
LD_PRELOAD: ${{ steps.preload.outputs.value }}
962+
working-directory: packages/mysql-on-sqlite
963+
# Bisecting: is the pollution coming from PDO_API_Tests?
964+
run: |
965+
set +e
966+
timeout --kill-after=10 300 \
967+
php ./vendor/bin/phpunit -c ./phpunit.xml.dist \
968+
--filter '^(WP_PDO_MySQL_On_SQLite_PDO_API_Tests|WP_SQLite_Driver_Translation_Tests|WP_SQLite_Information_Schema_Reconstructor_Tests::testReconstructTable$)'
969+
echo "PDO_API+Translation+reconstruct exit: $?"
970+
930971
- name: Run PHPUnit tests against Turso DB
931972
env:
932973
LD_PRELOAD: ${{ steps.preload.outputs.value }}

0 commit comments

Comments
 (0)