2
0
Fork 0
genodepkgs/tests/default.nix

72 lines
1.9 KiB
Nix

# SPDX-License-Identifier: CC0-1.0
let
tests = call:
{
log = call ./log.nix { };
signal = call ./signal.nix { };
} // call ./solo5 { };
in { self, apps, system, localSystem, crossSystem, genodepkgs, nixpkgs
, genode-depot, lib }:
let
hostPkgs = import nixpkgs { system = localSystem; };
depot = genode-depot.packages.${system};
testPkgs = genodepkgs;
addManifest = drv:
drv // {
manifest = hostPkgs.runCommand "${drv.name}.dhall" { inherit drv; } ''
set -eu
echo -n '[' >> $out
find $drv/ -type f -printf ',{mapKey= "%f",mapValue="%p"}' >> $out
echo -n ']' >> $out
'';
};
linux =
(call: ((tests call) // { block_router = call ./block_router.nix { }; }))
(import ./driver-linux.nix {
inherit apps testPkgs hostPkgs lib depot addManifest;
}).callTest;
nova = (call:
((tests call) // {
driver_manager = call ./driver_manager.nix { };
noux = call ./noux.nix { };
pci = call ./pci.nix { };
rtc = call ./rtc.nix { };
})) (import ./driver-nova.nix {
inherit apps system testPkgs hostPkgs lib depot addManifest;
}).callTest;
hw = (call:
((tests call) // {
# noux = call ./noux.nix { };
pci = call ./pci.nix { };
rtc = call ./rtc.nix { };
})) (import ./driver-hw.nix {
inherit apps system testPkgs hostPkgs lib depot addManifest;
}).callTest;
testsToList = tests:
map (test: {
inherit (test) name;
value = test;
}) (builtins.attrValues tests);
hw-sotest = map ({ name, value }: {
name = name + "-sotest";
value = value.sotest;
}) (testsToList hw);
nova-sotest = map ({ name, value }: {
name = name + "-sotest";
value = value.sotest;
}) (testsToList nova);
in with builtins;
listToAttrs ((concatLists (map (testsToList) [ linux hw nova ])) ++ hw-sotest
++ nova-sotest)