tests.buildenv: test name/pname/version handling

Verify that:
- `name` argument is used directly as the derivation name
- `pname` + `version` composes into the derivation name
- Omitting all three triggers the buildEnv-specific assertion

The assertion test uses `builtins.tryEval` + `builtins.seq` to force evaluation of .drvPath and confirm it throws.
This commit is contained in:
Philip Taron
2026-03-19 13:17:18 -07:00
parent d63fab02b0
commit cf7ebfa6ae
+24 -1
View File
@@ -15,7 +15,30 @@ let
};
};
tests = { };
tests-name = {
testNameFromNameArg = {
expr =
(buildEnv {
name = "test-env";
paths = [ ];
}).name;
expected = "test-env";
};
testNameFromPnameVersion = {
expr =
(buildEnv {
pname = "test-env";
version = "1.0";
paths = [ ];
}).name;
expected = "test-env-1.0";
};
testMissingNameThrows = testingThrow (buildEnv { paths = [ ]; }).drvPath;
};
tests = tests-name;
in
stdenvNoCC.mkDerivation (finalAttrs: {