Sruhvx-jpg opened a new pull request, #3288:
URL: https://github.com/apache/iceberg-rust/pull/3288

   ## Which issue does this PR close?
   
   - Closes #2211
   - Supersedes and revives #2253
   
   ## What changes are included in this PR?
   
   - **New Crate `iceberg-storage-common`**: Defines a shared parameterized 
integration test suite (`file_io_suite`, `resolving_suite`, `credential_suite`) 
to enforce `FileIO` contracts across storage implementations.
   - **De-duplicate OpenDAL Tests**: Removes duplicate integration test files 
from `crates/storage/opendal` while keeping HuggingFace tests isolated to 
prevent CI secret leak risks.
   - **Fast Probe Health Check**: Adds a 300ms TCP/HTTP endpoint probe before 
retry loops so tests fail-fast / skip cleanly (0ms) when Docker emulators are 
offline.
   - **Extra Contract Assertions**:
     - `test_file_io_zero_byte_file` (0-byte write/read/exists)
     - `test_file_io_range_read_out_of_bounds` (enforce error contract on range 
OOB)
     - `test_file_io_delete_stream_mixed` (batch delete with mixed 
existing/non-existent keys)
     - `test_file_io_concurrent_writes` (concurrent multi-task writers on 
shared FileIO)
     - `test_file_io_serialization_roundtrip` (FileIO serde roundtrip)
   - **Forward-Compatibility**: Added `TODO` tracking #3165 (approved 
`object_store` S3 backend) to plug into the `StorageKind` matrix upon merge.
   
   ## Are these changes tested?
   
   Tested across S3 (RustFS/MinIO), GCS emulator, local FS, and in-memory 
storage:
   - `cargo test -p iceberg-storage-common` (92 tests passed, 0 failed)
   - `cargo test -p iceberg-storage-opendal` (all unit & integration tests pass)
   - `cargo clippy` & `cargo fmt` clean.
   
   ## Generative AI Disclosure
   
   This contribution was created with the assistance of an AI coding assistant 
(Pi / Anthropic / Gemini). All generated code has been manually audited, 
reviewed, compiled, and verified by the author in accordance with the Apache 
Software Foundation Generative Tooling Guidance.


-- 
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]

Reply via email to