Loading lib/strings.nix +7 −1 Original line number Diff line number Diff line Loading @@ -2434,7 +2434,13 @@ rec { if isStringLike x then let str = toString x; in substring 0 1 str == "/" && dirOf str == storeDir && (dirOf str == storeDir # Match content‐addressed derivations, which _currently_ do not have a # store directory prefix. # This is a workaround for https://github.com/NixOS/nix/issues/12361 # which was needed during the experimental phase of ca-derivations and # should be removed once the issue has been resolved. || builtins.match "/[0-9a-z]{52}" str != null) else false; Loading lib/tests/misc.nix +10 −0 Original line number Diff line number Diff line Loading @@ -537,6 +537,7 @@ runTests { expr = let goodPath = "${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11"; goodCAPath = "/1121rp0gvr1qya7hvy925g5kjwg66acz6sn1ra1hca09f1z5dsab"; in { storePath = isStorePath goodPath; storePathDerivation = isStorePath (import ../.. { system = "x86_64-linux"; }).hello; Loading @@ -545,6 +546,12 @@ runTests { nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath))); asPath = isStorePath (/. + goodPath); otherPath = isStorePath "/something/else"; caPath = isStorePath goodCAPath; caPathAppendix = isStorePath "${goodCAPath}/bin/python"; caAsPath = isStorePath (/. + goodCAPath); otherVals = { attrset = isStorePath {}; list = isStorePath []; Loading @@ -557,6 +564,9 @@ runTests { storePathAppendix = false; nonAbsolute = false; asPath = true; caPath = true; caPathAppendix = false; caAsPath = true; otherPath = false; otherVals = { attrset = false; Loading Loading
lib/strings.nix +7 −1 Original line number Diff line number Diff line Loading @@ -2434,7 +2434,13 @@ rec { if isStringLike x then let str = toString x; in substring 0 1 str == "/" && dirOf str == storeDir && (dirOf str == storeDir # Match content‐addressed derivations, which _currently_ do not have a # store directory prefix. # This is a workaround for https://github.com/NixOS/nix/issues/12361 # which was needed during the experimental phase of ca-derivations and # should be removed once the issue has been resolved. || builtins.match "/[0-9a-z]{52}" str != null) else false; Loading
lib/tests/misc.nix +10 −0 Original line number Diff line number Diff line Loading @@ -537,6 +537,7 @@ runTests { expr = let goodPath = "${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11"; goodCAPath = "/1121rp0gvr1qya7hvy925g5kjwg66acz6sn1ra1hca09f1z5dsab"; in { storePath = isStorePath goodPath; storePathDerivation = isStorePath (import ../.. { system = "x86_64-linux"; }).hello; Loading @@ -545,6 +546,12 @@ runTests { nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath))); asPath = isStorePath (/. + goodPath); otherPath = isStorePath "/something/else"; caPath = isStorePath goodCAPath; caPathAppendix = isStorePath "${goodCAPath}/bin/python"; caAsPath = isStorePath (/. + goodCAPath); otherVals = { attrset = isStorePath {}; list = isStorePath []; Loading @@ -557,6 +564,9 @@ runTests { storePathAppendix = false; nonAbsolute = false; asPath = true; caPath = true; caPathAppendix = false; caAsPath = true; otherPath = false; otherVals = { attrset = false; Loading