-
Notifications
You must be signed in to change notification settings - Fork 54
ci: exclude infrastructure files from code coverage #3379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -52,6 +52,16 @@ ignore: | |||||||||||
| - "packages/rs-platform-version/**" | ||||||||||||
| # Simple signer — thin test-only wrapper | ||||||||||||
| - "packages/simple-signer/src/**" | ||||||||||||
| # Infrastructure and glue code — binary entrypoints, gRPC/HTTP server setup, | ||||||||||||
| # external client wrappers, streaming plumbing, runtime context providers, | ||||||||||||
| # and replay/debugging tooling that are not unit-testable | ||||||||||||
| - "packages/rs-drive-abci/src/main.rs" | ||||||||||||
| - "packages/rs-drive-abci/src/query/service.rs" | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💬 Nitpick: query/service.rs has ~170 lines of concurrency logic but no unit tests Verified: source: ['claude'] |
||||||||||||
| - "packages/rs-dapi/src/server/**" | ||||||||||||
| - "packages/rs-dapi/src/clients/core_client.rs" | ||||||||||||
| - "packages/rs-sdk-trusted-context-provider/**" | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Suggestion: rs-sdk-trusted-context-provider/ excludes crate with 9 unit tests and pure validation logic** This pattern excludes the entire crate (~1,107 source lines). While much of source: ['claude', 'codex'] 🤖 Fix this with AI agents |
||||||||||||
| - "packages/rs-dapi/src/services/streaming_service/**" | ||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Suggestion: streaming_service/ glob excludes well-tested protocol logic — enumerate files instead** The wildcard
Excluding these hides coverage they already provide and silently excludes any new files added to this directory. Enumerate the genuinely untestable files instead. 💡 Suggested change
Suggested change
source: ['claude', 'codex'] 🤖 Fix this with AI agents |
||||||||||||
| - "packages/rs-drive-abci/src/replay/**" | ||||||||||||
|
Comment on lines
+55
to
+64
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Reconsider excluding files with non-trivial business logic. The comment describes these as "infrastructure and glue code" that is "not unit-testable," but the relevant code snippets suggest otherwise for several entries:
While
Excluding these files could mask test coverage gaps in critical correctness and availability patterns. 🤖 Prompt for AI Agents
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💬 Nitpick: replay/ has 93 unit tests across ~3,900 lines but is genuinely debug tooling** Both agents flagged this, but after verification: the replay directory is a self-contained debug/replay utility for replaying captured ABCI requests from logs. It is NOT core platform logic. The 93 tests across 4 files (mod.rs: 30, cli.rs: 13, runner.rs: 46, log_ingest.rs: 4) cover CLI parsing, request validation, progress formatting, and log deserialization. While excluding 93 tests from coverage reporting is notable, the exclusion is defensible since this is debug tooling that doesn't affect platform behavior. The main concern is that the source: ['claude', 'codex'] |
||||||||||||
|
|
||||||||||||
| coverage: | ||||||||||||
| status: | ||||||||||||
|
|
||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Suggestion: Comment says 'not unit-testable' but 5 of 7 paths have #[cfg(test)] modules
The comment on lines 55-57 says these files are 'not unit-testable', but verified
#[cfg(test)]modules exist in:main.rs— line 413, 1 test (DB corruption verification)server/grpc.rs— line 225, 1 test (timeout service)streaming_service/bloom.rs— line 111, 13 testsrs-sdk-trusted-context-provider/src/provider.rs— line 815, 9 testsreplay/— lines 87/312/554/1069, 93 tests across 4 filesOnly
query/service.rsandclients/core_client.rshave no unit tests. A more accurate comment would describe these as infrastructure code primarily exercised through integration tests, not as untestable.💡 Suggested change
source: ['claude']
🤖 Fix this with AI agents