Run Linux tests under SOTEST for consistency
This commit is contained in:
parent
d37bff8d16
commit
a2fc8f8ed1
|
@ -1,40 +1,70 @@
|
||||||
-- SPDX-License-Identifier: CC0-1.0
|
-- SPDX-License-Identifier: CC0-1.0
|
||||||
let Genode = env:DHALL_GENODE
|
let Genode = env:DHALL_GENODE
|
||||||
|
|
||||||
let Args =
|
let Prelude = Genode.Prelude
|
||||||
{ config : Genode.Init.Type
|
|
||||||
, rom : Genode.Prelude.Map.Type Text Genode.Boot.Rom
|
|
||||||
}
|
|
||||||
: Type
|
|
||||||
|
|
||||||
in λ(args : Args)
|
in λ(boot : Genode.Boot.Type)
|
||||||
→ { config =
|
→ let child =
|
||||||
Genode.Init::{
|
{ mapKey = "test", mapValue = Genode.Init.toStart boot.config }
|
||||||
, verbose = True
|
|
||||||
, defaultRoutes =
|
in { config =
|
||||||
Genode.Init.default.defaultRoutes
|
Genode.Init::{
|
||||||
# [ Genode.ServiceRoute.child "Timer" "timer" ]
|
, verbose = True
|
||||||
, children =
|
, defaultRoutes =
|
||||||
[ { mapKey = "timer"
|
Genode.Init.default.defaultRoutes
|
||||||
, mapValue =
|
# [ Genode.ServiceRoute.child "Timer" "timer" ]
|
||||||
Genode.Init.Start::{
|
, children =
|
||||||
, binary = "linux_timer_drv"
|
[ { mapKey = "timer"
|
||||||
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
, mapValue =
|
||||||
, provides = [ "Timer" ]
|
Genode.Init.Start::{
|
||||||
|
, binary = "linux_timer_drv"
|
||||||
|
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
||||||
|
, provides = [ "Timer" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
, { mapKey = "harness"
|
||||||
, { mapKey = "test", mapValue = Genode.Init.toStart args.config }
|
, mapValue =
|
||||||
]
|
Genode.Init.Start::{
|
||||||
|
, binary = "sotest-harness"
|
||||||
|
, exitPropagate = True
|
||||||
|
, resources =
|
||||||
|
{ caps = child.mapValue.resources.caps + 128
|
||||||
|
, ram =
|
||||||
|
child.mapValue.resources.ram
|
||||||
|
+ Genode.units.MiB 1
|
||||||
|
}
|
||||||
|
, config =
|
||||||
|
Some
|
||||||
|
( Prelude.XML.element
|
||||||
|
{ name = "config"
|
||||||
|
, attributes = Prelude.XML.emptyAttributes
|
||||||
|
, content =
|
||||||
|
[ Genode.Init.Start.toXML
|
||||||
|
child.mapKey
|
||||||
|
child.mapValue
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
, routes =
|
||||||
|
[ Genode.ServiceRoute.parentLabel
|
||||||
|
"LOG"
|
||||||
|
(Some "SOTEST")
|
||||||
|
(Some "unlabeled")
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, rom =
|
||||||
|
let manifest = env:MANIFEST
|
||||||
|
|
||||||
|
in Genode.Boot.toRomPaths
|
||||||
|
[ manifest.base-linux.bin.core-linux
|
||||||
|
, manifest.base-linux.bin.ld
|
||||||
|
, manifest.base-linux.bin.linux_timer_drv
|
||||||
|
, manifest.os.bin.init
|
||||||
|
, manifest.sotest-producer.bin.sotest-harness
|
||||||
|
]
|
||||||
|
# boot.rom
|
||||||
|
: Genode.Prelude.Map.Type Text Genode.Boot.Rom
|
||||||
}
|
}
|
||||||
, rom =
|
|
||||||
let manifest = env:MANIFEST
|
|
||||||
|
|
||||||
in Genode.Boot.toRomPaths
|
|
||||||
[ manifest.base-linux.bin.ld
|
|
||||||
, manifest.base-linux.bin.linux_timer_drv
|
|
||||||
, manifest.os.bin.init
|
|
||||||
, manifest.base-linux.bin.core-linux
|
|
||||||
]
|
|
||||||
# args.rom
|
|
||||||
: Genode.Prelude.Map.Type Text Genode.Boot.Rom
|
|
||||||
}
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ let
|
||||||
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";
|
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";
|
||||||
DHALL_GENODE = "${testPkgs.dhallGenode}/package.dhall";
|
DHALL_GENODE = "${testPkgs.dhallGenode}/package.dhall";
|
||||||
MANIFEST = lib.mergeManifests (with testPkgs;
|
MANIFEST = lib.mergeManifests (with testPkgs;
|
||||||
[ genode.base-linux genode.os ] ++ testInputs);
|
[ genode.base-linux genode.os sotest-producer ] ++ testInputs);
|
||||||
} // env;
|
} // env;
|
||||||
|
|
||||||
toExports = env:
|
toExports = env:
|
||||||
|
|
Loading…
Reference in New Issue