test/nixpkgs-module: use a fixed runCommand function

Rather than getting `runCommand` from the pkgs instance under test, get
the function from a fixed/consistent pkgs instance.
This commit is contained in:
Matt Sturgeon 2025-01-16 01:47:16 +00:00
parent 7854d5f18c
commit 5192a85f32
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
2 changed files with 19 additions and 1 deletions

View file

@ -169,6 +169,22 @@ in
'';
internal = true;
};
# Primarily intended for internal use, allowing us to test `pkgs` while using a `runCommand` from a different nixpkgs instance.
runCommand = lib.mkOption {
type =
with lib.types;
addCheck unspecified builtins.isFunction
// {
description = "runCommand function";
};
description = ''
`runCommand` function used to construct `build.test`.
'';
defaultText = lib.literalExpression "pkgs.runCommandLocal";
default = pkgs.runCommandLocal;
internal = true;
};
};
options.build = {
@ -238,7 +254,7 @@ in
build.test =
assert lib.assertMsg (cfg.runNvim -> cfg.buildNixvim) "`test.runNvim` requires `test.buildNixvim`.";
pkgs.runCommandLocal cfg.name
cfg.runCommand cfg.name
{
nativeBuildInputs = lib.optionals cfg.buildNixvim [
config.build.packageUnchecked

View file

@ -4,6 +4,7 @@
linkFarmFromDrvs,
self,
stdenv,
runCommandLocal,
}:
let
@ -19,6 +20,7 @@ let
inherit name;
buildNixvim = false;
runNvim = false;
runCommand = runCommandLocal;
};
}
];