Skip to content

SL3.5b inputs: join published recovery, CLI tokens and nvx-init routing - #1458

Closed
Enrique Saurez (esaurez) wants to merge 35 commits into
feature/nvx-refactorfrom
esaurez/sl35b-published-inputs-e1c83f5b-20261110
Closed

Enrique Saurez (esaurez) wants to merge 35 commits into
feature/nvx-refactorfrom
esaurez/sl35b-published-inputs-e1c83f5b-20261110

Conversation

@esaurez

@esaurez Enrique Saurez (esaurez) commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Purpose and boundary

Supporting input integration for #1110 / SL3.5b, not the lifecycle consumer and not completion of that issue. It makes the already-published CLI launch recovery, CLI-owned launch tokens, and new nvx-init routing coexist and compile.

The pinned PR1453 tree lacked LockedState::recover and run::guest_tokens::render; PR1446 lacked the new sandbox/Fresh nvx-init route. This explicit join supplies those missing inputs rather than hiding ancestor implementation in a future consumer PR.

No producer is rewritten, retargeted, or replaced. No sandbox lifecycle migration, exec lock, provision-record change, protected-path change, token contract/visibility redesign, native change, or duplicate SL3.5d implementation is introduced. SL3.5d already merged as PR1264.

Exact published inputs and ordinary merge order

Order Published input Original public ref Exact intake SHA
Start PR1453 / SL7.8a refs/heads/esaurez/sl78a-init-routing-fe1cbbee-20261110 d56d3d343977178fd15bbd526a77a97603edbbac
1 Current feature refs/heads/feature/nvx-refactor 4192cfd1bbd2aa2a428fcb6eaa64ca042510ea62
2 PR1446 / SL3.3b refs/heads/private/simple-1108-02e4-sl33b-20261110 8921c45162e38761f1dc5beb51042ee2e7218803
3 PR1441 / SL3.4a2 refs/heads/private/simple-1109-02e4-sl34a2-20261110 67bb715081715ac612bb8949bccd0fdd40969b19
4 Same PR1441, fix now published; adopted once by explicit follow-up refs/heads/private/simple-1109-02e4-sl34a2-20261110 6bc5c0a6cbea41060e1992834ca8884a1f94c0e2

The feature head was refreshed at intake; it had advanced beyond the packet's cf5f9146. The original PR1441 67bb7150 pin was valid at intake and was truthfully published here at e4843296. Once the producer's 6bc5c0a6 fix became public, an explicit coordinator follow-up authorized adopting that exact public input once, not chasing future tips. Every exact input above remains an ancestor.

Ordinary merge commits, in order: ea8672647fa51c70c96542a10b04d2ee15cbf2a6, 8b66cc493153984d19043bbce7eda745d9313da4, 3984b7d869d8f026446893ea75ab7ada2aeb8ecd, then 928edaad5a0cebbd55d85735dded0032cbf91b6b (parents e4843296 and the public 6bc5c0a6). No cherry-picks, rebases, private producer fixes, or force pushes were used.

Native gitlink and initialized source remain 14dc4116ec7e57567633c4b7b07892aca3a58522; no native runtime was rebuilt. The PR1446 production store/liveness.rs already matches published PR1436's 694b332b8362afcd1c4d92f8bc2c39bf25ce27d2 repair exactly (blob 4b584f8362a74ecc72c29c43a8495696e0686297), so no extra input or duplicate Opened port was needed.

Own resolution delta and measured size

  • Feature conflicts retain PR1453's existing activation/Restored state and guest protocol exposure together with the feature's existing capture-deadline propagation and deadline tests.
  • Recovery conflicts retain PR1446's published journal, log claim, recovery hook, and tests; current feature snapshot documentation is retained.
  • The merged test-layout allowance is restored to PR1453's already-published seven init hooks, rather than the older feature allowance of six. No hook is added.
  • Actual joined Linux and Windows all-target compilation exposed seven test-only API mismatches. Four test files are adapted: the store fixture specifies absent optional boot capacity; two helper launches explicitly retain detached mode; three existing native-test exit assertions check Option<Exited>::is_some; the existing outcome reader propagates its Result before requiring a report. Public Error/Result/Opened/Exited contracts and test assertions are preserved.
  • The later public 6bc5c0a6 adoption selects its four changed leaf files byte for byte: CLI run implementation, its unit tests, fake OpenVMM, and one-shot tests. The recovery-aware store fixture is kept; its two independently added, identical optional-capacity fields are deduplicated to one. No new logic is authored or producer fix reimplemented.

Measured independently from inherited source:

Measurement Result
Original production core lines / own non-merge counted production files 0 / 0
Standalone follow-up edits 5 files, +14/-5 lines: four test files and one test-layout policy file
Text conflict resolutions 17 file-resolution entries / 16 distinct paths across three ordinary merges; git show --remerge-diff --numstat shows 0 added lines, only removal of 371 conflict-marker/unselected/duplicate lines
Exact public 6bc5c0a6 adoption delta from e4843296 5 files, +483/-45 lines, with the four changed leaf blobs identical to the producer; not original join implementation
Aggregate pinned-base-to-head diff, including all preserved inputs 90 files, +6913/-475 lines; this is not represented as the join's original implementation

Follow-up commits are 2e26738a642bfaf64e23c9e25fb668993f3ec309 (existing seam count) and e4843296e53588654722ea56f8e556e603f01e1e (test call-site compilation).

Exact joined-source evidence

Validated final head: 928edaad5a0cebbd55d85735dded0032cbf91b6b
Validated final tree: 409a299b2a7c18ab4f3559167fe2fa3cc2ec6262

Linux and Windows both compile the actual CLI/library and independent runtime adapter host/protocol configurations. Both initialize the exact native source, run scripts/nvx.py verify, and use isolated targets/caches. Windows runs MSVC setup and each Cargo command in the same cmd.exe process.

After the one public-input adoption, both platforms pass these scoped final-head checks:

cargo +1.95.0 fmt --all --check                         (nvx manifest)
cargo +1.95.0 build --locked --features cli             (nvx)
cargo +1.95.0 clippy --locked --all-targets --all-features -- -D warnings
cargo +1.95.0 test --locked --all-features --lib --test cli --no-run
cargo +1.89.0 check --locked --all-targets --all-features
cargo +1.95.0 build --locked                           (adapter protocol and --features host)
python scripts/check_test_layout.py

The prior exact e4843296 receipts additionally cover adapter formatting/clippy/MSRV and the original resolved areas: Linux store 32 passed, Windows store 31 passed (two helper-only cases ignored on each), Linux init capture 8 passed, and managed session 13 passed. Those unchanged regions retain that evidence. The final adoption does not rerun the producer's full 43/32-case or hardware matrices; affected library/CLI test targets are compiled, not executed. Native/manual restore tests are not executed.

Bounded Opus 5.5 / max / long-context review of the original hand resolutions and test call-site adaptations returned no findings at exact e4843296 / d9011de6; native configured/completed events verify that profile. The original guest/recovery resolutions remain unchanged. No broad review is repeated merely for adopting 6bc5c0a6: its four selected leaf blobs are verified identical to the public producer, with only the duplicate fixture field removed. This does not claim a review or qualification of all producer code in the final tree.

scripts/check_test_changes.py passes against exact pinned PR1453 and records 133 changed existing assets and 173 added assets in the final inherited input range. Existing base cases are kept with the producer changes. The only own test adaptations are the four compiler-required files described above, with assertions retained. Producer 6bc5c0a6 retires cold_share_command_lines_fit_the_kernel_budget_to_the_byte, introduced by its earlier 67bb7150 input but absent from the pinned PR1453 base; that published retirement is adopted unchanged, not independently redesigned here. The snapshot test-seam entry comes from the feature input; the init count already exists on the pinned base.

Small command/hash/result/job receipts and the untruncated test inventory are retained at:

D:\copilot\nvx-slim-1076\runs\sl35b-inputs-20261110-e1c83f5b\
  inputs.json
  resolution-metrics.json
  linux-receipt.json
  windows-receipt.json
  linux-adoption-receipt.json
  windows-adoption-receipt.json
  review-receipt.json
  test-changes-full-final.md

These are joined compile and focused-resolution receipts, not ancestor CI, runtime, native, VM, or complete SL3.5b qualification. Draft CI is not a full pass. No Ready pulse, full-CI request, PR merge, auto-merge, admin bypass, or native stack mutation is made.

Known producer limit at adoption: the coordinator reports four new Copilot findings on PR1441 / 6bc5c0a6, assigned to a fresh producer owner. This input join neither fixes nor waits for those findings, and does not claim they are resolved.

Remaining work

A fresh future worker must implement the actual SL3.5b consumer on a fresh context: switch start/exec/stop/deprovision together to the CLI store and new VM APIs, retaining today's provision reader. That work and its lifecycle qualification are deliberately absent here.

Existing-test disposition inventory

All rows below are kept with the preserved producer changes, including producer renames. The complete generated inventory follows; it is not truncated to the first 50 assets.

Full existing-test inventory: all 133 changed assets

This pull request changes existing tests

It modifies or removes 133 existing test asset(s), listed below. Review each with care: a change to a test can hide a regression that the test caught. See doc/contribute.md#changes-to-existing-tests.

Test code

Change What Before After
modified helper fn effective_command_line in host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:15 nvx-rs/src/host/cli/run/tests.rs:11
modified helper fn captured in host::config::tests nvx-rs/src/host/config/tests.rs:658 nvx-rs/src/host/config/tests.rs:685
modified helper fn cold in host::config::tests nvx-rs/src/host/config/tests.rs:1104 nvx-rs/src/host/config/tests.rs:1137
modified helper fn start_with in host::platform::windows::tests, impl HeldSpawn`` nvx-rs/src/host/platform/windows/tests.rs:616 nvx-rs/src/host/platform/windows/tests.rs:641
modified helper fn held_process in host::restore::tests nvx-rs/src/host/restore/tests.rs:29 nvx-rs/src/host/restore/tests.rs:29
modified helper fn run in host::restore::tests::live_init nvx-rs/src/host/restore/tests/live_init.rs:128 nvx-rs/src/host/restore/tests/live_init.rs:128
modified helper fn end_and_wait in host::template::clone::tests::launch, impl VmmDir`` nvx-rs/src/host/template/clone/tests/launch.rs:362 nvx-rs/src/host/template/clone/tests/launch.rs:362
modified helper fn wait_exit in host::template::clone::tests::launch, impl VmmDir`` nvx-rs/src/host/template/clone/tests/launch.rs:372 nvx-rs/src/host/template/clone/tests/launch.rs:372
modified helper fn drop in host::template::clone::tests::launch, impl Drop for VmmDir`` nvx-rs/src/host/template/clone/tests/launch.rs:412 nvx-rs/src/host/template/clone/tests/launch.rs:412
modified helper fn assert_vmm_ended in host::template::clone::tests::restore nvx-rs/src/host/template/clone/tests/restore.rs:422 nvx-rs/src/host/template/clone/tests/restore.rs:422
modified helper fn drop in host::template::store::leases::tests, impl Drop for VmmDir`` nvx-rs/src/host/template/store/leases/tests.rs:2459 nvx-rs/src/host/template/store/leases/tests.rs:2459
modified helper fn cold_config in host::vm::tests nvx-rs/src/host/vm/tests.rs:418 nvx-rs/src/host/vm/tests.rs:420
modified helper fn recorded_process in cli (tests) nvx-rs/tests/cli.rs:800 nvx-rs/tests/cli.rs:800
modified helper struct DryRun in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:31 nvx-rs/tests/cli/dry_run.rs:31
modified helper fn dry_run in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:49 nvx-rs/tests/cli/dry_run.rs:51
modified helper fn run_dry_runs in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:378 nvx-rs/tests/cli/dry_run.rs:386
modified helper fn assert_runtime_record in cli/lifecycle (tests) nvx-rs/tests/cli/lifecycle.rs:142 nvx-rs/tests/cli/lifecycle.rs:142
modified helper fn check_lifecycle in cli/lifecycle (tests) nvx-rs/tests/cli/lifecycle.rs:550 nvx-rs/tests/cli/lifecycle.rs:550
modified helper fn recycled_process_id in cli/lifecycle (tests) nvx-rs/tests/cli/lifecycle.rs:1425 nvx-rs/tests/cli/lifecycle.rs:1428
modified helper struct Launch in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:27 nvx-rs/tests/cli/one_shot.rs:27
modified helper fn launch in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:56 nvx-rs/tests/cli/one_shot.rs:58
modified helper fn run_launches in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:323 nvx-rs/tests/cli/one_shot.rs:332
modified helper fn run_refusals in cli/validation (tests) nvx-rs/tests/cli/validation.rs:729 nvx-rs/tests/cli/validation.rs:729
modified helper fn kill in store (tests) nvx-rs/tests/store.rs:176 nvx-rs/tests/store.rs:176
modified helper fn drop in supervisor (tests), impl Drop for VmmDirectory`` nvx-rs/tests/supervisor.rs:449 nvx-rs/tests/supervisor.rs:449
modified helper fn open_running in supervisor (tests) nvx-rs/tests/supervisor.rs:572 nvx-rs/tests/supervisor.rs:574
modified helper fn assert_ended in supervisor (tests) nvx-rs/tests/supervisor.rs:580 nvx-rs/tests/supervisor.rs:583
modified helper fn check_vmm in supervisor (tests) nvx-rs/tests/supervisor.rs:1226 nvx-rs/tests/supervisor.rs:1241
modified helper fn drop in template_capture (tests), impl Drop for Orphan`` nvx-rs/tests/template_capture.rs:530 nvx-rs/tests/template_capture.rs:530
modified helper fn new in common/mod (tests), impl Sandbox`` tests/runtime-adapter/tests/common/mod.rs:154 tests/runtime-adapter/tests/common/mod.rs:154
modified helper fn vmm in common/mod (tests), impl Sandbox`` tests/runtime-adapter/tests/common/mod.rs:406 tests/runtime-adapter/tests/common/mod.rs:409
modified helper fn activate in vm_clone (tests), impl CloneControl for Early`` tests/runtime-adapter/tests/vm_clone.rs:2314 tests/runtime-adapter/tests/vm_clone.rs:2314
modified helper fn refuses_early in vm_clone (tests) tests/runtime-adapter/tests/vm_clone.rs:2354 tests/runtime-adapter/tests/vm_clone.rs:2354
modified imports the imports of host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:4 nvx-rs/src/host/cli/run/tests.rs:4
modified test fn every_kind_has_a_code_of_its_own_spelling in error::tests nvx-rs/src/error/tests.rs:50 nvx-rs/src/error/tests.rs:50
modified test fn capture_preparation_and_acknowledgement_precede_one_synchronous_call in guest::init::tests::capture nvx-rs/src/guest/init/tests/capture.rs:65 nvx-rs/src/guest/init/tests/capture.rs:65
modified test fn refused_preparation_or_failed_acknowledgement_never_calls_snapshot in guest::init::tests::capture nvx-rs/src/guest/init/tests/capture.rs:116 nvx-rs/src/guest/init/tests/capture.rs:117
modified test fn an_old_epoch_drops_its_pending_capture_without_restarting_it in guest::init::tests::capture nvx-rs/src/guest/init/tests/capture.rs:149 nvx-rs/src/guest/init/tests/capture.rs:255
modified test fn fatal_capture_status_goes_directly_to_pid1_shutdown_without_starting_work in guest::init::tests::capture nvx-rs/src/guest/init/tests/capture.rs:223 nvx-rs/src/guest/init/tests/capture.rs:329
modified test fn a_capture_sweep_refuses_to_run_outside_pid_1 in guest::init::tests::exec nvx-rs/src/guest/init/tests/exec.rs:781 nvx-rs/src/guest/init/tests/exec.rs:781
modified test fn the_sweep_repeats_and_preserves_only_pid_1_and_registered_helpers in guest::init::tests::exec nvx-rs/src/guest/init/tests/exec.rs:790 nvx-rs/src/guest/init/tests/exec.rs:793
modified test fn privileged_capture_sweep_kills_setsid_escapees_and_spares_both_helpers in guest::init::tests::exec nvx-rs/src/guest/init/tests/exec.rs:1185 nvx-rs/src/guest/init/tests/exec.rs:1190
modified test fn capture_acknowledges_then_sends_nothing_until_return_and_reports_on_the_same_session in guest::managed_agent::session::tests nvx-rs/src/guest/managed_agent/session/tests.rs:393 nvx-rs/src/guest/managed_agent/session/tests.rs:415
modified test fn resumed_capture_reports_on_the_same_epoch_without_attaching_again in guest::managed_agent::session::tests nvx-rs/src/guest/managed_agent/session/tests.rs:432 nvx-rs/src/guest/managed_agent/session/tests.rs:454
modified test fn restored_capture_consumes_reset_and_acknowledges_the_existing_connection in guest::managed_agent::session::tests nvx-rs/src/guest/managed_agent/session/tests.rs:459 nvx-rs/src/guest/managed_agent/session/tests.rs:481
modified test fn must_end_returns_the_exact_status_without_a_report_or_more_control_work in guest::managed_agent::session::tests nvx-rs/src/guest/managed_agent/session/tests.rs:514 nvx-rs/src/guest/managed_agent/session/tests.rs:536
modified test fn single_share_targets_must_remain_one_kernel_token in host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:41 nvx-rs/src/host/cli/run/tests.rs:38
modified test fn share_tokens_hide_no_virtio_mmio_device in host::cli::run::tests, proptest!`` nvx-rs/src/host/cli/run/tests.rs:63 nvx-rs/src/host/cli/run/tests.rs:292
modified test fn policy_paths_attach_to_their_shares in host::cli::run::tests, proptest!`` (renamed to restore_policy_paths_attach_to_their_shares) nvx-rs/src/host/cli/run/tests.rs:100 nvx-rs/src/host/cli/run/tests.rs:332
modified test fn aggregate_policy_paths_must_be_absolute in host::cli::run::tests, proptest!`` nvx-rs/src/host/cli/run/tests.rs:146 nvx-rs/src/host/cli/run/tests.rs:378
modified test fn configurations_pass_with_or_without_a_nic_address_and_a_boot in host::config::tests nvx-rs/src/host/config/tests.rs:120 nvx-rs/src/host/config/tests.rs:143
modified test fn cold_command_lines_keep_the_old_root_view_and_mapping_values in host::config::tests nvx-rs/src/host/config/tests.rs:504 nvx-rs/src/host/config/tests.rs:529
modified test fn the_check_of_a_configuration_checks_its_boots_capture in host::config::tests nvx-rs/src/host/config/tests.rs:614 nvx-rs/src/host/config/tests.rs:640
modified test fn caller_tokens_follow_rendered_tokens_without_any_rewriting in host::config::tests nvx-rs/src/host/config/tests.rs:895 nvx-rs/src/host/config/tests.rs:923
modified test fn only_a_checked_cold_boot_has_a_kernel_command_line in host::config::tests nvx-rs/src/host/config/tests.rs:914 nvx-rs/src/host/config/tests.rs:943
modified test fn caller_tokens_cannot_replace_rendered_tokens_under_kernel_name_matching in host::config::tests nvx-rs/src/host/config/tests.rs:933 nvx-rs/src/host/config/tests.rs:963
modified test fn caller_owned_guest_tokens_and_noncolliding_names_stay_unchanged in host::config::tests nvx-rs/src/host/config/tests.rs:1000 nvx-rs/src/host/config/tests.rs:1031
modified test fn mapping_table_is_the_exact_export_projection_counted_by_the_boot_token in host::config::tests nvx-rs/src/host/config/tests.rs:1027 nvx-rs/src/host/config/tests.rs:1059
modified test fn cold_boot_command_lines_refuse_native_control_console_syntax in host::config::tests nvx-rs/src/host/config/tests.rs:1145 nvx-rs/src/host/config/tests.rs:1179
modified test fn children_inherit_only_their_standard_handles in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:206 nvx-rs/src/host/platform/windows/tests.rs:219
modified test fn a_child_loses_only_the_inherited_handle_that_is_closed_in_it in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:295 nvx-rs/src/host/platform/windows/tests.rs:310
modified test fn children_inherit_the_allowed_handles_while_they_are_created in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:344 nvx-rs/src/host/platform/windows/tests.rs:361
modified test fn batch_files_are_refused_before_cmd_could_read_their_arguments in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:422 nvx-rs/src/host/platform/windows/tests.rs:441
modified test fn concurrent_spawns_that_allow_one_handle_all_inherit_it_and_restore_it in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:464 nvx-rs/src/host/platform/windows/tests.rs:485
modified test fn a_spawn_that_panics_in_its_window_restores_the_handles_and_lets_other_spawns_run in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:508 nvx-rs/src/host/platform/windows/tests.rs:531
modified test fn a_launch_whose_vmm_exited_ends_while_a_process_spawned_in_its_window_holds_its_log in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:1049 nvx-rs/src/host/platform/windows/tests.rs:1076
modified test fn a_thread_that_holds_the_spawn_lock_spawns_under_it_until_its_last_lock_is_dropped in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:1105 nvx-rs/src/host/platform/windows/tests.rs:1132
modified test fn exit_handles_are_independently_owned_and_exist_only_for_exit_events in host::process::tests nvx-rs/src/host/process/tests.rs:220 nvx-rs/src/host/process/tests.rs:235
modified test fn hosts_without_pidfds_poll_and_never_signal in host::process::tests nvx-rs/src/host/process/tests.rs:259 nvx-rs/src/host/process/tests.rs:317
modified test fn processes_count_the_bytes_that_their_read_calls_read in host::process::tests nvx-rs/src/host/process/tests.rs:324 nvx-rs/src/host/process/tests.rs:383
modified test fn a_process_runs_until_its_last_thread_exits in host::process::tests::linux nvx-rs/src/host/process/tests/linux.rs:112 nvx-rs/src/host/process/tests/linux.rs:112
modified test fn a_process_whose_command_name_is_not_utf8_can_be_examined in host::process::tests::linux nvx-rs/src/host/process/tests/linux.rs:165 nvx-rs/src/host/process/tests/linux.rs:167
modified test fn reports_are_summarized_without_free_form_fields in host::report::tests nvx-rs/src/host/report/tests.rs:4 nvx-rs/src/host/report/tests.rs:4
modified test fn a_clone_whose_launch_failed_before_it_began_launches_no_more_until_its_release in host::template::clone::tests::launch nvx-rs/src/host/template/clone/tests/launch.rs:1547 nvx-rs/src/host/template/clone/tests/launch.rs:1549
modified test fn a_launch_whose_caller_crashes_once_its_vmm_started_ends_the_vmm_as_reattach_recovers_it in host::template::clone::tests::launch nvx-rs/src/host/template/clone/tests/launch.rs:2299 nvx-rs/src/host/template/clone/tests/launch.rs:2301
modified test fn a_restore_whose_caller_crashes_before_its_commit_ends_its_vmm_as_reattach_recovers_it in host::template::clone::tests::launch nvx-rs/src/host/template/clone/tests/launch.rs:2332 nvx-rs/src/host/template/clone/tests/launch.rs:2336
modified test fn a_reattach_that_cannot_record_a_failure_ends_and_forgets_nothing_of_the_clone in host::template::clone::tests::launch nvx-rs/src/host/template/clone/tests/launch.rs:3634 nvx-rs/src/host/template/clone/tests/launch.rs:3643
modified test fn a_reattach_makes_the_record_of_an_earlier_failure_durable_before_it_ends_the_launch in host::template::clone::tests::launch nvx-rs/src/host/template/clone/tests/launch.rs:3736 nvx-rs/src/host/template/clone/tests/launch.rs:3748
modified test fn a_launch_that_cannot_be_ended_keeps_its_records_and_its_lease_until_a_reattach_ends_it in host::template::clone::tests::restore nvx-rs/src/host/template/clone/tests/restore.rs:1175 nvx-rs/src/host/template/clone/tests/restore.rs:1175
modified test fn a_clone_that_crashes_after_its_spawn_keeps_its_lease_until_its_unrecorded_vmm_exits in host::template::store::leases::tests nvx-rs/src/host/template/store/leases/tests.rs:2623 nvx-rs/src/host/template/store/leases/tests.rs:2625
modified test fn a_clone_that_crashes_after_recording_its_vmm_keeps_its_lease_until_reattach_ends_it in host::template::store::leases::tests nvx-rs/src/host/template/store/leases/tests.rs:2654 nvx-rs/src/host/template/store/leases/tests.rs:2658
modified test fn another_process_serving_the_endpoint_is_refused in host::transport::tests nvx-rs/src/host/transport/tests.rs:142 nvx-rs/src/host/transport/tests.rs:142
modified test fn a_missing_boot_and_a_snapshot_are_refused_before_any_output_is_created in host::vm::tests nvx-rs/src/host/vm/tests.rs:492 nvx-rs/src/host/vm/tests.rs:495
modified test fn spawn_returns_the_same_outputs_and_capability_with_a_verified_process in host::vm::tests nvx-rs/src/host/vm/tests.rs:894 nvx-rs/src/host/vm/tests.rs:898
modified test fn a_library_vm_outlives_the_caller_that_spawned_it_without_retaining_its_output_pipe in host::vm::tests nvx-rs/src/host/vm/tests.rs:1055 nvx-rs/src/host/vm/tests.rs:1061
modified test fn spawn_caller_helper in host::vm::tests nvx-rs/src/host/vm/tests.rs:1088 nvx-rs/src/host/vm/tests.rs:1137
modified test fn an_unrelated_process_started_in_the_library_spawn_window_gets_no_vm_claim in host::vm::tests nvx-rs/src/host/vm/tests.rs:1139 nvx-rs/src/host/vm/tests.rs:1189
modified test fn current_cold_spawn_boots_a_guest_accepts_shell_input_and_exits_cleanly in host::vm::tests nvx-rs/src/host/vm/tests.rs:1195 nvx-rs/src/host/vm/tests.rs:1246
modified test fn reattaching_returns_the_held_owned_child_and_authenticated_connection in host::vm::tests::reattach nvx-rs/src/host/vm/tests/reattach.rs:229 nvx-rs/src/host/vm/tests/reattach.rs:229
modified test fn a_prepared_launch_hands_the_vmm_its_checked_images_alone in checked_handoff (tests) nvx-rs/tests/checked_handoff.rs:487 nvx-rs/tests/checked_handoff.rs:487
modified test fn a_vmm_keeps_the_scratch_images_claim_once_its_launcher_is_gone in checked_handoff (tests) nvx-rs/tests/checked_handoff.rs:717 nvx-rs/tests/checked_handoff.rs:718
modified test fn a_stop_under_another_identity_never_ends_a_process_that_its_record_does_not_name in cli (tests) nvx-rs/tests/cli.rs:978 nvx-rs/tests/cli.rs:981
modified test fn a_start_that_was_interrupted_is_ended_under_another_identity_too in cli (tests) nvx-rs/tests/cli.rs:1026 nvx-rs/tests/cli.rs:1031
modified test fn stop_reports_its_timeout_and_leaves_the_vm_running in cli (tests) nvx-rs/tests/cli.rs:1139 nvx-rs/tests/cli.rs:1144
modified test fn a_sandbox_whose_openvmm_exited_reports_it_once_and_starts_again in cli (tests) nvx-rs/tests/cli.rs:1186 nvx-rs/tests/cli.rs:1193
modified test fn a_start_that_ends_before_openvmm_opens_the_images_leaves_it_the_checked_ones in cli (tests) nvx-rs/tests/cli.rs:2013 nvx-rs/tests/cli.rs:2021
modified test fn run_guides_failed_cold_boots_on_cpus_that_no_built_in_profile_serves in cli (tests) nvx-rs/tests/cli.rs:2518 nvx-rs/tests/cli.rs:2526
modified test fn run_shares_relative_roots_with_absolute_policy_paths in cli (tests) nvx-rs/tests/cli.rs:2699 nvx-rs/tests/cli.rs:2708
modified test fn provision_and_deprovision_need_no_artifact_root in cli/download (tests) nvx-rs/tests/cli/download.rs:165 nvx-rs/tests/cli/download.rs:165
modified test fn dry_runs_print_the_openvmm_command_and_launch_nothing in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:1189 nvx-rs/tests/cli/dry_run.rs:1311
modified test fn the_openvmm_command_of_a_run_splits_back_into_its_arguments in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:1240 nvx-rs/tests/cli/dry_run.rs:1394
modified test fn lifecycle_of_a_sandbox_whose_upper_is_in_ram in cli/lifecycle (tests) nvx-rs/tests/cli/lifecycle.rs:636 nvx-rs/tests/cli/lifecycle.rs:637
modified test fn stops_keep_an_outcome_report_that_the_caller_reads_whatever_its_umask in cli/lifecycle (tests) nvx-rs/tests/cli/lifecycle.rs:718 nvx-rs/tests/cli/lifecycle.rs:720
modified test fn one_shot_runs_exit_with_the_workload_or_openvmm_status in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:660 nvx-rs/tests/cli/one_shot.rs:681
modified test fn a_restarted_orchestrator_reattaches_to_its_vm in fake_openvmm (tests) nvx-rs/tests/fake_openvmm.rs:370 nvx-rs/tests/fake_openvmm.rs:370
modified test fn outcome_reports_of_another_runtime_are_never_read in fake_openvmm (tests) nvx-rs/tests/fake_openvmm.rs:458 nvx-rs/tests/fake_openvmm.rs:459
modified test fn records_that_name_another_process_never_end_it in fake_openvmm (tests) nvx-rs/tests/fake_openvmm.rs:498 nvx-rs/tests/fake_openvmm.rs:500
modified test fn a_committed_launch_names_its_vm_for_another_build in store (tests) nvx-rs/tests/store.rs:497 nvx-rs/tests/store.rs:499
modified test fn long_stores_launch_with_a_short_working_directory in supervisor (tests) nvx-rs/tests/supervisor.rs:596 nvx-rs/tests/supervisor.rs:602
modified test fn a_child_that_exits_wakes_its_waiter in supervisor (tests) nvx-rs/tests/supervisor.rs:664 nvx-rs/tests/supervisor.rs:676
modified test fn a_process_that_is_not_a_child_wakes_its_waiters in supervisor (tests) nvx-rs/tests/supervisor.rs:691 nvx-rs/tests/supervisor.rs:703
modified test fn a_restarted_launcher_finds_its_vmm_again_and_ends_it in supervisor (tests) nvx-rs/tests/supervisor.rs:720 nvx-rs/tests/supervisor.rs:732
modified test fn a_reused_process_id_is_never_signaled in supervisor (tests) nvx-rs/tests/supervisor.rs:751 nvx-rs/tests/supervisor.rs:763
modified test fn references_that_name_no_process_are_never_opened in supervisor (tests) nvx-rs/tests/supervisor.rs:791 nvx-rs/tests/supervisor.rs:803
modified test fn an_unrecorded_vmm_that_serves_no_endpoint_is_never_signaled in supervisor (tests) nvx-rs/tests/supervisor.rs:851 nvx-rs/tests/supervisor.rs:866
modified test fn a_vmm_in_its_orchestrators_job_ends_with_it in supervisor (tests) nvx-rs/tests/supervisor.rs:1483 nvx-rs/tests/supervisor.rs:1498
modified test fn a_job_that_ends_its_vmm_wakes_the_waiters in supervisor (tests) nvx-rs/tests/supervisor.rs:1510 nvx-rs/tests/supervisor.rs:1525
modified test fn a_process_that_this_user_may_not_terminate_is_waited_for_but_never_signaled in supervisor (tests) nvx-rs/tests/supervisor.rs:1566 nvx-rs/tests/supervisor.rs:1581
modified test def FilesystemCommaPathsScenarioTests.test_scenario_shares_each_directory_alone_and_both_together in scripts/test_microvm_tests.py scripts/test_microvm_tests.py:3887 scripts/test_microvm_tests.py:3887
modified test fn a_host_program_of_another_runtime_ends_the_clone_through_its_verified_identity in vm_clone (tests) tests/runtime-adapter/tests/vm_clone.rs:3882 tests/runtime-adapter/tests/vm_clone.rs:3883
modified test fn a_clone_whose_vm_exits_once_a_stop_found_it_fails_before_its_lease_is_released in vm_clone (tests) tests/runtime-adapter/tests/vm_clone.rs:3930 tests/runtime-adapter/tests/vm_clone.rs:3933
modified test fn a_run_whose_clone_s_vm_exits_during_its_execution_ends_with_the_clone_s_failure in vm_clone (tests) tests/runtime-adapter/tests/vm_clone.rs:5295 tests/runtime-adapter/tests/vm_clone.rs:5300
modified test fn the_hook_pauses_a_launch_at_each_of_its_steps in vm_steps (tests) tests/runtime-adapter/tests/vm_steps.rs:177 tests/runtime-adapter/tests/vm_steps.rs:177

End-to-end tests

Change What Before After
modified file scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in
modified helper def run_filesystem_comma_paths in scripts/nvx_tools/microvm_tests.py scripts/nvx_tools/microvm_tests.py:9978 scripts/nvx_tools/microvm_tests.py:9978

Test doubles

Change What Before After
modified helper struct Options in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:341 nvx-rs/src/testing/fake_openvmm.rs:345
modified helper fn main in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:465 nvx-rs/src/testing/fake_openvmm.rs:477
modified helper fn run_one_shot in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:723 nvx-rs/src/testing/fake_openvmm.rs:771
modified helper fn run_microvm in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:770 nvx-rs/src/testing/fake_openvmm.rs:821
modified helper fn parse in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:1174 nvx-rs/src/testing/fake_openvmm.rs:1241
modified helper fn serve in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:2877 nvx-rs/src/testing/fake_openvmm.rs:3086
modified test fn restores_of_runs_resume_their_saved_guest_whatever_the_cli_tokens in testing::fake_openvmm::tests nvx-rs/src/testing/fake_openvmm/tests.rs:635 nvx-rs/src/testing/fake_openvmm/tests.rs:635

Test policy

Change What Before After
loosened allowlist entry nvx-rs/src/host/snapshot.rs (the seams allow 1 test hooks) scripts/test-layout-allowlist.json

Relocated unchanged: 0; added: 173. Compared the merge base d56d3d343977 with 928edaad5a0c.

Enrique Saurez and others added 30 commits November 10, 2026 01:05
Port the preserved SL2.10 implementation and coupled callers, API snapshots, docs and real-process tests onto feature c52c710 without changing legacy lifecycle policy.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Port the scoped SL3.2b donor cf485b7 onto verified feature c52c710 without its historical producer history. Persist prepared capability and outputs before spawn, the matching process before commit, and every SavedVm field in the private runtime record.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Add the rootless Fresh capture entry and handle snapshot outcomes on the shared control session. Refuse rooted capture before killing workloads and preserve the current helper supervision and nonblocking transport.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Use the existing PID and atomic create-directory retry to retain unique fixture directories without a long diagnostic prefix. Keep the scenario name in creation errors. Capture and restore control sockets now fit approved data-volume temp roots without changing production limits, assertions, timeouts or skipped tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Apply the pinned rustfmt wrapping requested by the final-head review; fixture semantics and production source remain unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Port only SL3.3a onto coordinator-qualified SL3.2b 99d0045. Retain the prepared log claim and identity, hold and recheck the endpoint owner, and require the Linux log match. Preserve Windows job/handle fallback primitives and the donor fork-race fix without adding recovery or signaling.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Return Running or opaque exit proof after checking the recorded identity.
Preserve indeterminate errors and current VM/transport verification policies.
Keep the existing exit-handle and recovery tests alongside opening proof cases.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Port only SL7.5d onto the qualified capture parent. Fork the fixed announcer before switching roots, preserving PID 1 priority and fatal helper supervision. Reset inherited signals without introducing a restore caller or lifecycle machinery.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Implement issue1109 SL3.4a2 on qualified SL2.10 adeb1d4, without
replaying the donor's old stop-producer history. Keep restore and
restore-network-policy on their existing path.

Render CLI-owned guest tokens from the planned export, preserve cold
foreground streams, terminal mode, exact exit status and outcome
publication, and keep ordinary library spawns detached.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Compose exact qualified13bb and92ac as preserved parents for issue1108 SL3.3b. No producer tree replay or manual resolution. Joint QA remains pending.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Compose the existing CLI liveness contract with SL2.10b Opened results. Preserve held-running versus proved-exited distinction and propagate lookup failures. Update only its existing own-process test helper.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Use verified endpoint and log claims for unrecorded launches and boot/PID/start identities for recorded processes. Require confirmed exit before removing capability and journal; retain indeterminate evidence and its refusal cause. Keep committed-runtime recovery separate and bounded claim rechecks intact.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Integrate only the restored activation caller on qualified capture and announcer inputs. Preserve bounded signal-aware control I/O, retain one activation across resets, and keep postactivation captures refused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
…rage

Do not require install provenance or hash an override for a cold run that neither captures nor reattaches. Restore the public artifact identity implementation and remove its unused private extension and fixtures. Exercise metadata-free dry runs and overrides. Update the real comma-path guest scenario for planned aggregate binds, including all-read-only root remounts while retaining host write-denial checks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Port the required single-instance named-pipe disconnect helper and CLI-gated test re-exports. Repeated endpoint-owner verification must reconnect after each finished client; no production API or assertion changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Remove the two no-longer-installed guest metadata entries from the fixture cleanup list, restoring this file exactly to the qualified base. Keep all six download test bodies and assertions unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Bind the established private restore-ready listener in a scoped in-crate live fixture. Keep production APIs and guards unchanged; exercise real activation, MAPS/EXEC, replay, helper publication and the original deadline under explicit host admission.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Implement issue1109 SL3.4a2 on qualified SL2.10 adeb1d4, without
replaying the donor's old stop-producer history. Keep restore and
restore-network-policy on their existing path.

Render CLI-owned guest tokens from the planned export, preserve cold
foreground streams, terminal mode, exact exit status and outcome
publication, and keep ordinary library spawns detached.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
…rage

Do not require install provenance or hash an override for a cold run that neither captures nor reattaches. Restore the public artifact identity implementation and remove its unused private extension and fixtures. Exercise metadata-free dry runs and overrides. Update the real comma-path guest scenario for planned aggregate binds, including all-read-only root remounts while retaining host write-denial checks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Remove the two no-longer-installed guest metadata entries from the fixture cleanup list, restoring this file exactly to the qualified base. Keep all six download test bodies and assertions unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Recheck the owned child before surfacing endpoint authentication races, use the standard Unicode-aware stdout path, avoid idle sleeps while streams advance, and publish requested native reports after confirmed exit even on foreground errors.

Add focused peer, private Windows console, streaming, output-error and interruption regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Render invalid guest UTF-8 as replacement characters only when stdout is an actual Windows console. Carry at most three split-sequence bytes between reads and finish them only at console EOF or final drain. Keep redirected pipes and files byte-exact and preserve real I/O failures.

Extend the isolated CP437 console regression with invalid sequences, split-invalid input, incomplete endings, and raw pipe/file controls.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Allow only the isolated Windows console test helper to exercise documented Win32 calls, matching existing Windows endpoint-test opt-outs. Keep the host-wide unsafe-code denial and production code unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Initialize the cold-boot memory-capacity option in the newly integrated CLI journal fixture. None preserves its prior boot-memory behavior and all existing assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Install through the existing fixed guest-binary list and preserve the legacy-token and blockless routes. Pass the known helper PIDs and move the runtime adapter overlay to the new init path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 10c9dff8-5c75-4c96-9739-3896adfb0c71
Preserve published activation and capture-deadline behavior together.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
Enrique Saurez added 4 commits November 10, 2026 11:52
Preserve the published journal, claim, recovery hook and recovery test semantics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
The activation input already allows seven hooks; the feature input allows six. Preserve all published seams without adding a test hook.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
Keep detached helper launches, default boot capacity, confirmed exit assertions and fallible outcome reads without changing runtime implementation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
@esaurez Enrique Saurez (esaurez) added tests-modified Changes existing tests, test data, or test wiring feat-nvx-refactor labels Nov 10, 2026
@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

This pull request changes existing tests

It modifies or removes 57 existing test asset(s), listed below. Review each with care: a change to a test can hide a regression that the test caught. See doc/contribute.md#changes-to-existing-tests.

Test code

Change What Before After
modified helper fn effective_command_line in host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:15 nvx-rs/src/host/cli/run/tests.rs:11
modified helper fn prepared in host::cli::store::tests::launch nvx-rs/src/host/cli/store/tests/launch.rs:14 nvx-rs/src/host/cli/store/tests/launch.rs:14
modified helper fn captured in host::config::tests nvx-rs/src/host/config/tests.rs:658 nvx-rs/src/host/config/tests.rs:685
modified helper fn cold in host::config::tests nvx-rs/src/host/config/tests.rs:1104 nvx-rs/src/host/config/tests.rs:1137
modified helper fn start_with in host::platform::windows::tests, impl HeldSpawn`` nvx-rs/src/host/platform/windows/tests.rs:627 nvx-rs/src/host/platform/windows/tests.rs:641
modified helper fn cold_config in host::vm::tests nvx-rs/src/host/vm/tests.rs:420 nvx-rs/src/host/vm/tests.rs:420
modified helper struct DryRun in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:31 nvx-rs/tests/cli/dry_run.rs:31
modified helper fn dry_run in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:49 nvx-rs/tests/cli/dry_run.rs:51
modified helper fn run_dry_runs in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:378 nvx-rs/tests/cli/dry_run.rs:386
modified helper struct Launch in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:27 nvx-rs/tests/cli/one_shot.rs:27
modified helper fn launch in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:56 nvx-rs/tests/cli/one_shot.rs:58
modified helper fn run_launches in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:323 nvx-rs/tests/cli/one_shot.rs:332
modified helper fn run_refusals in cli/validation (tests) nvx-rs/tests/cli/validation.rs:729 nvx-rs/tests/cli/validation.rs:729
modified helper fn expected in initramfs (tests) tests/runtime-adapter/tests/initramfs.rs:83 tests/runtime-adapter/tests/initramfs.rs:83
modified hook the test hooks of const APP_ACTIVATE in protocol::app nvx-rs/src/protocol/app.rs:71 nvx-rs/src/protocol/app.rs:74
modified hook the test hooks of fn decode_activate_payload in protocol::app nvx-rs/src/protocol/app.rs:210 nvx-rs/src/protocol/app.rs:216
modified imports the imports of host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:4 nvx-rs/src/host/cli/run/tests.rs:4
modified test fn single_share_targets_must_remain_one_kernel_token in host::cli::run::tests nvx-rs/src/host/cli/run/tests.rs:41 nvx-rs/src/host/cli/run/tests.rs:38
modified test fn share_tokens_hide_no_virtio_mmio_device in host::cli::run::tests, proptest!`` nvx-rs/src/host/cli/run/tests.rs:63 nvx-rs/src/host/cli/run/tests.rs:292
modified test fn policy_paths_attach_to_their_shares in host::cli::run::tests, proptest!`` (renamed to restore_policy_paths_attach_to_their_shares) nvx-rs/src/host/cli/run/tests.rs:100 nvx-rs/src/host/cli/run/tests.rs:332
modified test fn aggregate_policy_paths_must_be_absolute in host::cli::run::tests, proptest!`` nvx-rs/src/host/cli/run/tests.rs:146 nvx-rs/src/host/cli/run/tests.rs:378
modified test fn an_interruption_keeps_the_journal_and_capability_without_publishing_runtime in host::cli::store::tests::launch nvx-rs/src/host/cli/store/tests/launch.rs:163 nvx-rs/src/host/cli/store/tests/launch.rs:167
modified test fn configurations_pass_with_or_without_a_nic_address_and_a_boot in host::config::tests nvx-rs/src/host/config/tests.rs:120 nvx-rs/src/host/config/tests.rs:143
modified test fn cold_command_lines_keep_the_old_root_view_and_mapping_values in host::config::tests nvx-rs/src/host/config/tests.rs:504 nvx-rs/src/host/config/tests.rs:529
modified test fn the_check_of_a_configuration_checks_its_boots_capture in host::config::tests nvx-rs/src/host/config/tests.rs:614 nvx-rs/src/host/config/tests.rs:640
modified test fn caller_tokens_follow_rendered_tokens_without_any_rewriting in host::config::tests nvx-rs/src/host/config/tests.rs:895 nvx-rs/src/host/config/tests.rs:923
modified test fn only_a_checked_cold_boot_has_a_kernel_command_line in host::config::tests nvx-rs/src/host/config/tests.rs:914 nvx-rs/src/host/config/tests.rs:943
modified test fn caller_tokens_cannot_replace_rendered_tokens_under_kernel_name_matching in host::config::tests nvx-rs/src/host/config/tests.rs:933 nvx-rs/src/host/config/tests.rs:963
modified test fn caller_owned_guest_tokens_and_noncolliding_names_stay_unchanged in host::config::tests nvx-rs/src/host/config/tests.rs:1000 nvx-rs/src/host/config/tests.rs:1031
modified test fn mapping_table_is_the_exact_export_projection_counted_by_the_boot_token in host::config::tests nvx-rs/src/host/config/tests.rs:1027 nvx-rs/src/host/config/tests.rs:1059
modified test fn cold_boot_command_lines_refuse_native_control_console_syntax in host::config::tests nvx-rs/src/host/config/tests.rs:1145 nvx-rs/src/host/config/tests.rs:1179
modified test fn children_inherit_only_their_standard_handles in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:217 nvx-rs/src/host/platform/windows/tests.rs:219
modified test fn a_child_loses_only_the_inherited_handle_that_is_closed_in_it in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:306 nvx-rs/src/host/platform/windows/tests.rs:310
modified test fn children_inherit_the_allowed_handles_while_they_are_created in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:355 nvx-rs/src/host/platform/windows/tests.rs:361
modified test fn batch_files_are_refused_before_cmd_could_read_their_arguments in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:433 nvx-rs/src/host/platform/windows/tests.rs:441
modified test fn concurrent_spawns_that_allow_one_handle_all_inherit_it_and_restore_it in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:475 nvx-rs/src/host/platform/windows/tests.rs:485
modified test fn a_spawn_that_panics_in_its_window_restores_the_handles_and_lets_other_spawns_run in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:519 nvx-rs/src/host/platform/windows/tests.rs:531
modified test fn a_thread_that_holds_the_spawn_lock_spawns_under_it_until_its_last_lock_is_dropped in host::platform::windows::tests nvx-rs/src/host/platform/windows/tests.rs:1116 nvx-rs/src/host/platform/windows/tests.rs:1132
modified test fn a_library_vm_outlives_the_caller_that_spawned_it_without_retaining_its_output_pipe in host::vm::tests nvx-rs/src/host/vm/tests.rs:1060 nvx-rs/src/host/vm/tests.rs:1061
modified test fn current_cold_spawn_boots_a_guest_accepts_shell_input_and_exits_cleanly in host::vm::tests nvx-rs/src/host/vm/tests.rs:1204 nvx-rs/src/host/vm/tests.rs:1246
modified test fn run_guides_failed_cold_boots_on_cpus_that_no_built_in_profile_serves in cli (tests) nvx-rs/tests/cli.rs:2526 nvx-rs/tests/cli.rs:2526
modified test fn run_shares_relative_roots_with_absolute_policy_paths in cli (tests) nvx-rs/tests/cli.rs:2707 nvx-rs/tests/cli.rs:2708
modified test fn dry_runs_print_the_openvmm_command_and_launch_nothing in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:1189 nvx-rs/tests/cli/dry_run.rs:1311
modified test fn the_openvmm_command_of_a_run_splits_back_into_its_arguments in cli/dry_run (tests) nvx-rs/tests/cli/dry_run.rs:1240 nvx-rs/tests/cli/dry_run.rs:1394
modified test fn one_shot_runs_exit_with_the_workload_or_openvmm_status in cli/one_shot (tests) nvx-rs/tests/cli/one_shot.rs:660 nvx-rs/tests/cli/one_shot.rs:681
modified test def FilesystemCommaPathsScenarioTests.test_scenario_shares_each_directory_alone_and_both_together in scripts/test_microvm_tests.py scripts/test_microvm_tests.py:3887 scripts/test_microvm_tests.py:3887
modified test fn the_launchers_run_the_guest_agent_on_the_control_tty in initramfs (tests) tests/runtime-adapter/tests/initramfs.rs:145 tests/runtime-adapter/tests/initramfs.rs:145

End-to-end tests

Change What Before After
modified file scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in scripts/nvx_tools/microvm_test_scripts/filesystem-comma-paths.sh.in
modified helper def run_filesystem_comma_paths in scripts/nvx_tools/microvm_tests.py scripts/nvx_tools/microvm_tests.py:9978 scripts/nvx_tools/microvm_tests.py:9978

Test doubles

Change What Before After
modified helper struct Options in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:341 nvx-rs/src/testing/fake_openvmm.rs:345
modified helper fn main in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:465 nvx-rs/src/testing/fake_openvmm.rs:477
modified helper fn run_one_shot in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:723 nvx-rs/src/testing/fake_openvmm.rs:771
modified helper fn run_microvm in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:770 nvx-rs/src/testing/fake_openvmm.rs:821
modified helper fn parse in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:1174 nvx-rs/src/testing/fake_openvmm.rs:1241
modified helper fn serve in testing::fake_openvmm nvx-rs/src/testing/fake_openvmm.rs:2877 nvx-rs/src/testing/fake_openvmm.rs:3086
modified test fn restores_of_runs_resume_their_saved_guest_whatever_the_cli_tokens in testing::fake_openvmm::tests nvx-rs/src/testing/fake_openvmm/tests.rs:635 nvx-rs/src/testing/fake_openvmm/tests.rs:635

Test policy

Change What Before After
loosened allowlist entry nvx-rs/src/guest/init.rs (the seams allow 7 test hooks, up from 6) scripts/test-layout-allowlist.json

Relocated unchanged: 0; added: 156. Compared the merge base 4192cfd1bbd2 with 928edaad5a0c.

Adopt public PR1441 head6bc5c0a6 verbatim in its four changed leaf files. Preserve the completed e484 integration and all original inputs; keep one identical optional-capacity field in the recovery-aware fixture. Producer follow-up findings remain with their owner.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1ab84e49-48c9-4741-8fac-ff69b6734573
@ppenna

Copy link
Copy Markdown
Contributor

Closing as superseded: everything that this pull request joined is in feature/nvx-refactor at 5947e4e8.

#1460, which was stacked on this pull request, is now rebased onto feature/nvx-refactor without it. Reopen this pull request if anything is missing.

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

Labels

feat-nvx-refactor tests-modified Changes existing tests, test data, or test wiring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants