From 97c3645990b8183ccec92aa6e5e550dde645fd12 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Thu, 11 Dec 2025 00:35:00 +0100 Subject: [PATCH] stdenv: add tests for inputDerivation with allowedReferences, etc. Co-authored-by: infinisil !fixup every test needs a meta field? !fixup refactor inputDerivation tests !fixup fix tests --- pkgs/test/stdenv/default.nix | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/pkgs/test/stdenv/default.nix b/pkgs/test/stdenv/default.nix index 3032b5d13b2b..c11f93df0f5b 100644 --- a/pkgs/test/stdenv/default.nix +++ b/pkgs/test/stdenv/default.nix @@ -216,6 +216,22 @@ let touch $out ''; }; + + testInputDerivationDep = stdenv.mkDerivation { + name = "test-input-derivation-dependency"; + buildCommand = "touch $out"; + }; + testInputDerivation = + attrs: + (stdenv.mkDerivation ( + attrs + // { + buildInputs = [ testInputDerivationDep ]; + } + )).inputDerivation + // { + meta = { }; + }; in { @@ -356,6 +372,55 @@ in touch $out ''; + test-inputDerivation-structured = testInputDerivation { + name = "test-inDrv-structured"; + __structuredAttrs = true; + }; + + test-inputDerivation-allowedReferences = testInputDerivation { + name = "test-inDrv-allowedReferences"; + allowedReferences = [ ]; + }; + + test-inputDerivation-disallowedReferences = testInputDerivation { + name = "test-inDrv-disallowedReferences"; + disallowedReferences = [ "${testInputDerivationDep}" ]; + }; + + test-inputDerivation-allowedRequisites = testInputDerivation { + name = "test-inDrv-allowedRequisites"; + allowedRequisites = [ ]; + }; + + test-inputDerivation-disallowedRequisites = testInputDerivation { + name = "test-inDrv-disallowedRequisites"; + disallowedRequisites = [ "${testInputDerivationDep}" ]; + }; + + test-inputDerivation-structured-allowedReferences = testInputDerivation { + name = "test-inDrv-structured-allowedReferences"; + __structuredAttrs = true; + outputChecks.out.allowedReferences = [ ]; + }; + + test-inputDerivation-structured-disallowedReferences = testInputDerivation { + name = "test-inDrv-structured-disallowedReferences"; + __structuredAttrs = true; + outputChecks.out.disallowedReferences = [ "${testInputDerivationDep}" ]; + }; + + test-inputDerivation-structured-allowedRequisites = testInputDerivation { + name = "test-inDrv-structured-allowedRequisites"; + __structuredAttrs = true; + outputChecks.out.allowedRequisites = [ ]; + }; + + test-inputDerivation-structured-disallowedRequisites = testInputDerivation { + name = "test-inDrv-structured-disallowedRequisites"; + __structuredAttrs = true; + outputChecks.out.disallowedRequisites = [ "${testInputDerivationDep}" ]; + }; + test-prepend-append-to-var = testPrependAndAppendToVar { name = "test-prepend-append-to-var"; stdenv' = bootStdenv;