diff options
Diffstat (limited to 'tests/make-test.nix')
-rw-r--r-- | tests/make-test.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/make-test.nix b/tests/make-test.nix new file mode 100644 index 00000000..9276dae3 --- /dev/null +++ b/tests/make-test.nix @@ -0,0 +1,28 @@ +f: { system ? builtins.currentSystem, ... } @ args: let + lib = import <nixpkgs/lib>; + + testLib = import <nixpkgs/nixos/lib/testing.nix> { + inherit system; + }; + + pkgs = import <nixpkgs> { inherit system; }; + + testArgs = if builtins.isFunction f then f (args // { + pkgs = pkgs // { + vuizvui = import ../pkgs { inherit pkgs; }; + }; + }) else f; + + nodes = testArgs.nodes or (if testArgs ? machine then { + inherit (testArgs) machine; + } else {}); + + injectCommon = name: conf: { + imports = [ conf ] ++ import ../modules/module-list.nix; + }; + + testArgsWithCommon = removeAttrs testArgs [ "machine" ] // { + nodes = lib.mapAttrs injectCommon nodes; + }; + +in testLib.makeTest testArgsWithCommon |