Repository navigation
ci: cut the nightly deep verification to about an hour - #41
Merged
Merged
Conversation
The nightly workflow spent about twelve hours of runner time, ten of them fuzzing two small targets that keep no corpus. Each fuzz target now runs for fifteen minutes, the stress test 20000 times on x64 and 5000 times on i686, and the random cases at ten times their size. ADR 0017 and CONTRIBUTING state the new budget. Refs #40
…ptions
The spawn tests no longer silence `as`, `expect`, and `unwrap_in_result` across the whole file, and their crate doc keeps `missing_docs` satisfied off Windows.
Handles pass between Win32 calls as pointers, a probe's handle travels as `{:p}` text, and a malformed probe or an open gate returns an error.
A value becomes a handle through a byte offset from null.
The `DWORD` conversions move to `domain::conversion_rules` and convert through bytes, and Kani proves them for every input.
Reading a handle's value keeps the one `as` exception until the MSRV has `addr`.
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.
Summary
Closes #40.
The nightly deep verification spent about twelve hours of runner time each night, ten of them fuzzing.
It now spends about an hour.
The PR checks don't change.
The PR also removes eight of the eleven registered lint exceptions.
as,expect, andunwrap_in_resultacross the whole file, and their crate doc keepsmissing_docssatisfied off Windows.Handles pass between Win32 calls as pointers, a probe's handle travels as
{:p}text, and a malformed probe or an open gate returns an error.DWORDconversions move todomain::conversion_rulesand convert through bytes.Three of the four
asexceptions insysand its truncation exception go, and Kani proves the width conversions for every input.sysmodule'sunsafe, and a probe's exit keep their exceptions, because Rust 1.75 has neitheraddrnor#[expect].Validation
actionlintpassed, andzizmorreports nothing fordeep-verification.yml.cargo xtask cipassed through the Linux-empty step.There
cargo denycouldn't refresh its advisory database, and on macOS it passed with the cached one.cargo xtask proofs kaniverified every proof, including the three new ones, and every negative control failed on its marker.cargo miri testpassed the conversion unit tests.Checklist
@coderabbitai ignore