Skip to content

Commit 7ba54cc

Browse files
authored
vmm_tests: add 16 vp count heavy tests (#1601)
Add some tests that tests larger VP counts.
1 parent 4347d62 commit 7ba54cc

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

vmm_tests/vmm_tests/tests/tests/multiarch.rs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,43 @@ async fn boot_no_agent(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
370370
Ok(())
371371
}
372372

373+
// Basic vp "heavy" boot test without agent with 16 VPs.
374+
#[vmm_test(
375+
openvmm_linux_direct_x64,
376+
openvmm_openhcl_linux_direct_x64,
377+
openvmm_pcat_x64(vhd(freebsd_13_2_x64)),
378+
openvmm_pcat_x64(iso(freebsd_13_2_x64)),
379+
openvmm_pcat_x64(vhd(windows_datacenter_core_2022_x64)),
380+
openvmm_pcat_x64(vhd(ubuntu_2204_server_x64)),
381+
// openvmm_uefi_aarch64(vhd(windows_11_enterprise_aarch64)),
382+
openvmm_uefi_aarch64(vhd(ubuntu_2404_server_aarch64)),
383+
openvmm_uefi_x64(vhd(windows_datacenter_core_2022_x64)),
384+
openvmm_uefi_x64(vhd(ubuntu_2204_server_x64)),
385+
openvmm_openhcl_uefi_x64(vhd(windows_datacenter_core_2022_x64)),
386+
openvmm_openhcl_uefi_x64(vhd(ubuntu_2204_server_x64)),
387+
openvmm_openhcl_uefi_x64[vbs](vhd(windows_datacenter_core_2022_x64)),
388+
openvmm_openhcl_uefi_x64[vbs](vhd(ubuntu_2204_server_x64)),
389+
hyperv_openhcl_uefi_aarch64(vhd(windows_11_enterprise_aarch64)),
390+
// hyperv_openhcl_uefi_aarch64(vhd(ubuntu_2404_server_aarch64)),
391+
hyperv_openhcl_uefi_x64(vhd(windows_datacenter_core_2022_x64)),
392+
// hyperv_openhcl_uefi_x64(vhd(ubuntu_2204_server_x64)),
393+
hyperv_openhcl_uefi_x64[vbs](vhd(windows_datacenter_core_2025_x64)),
394+
hyperv_openhcl_uefi_x64[tdx](vhd(windows_datacenter_core_2025_x64))
395+
)]
396+
async fn boot_no_agent_heavy(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
397+
let mut vm = config
398+
.with_processor_topology(ProcessorTopology {
399+
vp_count: 16,
400+
..Default::default()
401+
})
402+
.run_without_agent()
403+
.await?;
404+
vm.wait_for_successful_boot_event().await?;
405+
vm.send_enlightened_shutdown(ShutdownKind::Shutdown).await?;
406+
assert_eq!(vm.wait_for_teardown().await?, HaltReason::PowerOff);
407+
Ok(())
408+
}
409+
373410
// Test for vmbus relay
374411
// TODO: VBS isolation was failing and other targets too
375412
#[vmm_test(
@@ -384,6 +421,27 @@ async fn vmbus_relay(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
384421
Ok(())
385422
}
386423

424+
// Test for vmbus relay
425+
// TODO: VBS isolation was failing and other targets too
426+
#[vmm_test(
427+
hyperv_openhcl_uefi_x64[tdx](vhd(windows_datacenter_core_2025_x64))
428+
)]
429+
#[cfg_attr(not(windows), expect(dead_code))]
430+
async fn vmbus_relay_heavy(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
431+
let mut vm = config
432+
.with_vmbus_redirect(true)
433+
.with_processor_topology(ProcessorTopology {
434+
vp_count: 16,
435+
..Default::default()
436+
})
437+
.run_without_agent()
438+
.await?;
439+
vm.wait_for_successful_boot_event().await?;
440+
vm.send_enlightened_shutdown(ShutdownKind::Shutdown).await?;
441+
assert_eq!(vm.wait_for_teardown().await?, HaltReason::PowerOff);
442+
Ok(())
443+
}
444+
387445
/// Basic boot test without agent and with a single VP.
388446
#[vmm_test(
389447
openvmm_openhcl_uefi_x64[vbs](vhd(windows_datacenter_core_2022_x64)),

0 commit comments

Comments
 (0)