paultmathew opened a new pull request, #3334: URL: https://github.com/apache/iceberg-python/pull/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). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
