From cf7ebfa6ae07f9f85476db53522679c16b904750 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 16 Feb 2026 09:06:42 -0800 Subject: [PATCH] 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. --- pkgs/test/buildenv.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/pkgs/test/buildenv.nix b/pkgs/test/buildenv.nix index 855578e2ae7d..ff025d0370df 100644 --- a/pkgs/test/buildenv.nix +++ b/pkgs/test/buildenv.nix @@ -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: {