Repository navigation
test: improve coverage collection and cover storage edge cases - #505
Merged
lxy-9602 merged 3 commits intoNov 4, 2026
Merged
Conversation
2 tasks done
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.
Purpose
Closes #506.
Add 25 focused regression tests and extend existing tests for storage edge cases identified by the coverage report:
Improve coverage collection with atomic C/C++ gcov counters, isolate coverage flags from bundled dependencies, and enable Jindo, OSS, S3, Lumina, Lucene, full-text, and REST alongside the existing formats.
Tests
The following focused suites passed on the final binaries:
./build/debug/paimon-fs-test --gtest_filter='LocalFileTest.*'./build/debug/paimon-common-test --gtest_filter='*PrefetchFileBatchReader*'./build/debug/paimon-core-test --gtest_filter='FileStoreCommitImplTest.*:ConflictDetectionTest.*'./build/debug/paimon-rest-test --gtest_filter='RestCredentialProviderTest.*:RestTokenFileSystemTest.*'./build/debug/paimon-core-test --gtest_filter='ExpireSnapshotsTest.*:FileSystemCatalogTest.*:OrphanFilesCleanerTest.*'./build/debug/paimon-common-test --gtest_filter='BitmapGlobalIndexTest.*'./build/debug/paimon-parquet-format-test --gtest_filter='PageFilteredRowGroupReaderTest.*'The new credential concurrency test also passed 100 repetitions. Changed-file pre-commit checks and
git diff --checkpassed. The coverage script passedbash -n; isolated compiler/CMake probes verified atomic counters and third-party flag isolation, and a stubbed coverage-script smoke test verified its component options and command sequence.Rerunning the four newly covered suites with an isolated
GCOV_PREFIXverified 63 of the 64 requested business lines: REST 1/1, expiration 19/20, catalog 18/18, cleaner 9/9, Parquet 8/8, and predicate dispatch 8/8. The remaining expiration line 355 is a defensivecontinuefor a missing hierarchy key; the producer always inserts contiguous keys starting at zero, so normal inputs cannot reach it. The full coverage HTML report was not regenerated; these are targeted execution counts, not a new overall coverage percentage.The normal CMake build remains blocked by Vortex selecting stable Rust 1.67.1, below its dependency requirements. The changed C++ test objects were freshly compiled and the REST, core, common, and Parquet Debug test binaries were relinked using Ninja's generated commands with existing dependency artifacts. This does not claim a successful full dependency rebuild.
API and Format
No public API, storage format, or protocol changes.
Documentation
No new user-facing feature documentation is required. The coverage script contains the expanded component configuration.
Generative AI tooling
Generated-by: OpenAI Codex 0.166.0