tests: add vmm_x86 test
parent
1400dded7e
commit
1f5dfe4ef5
@ -0,0 +1,31 @@
|
||||
diff --git a/repos/os/src/test/vmm_x86/component.cc b/repos/os/src/test/vmm_x86/component.cc
|
||||
index 1bfbd58db7..d56a561061 100644
|
||||
--- a/repos/os/src/test/vmm_x86/component.cc
|
||||
+++ b/repos/os/src/test/vmm_x86/component.cc
|
||||
@@ -492,8 +492,9 @@ class Vmm {
|
||||
|
||||
private:
|
||||
|
||||
- Genode::Signal_handler<Vmm> _destruct_handler;
|
||||
- Genode::Reconstructible<Vm> _vm;
|
||||
+ Genode::Env &_env;
|
||||
+ Genode::Signal_handler<Vmm> _destruct_handler;
|
||||
+ Genode::Reconstructible<Vm> _vm;
|
||||
|
||||
void _destruct()
|
||||
{
|
||||
@@ -502,12 +503,14 @@ class Vmm {
|
||||
_vm.destruct();
|
||||
|
||||
Genode::log("vmm test finished");
|
||||
+ _env.parent().exit(0);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
Vmm(Genode::Env &env)
|
||||
:
|
||||
+ _env(env),
|
||||
_destruct_handler(env.ep(), *this, &Vmm::_destruct),
|
||||
_vm(env, _destruct_handler)
|
||||
{
|
@ -0,0 +1,25 @@
|
||||
-- SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
|
||||
|
||||
let Genode = Test.Genode
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let vmm =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "test-vmm_x86"
|
||||
, resources = Init.Resources::{
|
||||
, caps = 2048
|
||||
, ram = Genode.units.MiB 256
|
||||
}
|
||||
, routes =
|
||||
[ Genode.Init.ServiceRoute.parent "Timer"
|
||||
, Genode.Init.ServiceRoute.parent "VM"
|
||||
]
|
||||
}
|
||||
|
||||
in Test::{ children = toMap { vmm = vmm } }
|
@ -0,0 +1,12 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
{ testEnv, pkgs, ... }:
|
||||
with pkgs;
|
||||
|
||||
testEnv.mkTest {
|
||||
name = "vmm";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ehmry ];
|
||||
|
||||
testConfig = ./vmm_x86.dhall;
|
||||
testInputs = map pkgs.genodeSources.make [ "test/vmm_x86" ];
|
||||
}
|
Loading…
Reference in New Issue