sigil/tests/syndicate/default.nix

54 lines
1.5 KiB
Nix

{
name = "syndicate";
machine = { pkgs, ... }: {
genode.init.verbose = true;
genode.init.children.syndicate_service = {
package = with pkgs.nimPackages;
buildNimPackage rec {
pname = "syndicate";
version = "unstable";
nimDefines.posix = { };
src = ./src;
propagatedBuildInputs = [ genode npeg preserves syndicate ];
nimBinOnly = true;
meta.mainProgram = "test";
};
extraInputs = with pkgs.genodePackages; [ libc stdcxx ];
configFile = builtins.toFile "nim.dhall" ''
let Sigil = env:DHALL_SIGIL
let Init = Sigil.Init
let Child = Init.Child
let Libc = Sigil.Libc
in λ(binary : Text)
Child.flat
Child.Attributes::{
, binary
, exitPropagate = True
, resources = Sigil.Init.Resources::{
, caps = 500
, ram = Sigil.units.MiB 10
}
, routes =
[ Sigil.Init.ServiceRoute.parentLabel
"ROM"
(Some "state")
(Some "state")
]
, config =
(Libc.toConfig Libc.default)
with attributes = toMap { ld_verbose = "true" }
}
'';
};
};
testScript = ''
start_all()
machine.wait_until_serial_output("<ROM \"config\"")
'';
}