# 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; linux = (call: ((tests call) // { block_router = call ./block_router.nix { }; })) (import ./driver-linux.nix { inherit apps testPkgs hostPkgs lib depot; }).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; }).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; }).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)