Skip to content

Commit a9ad3a3

Browse files
paultmathewPaul Mathew
andauthored
fix(tests): isolate state in test_write_optional_list (#3334)
# Rationale for this change `test_write_optional_list` uses `create_table_if_not_exists` and then asserts exact row counts (2 after the first append, 4 after the second). The table is reused across runs, so a second invocation against the same docker-compose stack accumulates rows — counts become 6, 10, 14, … and the asserts fail. CI hides this because it spins up a fresh `docker-compose-integration` stack for every job. Locally it bites anyone who runs `make test-integration-exec` twice without `make test-integration-cleanup` in between. Fix: drop the table at the start so the test always starts from a clean slate, matching the `drop-then-create` pattern used by `_create_table()` for every other write test in this module. # Are these changes tested? Yes — verified locally that the test now passes when run twice back-to-back without resetting the docker stack: ```bash docker compose -f dev/docker-compose-integration.yml up -d --wait uv run python dev/provision.py uv run python -m pytest tests/integration/test_writes/test_writes.py::test_write_optional_list -m integration # PASS uv run python -m pytest tests/integration/test_writes/test_writes.py::test_write_optional_list -m integration # PASS (was previously: 8 == 2) ``` Full `tests/integration/test_writes/test_writes.py` suite: 122 passed, 1 skipped. # Are there any user-facing changes? No. --- Noticed while preparing the PR for #2152 (`RecordBatchReader` streaming append). Co-authored-by: Paul Mathew <paul.mathew@aircall.io>
1 parent e598827 commit a9ad3a3

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tests/integration/test_writes/test_writes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2027,7 +2027,7 @@ def test_write_optional_list(session_catalog: Catalog) -> None:
20272027
required=False,
20282028
),
20292029
)
2030-
session_catalog.create_table_if_not_exists(identifier, schema)
2030+
_create_table(session_catalog, identifier, schema=schema)
20312031

20322032
df_1 = pa.Table.from_pylist(
20332033
[

0 commit comments

Comments
 (0)