Skip to content

Conversation

@hanna-kruppe
Copy link
Contributor

Took a bunch of trial and error I mostly managed to preserve the existing test coverage, as I understood it. Notable exceptions:

  • Ancient Rust versions no longer run tests on macOS runners because the ARM64 ones aren't a supported target on ancient Rust and the Intel macOS runners that still exist ran into some weird linker error I didn't know how to resolve.
  • Some of the "weird targets" have been removed entirely (emscripten) or no longer have pre-built artifacts (mips-unknown-linux-musl). I haven't checked if there's another MIPS target that could be substituted, but I added s390x Linux so there's at least one big endian target in the mix.
  • I removed the Solaris build because mio doesn't compile on it any more.

serial_lock and its dependency tree make it hard to keep tests working
on Rust 1.40. In particular, all early versions of futures-util 0.3 with
sufficiently low MSRV were yanked.
For some reason, the tool reports a "not found" error for these lib.rs
links, but docs.rs links are fine.
@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.93%. Comparing base (172283a) to head (2c3b402).
⚠️ Report is 43 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff             @@
##           master     #193       +/-   ##
===========================================
+ Coverage   60.20%   72.93%   +12.73%     
===========================================
  Files          16       17        +1     
  Lines         784     1090      +306     
  Branches      117        0      -117     
===========================================
+ Hits          472      795      +323     
- Misses        241      295       +54     
+ Partials       71        0       -71     
Files with missing lines Coverage Δ
serial_test/src/lib.rs 100.00% <100.00%> (ø)
signal-hook-registry/src/lib.rs 85.43% <ø> (+8.03%) ⬆️
signal-hook-tokio/src/lib.rs 93.93% <ø> (-6.07%) ⬇️
src/iterator/mod.rs 77.04% <ø> (ø)
src/low_level/mod.rs 50.00% <ø> (+10.00%) ⬆️

... and 13 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vorner
Copy link
Owner

vorner commented Nov 28, 2025

This is a big help, thank you :-)

Can you have a look at the windows failure, though? It seems the failure is legitimate. Or, I assume this was there for some time already and your changes only uncovered the bug?

@hanna-kruppe
Copy link
Contributor Author

I didn't find a nice, maintainable way to have CI omit only the extended-siginfo feature only when testing on Windows. So instead I've gated the functionality of the feature behind cfg(not(windows)), mirroring low_level::pipe. In other words, the feature can be enabled on Windows but it won't do anything, other than enabling an unused cc dependency.

After some more whack-a-mole with windows-specific warnings and errors, the only remaining failure is the coverage workflow, that seems to be due to repository configuration (it worked on my fork), so I can't resolve that.

This doesn't remove the `-A` parameter in the CI workflow, that's still
needed to override the blanket `-D clippy::all`. But it fixes the false
positive from normal `cargo clippy` invocations.
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.

3 participants