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