2
0
Fork 0
genodepkgs/nixos/test.nix

58 lines
1.6 KiB
Nix

{ system, depot, genodepkgs, nixpkgs, }:
import "${nixpkgs}/nixos/tests/make-test.nix" (
{ ... }:
rec {
name = "genode-base-linux";
machine =
{ config, pkgs, lib, ... }:
let
flakePackages = flake:
with builtins;
getAttr config.nixpkgs.system (getAttr "packages" flake);
in {
imports = [ "${genodepkgs}/nixos" ];
genode = {
signal-test = {
config = ''
<config>
<parent-provides>
<service name="ROM"/>
<service name="CPU"/>
<service name="RM"/>
<service name="PD"/>
<service name="LOG"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer" caps="96">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="test-signal" caps="500">
<resource name="RAM" quantum="10M"/>
</start>
</config>
'';
depot = flakePackages depot;
pkgs = flakePackages genodepkgs;
rom = {
"test-signal" =
"${config.genode.signal-test.pkgs.os}/bin/test-signal";
};
};
};
};
testScript = ''
$machine->waitUntilSucceeds("journalctl -u signal-test | grep -q -i -- '--- Signalling test finished ---'");
'';
}) { inherit system; }