2020-01-17 01:24:34 +01:00
|
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
|
2019-12-14 15:10:06 +01:00
|
|
|
{ system, depot, genodepkgs, nixpkgs, }:
|
2019-12-14 11:28:21 +01:00
|
|
|
|
2019-12-14 15:10:06 +01:00
|
|
|
import "${nixpkgs}/nixos/tests/make-test.nix" (
|
|
|
|
|
|
|
|
{ ... }:
|
2019-12-14 11:28:21 +01:00
|
|
|
|
|
|
|
rec {
|
|
|
|
name = "genode-base-linux";
|
|
|
|
|
2019-12-14 11:58:56 +01:00
|
|
|
machine =
|
|
|
|
|
|
|
|
{ config, pkgs, lib, ... }:
|
2019-12-14 15:10:06 +01:00
|
|
|
let
|
|
|
|
flakePackages = flake:
|
|
|
|
with builtins;
|
|
|
|
getAttr config.nixpkgs.system (getAttr "packages" flake);
|
|
|
|
in {
|
|
|
|
imports = [ "${genodepkgs}/nixos" ];
|
2019-12-14 11:58:56 +01:00
|
|
|
genode = {
|
2020-01-16 18:43:24 +01:00
|
|
|
signal-test = rec {
|
2019-12-14 11:58:56 +01:00
|
|
|
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>
|
|
|
|
'';
|
2019-12-14 15:10:06 +01:00
|
|
|
pkgs = flakePackages genodepkgs;
|
|
|
|
rom = {
|
|
|
|
"test-signal" =
|
2020-01-16 18:43:24 +01:00
|
|
|
"${pkgs.genode.os}/bin/test-signal";
|
2019-12-14 15:10:06 +01:00
|
|
|
};
|
2019-12-14 11:58:56 +01:00
|
|
|
};
|
2019-12-14 11:28:21 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
testScript = ''
|
|
|
|
$machine->waitUntilSucceeds("journalctl -u signal-test | grep -q -i -- '--- Signalling test finished ---'");
|
|
|
|
'';
|
|
|
|
|
2019-12-14 15:10:06 +01:00
|
|
|
}) { inherit system; }
|