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;