Repository navigation
nvx: record the native transport handles in the API snapshots - #1277
Pedro Henrique Penna (ppenna) merged 1 commit into
Conversation
#1258 added two public items, the trait method host::platform::Transport::try_clone_handle and the type alias host::platform::TransportHandle, while #1261 was in review, so the public-API snapshots that #1261 committed lack them, and the API check fails on dev. Regenerate both snapshots with scripts/public_api.py --update: each gains those two lines and nothing else. Part of #1091. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c2e22d0d-c583-4401-a947-31781d4fec41
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the Linux and Windows public API snapshot updates.
No open issues 🎉
What changed in this PR
Updates nvx’s checked public API snapshots to include the native transport handle API added in #1258, correcting the snapshot mismatch left after #1261 merged.
Changes:
- Records
Transport::try_clone_handleandTransportHandlein both platform snapshots. - Adds four generated lines without changing runtime code, tests, or CI configuration.
| File | Description |
|---|---|
nvx-rs/public-api/windows.txt |
Records the two existing Windows transport API items. |
nvx-rs/public-api/linux.txt |
Records the two existing Linux transport API items. |
Review effort: Balanced
|
Neuro-formal verification (NFV) selects nontrivial properties from PR intent and source, tries verification, then tries refutation. NFV: 0 refuted, 0 verified in PR #1277PR head These are results for translated models under their stated assumptions, not proofs of source-code correctness or confirmed source bugs. refuted: 0 · verified: 0 · resources exhausted: 0 · type-check/audit failure: 0
Add this agentic workflow to your repoTo install this agentic workflow, run |
Part of #1091 (SL0.4: the public API has a checked snapshot).
What and why
#1261 added the snapshots of
nvx's public API,nvx-rs/public-api/linux.txtandwindows.txt, and the check that compares the API with them. While it was in review, #1258 added two public items tonvx::host::platform, on Linux and on Windows: the methodTransport::try_clone_handleand the typeTransportHandle. #1261 merged without them in its snapshots, so the check fails ondev, as in run 41783992397, jobnvx-rs / ubuntu-latest, step "Check nvx-rs":This pull request regenerates both snapshots with
python scripts/public_api.py --update. Each gains those two lines and nothing else. No code, test, script, workflow or documentation changes.Tests
No test changes:
python scripts/check_test_changes.py --base 74a44fd6c1620023d33457318b28047f2fc84c25reports "0 change(s) to existing tests; relocated unchanged: 0; added: 0". The 8 tests ofscripts/test_public_api.pystay unchanged and pass:test_lists_each_kind_of_item_by_its_pathtest_follows_re_exportstest_marks_hidden_items_and_what_hidden_items_containtest_lists_feature_gated_items_as_any_othertest_refuses_another_format_versiontest_refuses_what_it_cannot_listtest_check_prints_how_the_api_differs_and_failstest_update_rewrites_the_snapshotsSize
0 core lines in 0 counted files, under #1076's rules: the snapshots are generated and don't count. They gain 4 generated lines, 2 per platform.
Validation
With Rust 1.95.0, whose rustdoc writes JSON format 57, on Windows and on Linux, x86-64. Nothing was published.
python scripts/public_api.pyfails on both with exactly the diff above. The listings that it generates have 3428 lines for Linux and 2418 for Windows, against 3426 and 2416 in the committed snapshots.python scripts/public_api.pypasses on both, and the listings that it generates equal the committed snapshots byte for byte, identical on both.scripts/test_public_api.py, the test-change check, the test layout check and the Markdown links pass on both, with Python 3.13 on Windows and Python 3.12 on Linux.scripts/public_api.pyuses the snapshots:check-nvx-rsruns it to compare the API with them, and--updaterewrites them.scripts/test_public_api.pywrites its own in temporary directories. No build, Rust source, test or program reads them.nvx-rs/srcamong them, is the same at the base and at this head.module-diagrams.ymlredraws for a change undernvx-rs/, come from the crate's modules through cargo-modules, which the snapshots aren't part of.dev, which publishes the crate whennvx-rs/changed, counts them as such a change, like any other file there.nvx-rs/but Markdown as an input of the microVM tests and the benchmarks, so it selects them for this change, with the guest artifacts and the OpenVMM binaries that they use.devalso failedNVX microVM tests / Linux / KVM / Guests and sandboxes, at step "Run runtime adapter scenarios on Linux": thevm_clonescenarioone_template_serves_the_clones_of_every_network_policy_at_its_guest_s_addressfailed its assertion attests/runtime-adapter/tests/vm_clone.rs:1635. This pull request changes nothing that the scenario runs, so it neither fixes nor waives that failure, and CI's microVM tests run the scenario again for this change.