Skip to content

tests: add comprehensive unit tests for critical coverage gaps#55

Closed
brendanjryan wants to merge 1 commit intowevm:masterfrom
brendanjryan:tests/coverage-gaps
Closed

tests: add comprehensive unit tests for critical coverage gaps#55
brendanjryan wants to merge 1 commit intowevm:masterfrom
brendanjryan:tests/coverage-gaps

Conversation

@brendanjryan
Copy link
Contributor

Summary

Adds 61 new unit tests across 8 files, targeting the most critical untested code paths identified via cargo-tarpaulin coverage analysis.

Coverage gaps addressed

Area What's tested
changelog_entry extract_pr_number (squash/merge/missing/multiple), read_all (multi-file, README skip, empty/missing dir), write/delete roundtrips
changelog_writer generate_entry_with_date — single patch, mixed bump types, major-only, multiline summaries, no-match case
ecosystems/rust read_version, write_version (including field preservation), update_dependency_version across deps/dev-deps/workspace-deps
workspace find_root for Rust workspaces, standalone crates, Python projects, and error case; get_package, package_names, is_initialized, changelog_dir
plan assemble with dependent bumps (patch/minor/none), fixed groups, linked groups (both/single releasing), ignore list
config Load/save roundtrip, missing file defaults, malformed TOML errors, partial config default backfill
graph all_dependents transitive chains + diamond deps, dependencies, nonexistent packages, isolated nodes
lib BumpType::from_str valid/invalid/case-insensitive

Notable finding

RustAdapter::read_version panics (rather than returning Err) when [package].version is missing — documented with #[should_panic] test.

Test results

All 116 tests pass (88 unit + 13 golden + 15 python adapter).

@vercel
Copy link

vercel bot commented Feb 9, 2026

@brendanjryan is attempting to deploy a commit to the Wevm Team on Vercel.

A member of the Team first needs to authorize it.

Add 61 new unit tests across 8 files targeting the most critical
untested code paths identified via coverage analysis:

- changelog_entry: extract_pr_number, read_all, write, delete roundtrips
- changelog_writer: generate_entry_with_date with various bump types
- ecosystems/rust: read/write version, update_dependency_version
- workspace: find_root for Rust workspaces, Python, error cases
- plan: assemble with dependent bumps, fixed/linked groups, ignore
- config: load/save roundtrip, partial config defaults, malformed TOML
- graph: all_dependents transitive/diamond, dependencies, edge cases
- lib: BumpType::from_str valid/invalid paths
@brendanjryan
Copy link
Contributor Author

pulled in another pr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant