#[test]
fn vm_core_does_not_handle_arch_local_exits() {
let vm_rs = include_str!("../src/vm.rs");
for forbidden in [
"CurrentArch",
"ArchOps",
"CurrentArch::handle_vcpu_exit",
"VcpuRunAction",
"HostInterrupt",
] {
assert!(
!vm_rs.contains(forbidden),
"vm.rs must not contain architecture-local exit handling detail: {forbidden}"
);
}
}
#[test]
fn runtime_vcpu_loop_only_consumes_scheduler_actions() {
let runtime_vcpus_rs = include_str!("../src/runtime/vcpus.rs");
for forbidden in [
"VcpuRunAction::Continue",
"VcpuRunAction::HostInterrupt",
"HostInterrupt",
] {
assert!(
!runtime_vcpus_rs.contains(forbidden),
"runtime/vcpus.rs must not match architecture-local exit action: {forbidden}"
);
}
}