Skip to content

[FCP] RFC: Use cargo-nextest - #1693

Merged
makubacki merged 1 commit into
OpenDevicePartnership:mainfrom
makubacki:rfc_nextest
Aug 20, 2026
Merged

makubacki merged 1 commit into
OpenDevicePartnership:mainfrom
makubacki:rfc_nextest

Conversation

@makubacki

@makubacki makubacki commented Aug 6, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Status: FCP

Proposes using cargo-nextest for running tests in Patina.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

  • N/A

Integration Instructions

  • N/A

@makubacki makubacki self-assigned this Aug 6, 2026
@makubacki makubacki added the rfc A request-for-change proposal label Aug 6, 2026
@makubacki makubacki linked an issue Aug 6, 2026 that may be closed by this pull request
@patina-automation

patina-automation Bot commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

✅ QEMU Validation Passed

All QEMU validation jobs completed successfully.

Note: Q35 is only built on Windows hosts (QEMU boot is disabled due to a QEMU vfat issue).

Workflow run: https://github.com/OpenDevicePartnership/patina/actions/runs/32272820342

Boot Time to EFI Shell

Platform Elapsed
ArmVirt (Linux Host) 24.1s
Q35 (Linux Host) 29.0s

Dependencies

Repository Ref
patina 2364571
patina-dxe-core-qemu 5c12f1a
patina-fw-patcher d06ba7e
patina-qemu firmware v4.0.5
patina-qemu build script c1946d7

This comment was automatically generated by the Patina QEMU PR Validation Post workflow.

@codecov

codecov Bot commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@os-d os-d left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo, the only feature we were trying to get with #[serial] is resolved by cargo-nextest's isolation and I would converge on cargo-nextest to keep it simpler.

The other thing to note is that miri supports cargo-nextest, so there are the same benefits to running miri with nextest instead of cargo-test and timing on miri matters even more because it is so slow. However, it is almost certain that miri's own runtime is going to far overshadow the test harness time; I don't have data on if nextest helps significantly in overall miri time.

@makubacki

Copy link
Copy Markdown
Collaborator Author

imo, the only feature we were trying to get with #[serial] is resolved by cargo-nextest's isolation and I would converge on cargo-nextest to keep it simpler.

I haven't looked thoroughly, but I agree that I think we can drop them all.

The other thing to note is that miri supports cargo-nextest, so there are the same benefits to running miri with nextest instead of cargo-test and timing on miri matters even more because it is so slow. However, it is almost certain that miri's own runtime is going to far overshadow the test harness time; I don't have data on if nextest helps significantly in overall miri time.

I'll look into this a bit more and add some miri info to the RFC.

@makubacki makubacki mentioned this pull request Aug 7, 2026
5 tasks
@github-actions github-actions Bot added impact:non-functional Does not have a functional impact type:documentation Improvements or additions to documentation labels Aug 11, 2026
@makubacki

Copy link
Copy Markdown
Collaborator Author

I'll look into this a bit more and add some miri info to the RFC.

Done and pushed.

@makubacki makubacki changed the title RFC: Use cargo-nextest [FCP] RFC: Use cargo-nextest Aug 11, 2026
@makubacki

Copy link
Copy Markdown
Collaborator Author

Note: The RFC has entered Final Comment Period (FCP).

@cfernald cfernald left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. It seems if we aren't regularly exercising the correctness of serializiation or locking in tests in CI, then it will just start to fail and will be a burden to fix them up all the time. Better to drop it and only support nextext. Will be a bit annoying to no longer expect cargo test within a crate to not hit concurrency issues, though I guess that is solved with cargo test --test-threads=1

@makubacki

Copy link
Copy Markdown
Collaborator Author

Note: Moved to FCP on Aug 11. Planning to merge this week.

Proposes using cargo-nextest for running tests in Patina.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki
makubacki merged commit dd80121 into OpenDevicePartnership:main Aug 20, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact:non-functional Does not have a functional impact rfc A request-for-change proposal type:documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Consider cargo-nextest

4 participants