Update dependencies and achieve 100% coverage#6
Merged
Conversation
This commit updates all dependencies to their latest compatible versions and resolves issue #1 by excluding the pymodule line from coverage. Changes: - Update GitHub Actions workflow: * Replace deprecated actions-rs/toolchain with dtolnay/rust-toolchain * Update actions/checkout from v4 to v5 - Update Python dependencies: * pytest: 8.3.4 → 8.4.2 * maturin: 1.8.1 → 1.9.6 * Update build-system to require maturin>=1.9 - Update Rust dependencies: * PyO3: 0.23.3 → 0.23.5 (latest patch release, no breaking changes) - Fix coverage to reach 100%: * Add #[cfg_attr(coverage, coverage(off))] to _foobar pymodule * This excludes the pymodule initialization code that cannot be directly tested (see rust-lang/rust#84605) All updates are backwards-compatible and maintain test compatibility. The coverage fix resolves issue #1 without affecting functionality. Fixes #1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Replace unstable Rust coverage attribute with standard LCOV exclusion markers that work with stable Rust and are recognized by CodeCov. Changes: - Remove #[cfg_attr(coverage, coverage(off))] (requires nightly Rust) - Add LCOV_EXCL_START/LCOV_EXCL_STOP comments around pymodule function - Add .codecov.yml configuration for 100% coverage target - Document the exclusion reason with reference to rust-lang/rust#84605 This approach works with stable Rust and the existing cargo-llvm-cov setup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Add a succinct explanation of LCOV_EXCL_START/STOP markers used to exclude PyO3 module initialization code from coverage analysis. Links to: - LCOV exclusion marker documentation (Ubuntu man pages) - Rust issue explaining why PyO3 module code cannot be tested Maintains the existing README style: technical, clear, and focused on explaining why these markers are necessary. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
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.
This commit updates all dependencies to their latest compatible versions and resolves issue #1 by excluding the pymodule line from coverage.
Changes:
#[coverage]rust-lang/rust#84605)All updates are backwards-compatible and maintain test compatibility. The coverage fix resolves issue #1 without affecting functionality.
Fixes #1
🤖 Generated with Claude Code