lix/tests/nixos/util.nix

28 lines
729 B
Nix

{
mkNixBuildTest =
{ name, expressionFile, extraMachineConfig ? {}, testScriptPre ? "", testScriptPost ? "" }:
{ lib, pkgs, ... }:
{
inherit name;
nodes.machine = {
imports = [extraMachineConfig];
nix.nixPath = ["nixpkgs=${pkgs.path}"];
nix.settings.substituters = lib.mkForce [];
virtualisation.additionalPaths = [
expressionFile
(pkgs.callPackage expressionFile {}).inputDerivation
];
};
testScript = { nodes }: ''
start_all()
${testScriptPre}
machine.succeed('nix-build --expr "let pkgs = import <nixpkgs> {}; in pkgs.callPackage ${expressionFile} {}"')
${testScriptPost}
'';
};
}