Repository navigation
test(storage-opendal): split backend tests into per-backend modules - #3569
Open
dragonknightk wants to merge 1 commit into
Open
dragonknightk wants to merge 1 commit into
dragonknightk wants to merge 1 commit into
Conversation
Author
mixermt
reviewed
Oct 29, 2026
| } | ||
|
|
||
| #[derive(Debug)] | ||
| struct EmptyCredentialLoader; |
Contributor
There was a problem hiding this comment.
nit: this helper sits between s3_config_parse_path_style_access and test_relativize_path_s3, but only test_s3_factory_custom_credential_loader_serialization_fails uses it. Could it move up next to parse_with so the helpers are together at the top of the module?
Author
There was a problem hiding this comment.
Done — moved EmptyCredentialLoader up next to parse_with so the helpers sit together at the top of the module. cargo fmt --all -- --check and cargo test -p iceberg-storage-opendal --lib s3 both pass, and CI is green ʕ•ᴥ•ʔ
mixermt
approved these changes
Oct 29, 2026
mixermt
left a comment
Contributor
There was a problem hiding this comment.
LGTM, thanks! Verified the moved test bodies are unchanged and each backend module's cfg gate covers its tests. The s3.rs nit is optional.
Move each backend's tests out of the crate-level `tests` module into the module that owns the backend, following the `hdfs_native` split in apache#3111: `memory.rs`, `fs.rs`, `s3.rs`, `gcs.rs`, `oss.rs` and `azdls.rs` each get their own `mod tests`. `lib.rs` keeps the cross-backend tests: client config parsing, factory construction, the storage-agnostic writer contract, and the IO timeout test, which exercises the `TimeoutLayer` that `resolve` applies to every backend. Feature gates are not repeated on the moved tests: `lib.rs` already guards each backend module behind its `opendal-*` feature in `cfg_if!`, so a test in `gcs.rs` can only be compiled when that module exists. Generated-by: OpenAI Codex 0.165.0-alpha.1.2
dragonknightk
force-pushed
the
test/split-opendal-backend-tests
branch
from
October 29, 2026 11:49
cf9357b to
0aaee05
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
lib.rstests into per-backend modules #3385.What changes are included in this PR?
Moves each backend's tests out of the crate-level
testsmodule into themodule that owns the backend, following the
hdfs_nativesplit in #3111:memory.rs,fs.rs,s3.rs,gcs.rs,oss.rsandazdls.rseach gettheir own
mod tests.lib.rskeeps the cross-backend tests: client config parsing, factoryconstruction, the storage-agnostic writer contract, and the IO timeout
test, which exercises the
TimeoutLayerthatresolveapplies to everybackend.
Feature gates are not repeated on the moved tests.
lib.rsalready guardseach backend module behind its
opendal-*feature incfg_if!, so a testin
gcs.rscan only compile when that module exists.No test was added, removed or renamed; the moved bodies are unchanged.
Are these changes tested?
cargo fmt --all -- --check,cargo clippy -p iceberg-storage-opendal --all-targets -- -D warningsand the same with--all-features, pluscargo test -p iceberg-storage-opendal --lib(17 tests) and with--all-features(74 tests).AI Disclosure
Codex and Grok Bot, working for dragonknightk, contributed to this code.