diff options
author | Tim Cuthbertson <tim@gfxmonk.net> | 2018-10-20 22:23:58 +1100 |
---|---|---|
committer | Tim Cuthbertson <tim@gfxmonk.net> | 2018-10-20 22:33:04 +1100 |
commit | d984c553832fad99ee48e512252c0f2f27632789 (patch) | |
tree | 17911c8be24d3a1a0d5eeb53ff90f9e1273e0ad5 | |
parent | 7a10601dc4f818ecc24097ac8ab38e2e0050cf1d (diff) | |
download | nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar.gz nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar.bz2 nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar.lz nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar.xz nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.tar.zst nixpkgs-d984c553832fad99ee48e512252c0f2f27632789.zip |
lib.isStorePath: fix `false` result when passed a path object
Since `isStorePath` relies on comparing against builtins.storeDir (a string), we need to convert the input into a string as well.
-rw-r--r-- | lib/strings.nix | 9 | ||||
-rw-r--r-- | lib/tests/misc.nix | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/strings.nix b/lib/strings.nix index 0c4095bb55c..99399459bb4 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -502,9 +502,12 @@ rec { => false */ isStorePath = x: - isCoercibleToString x - && builtins.substring 0 1 (toString x) == "/" - && dirOf x == builtins.storeDir; + if isCoercibleToString x then + let str = toString x; in + builtins.substring 0 1 str == "/" + && dirOf str == builtins.storeDir + else + false; /* Convert string to int Obviously, it is a bit hacky to use fromJSON that way. diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 853d911cdc8..1604fbb39cb 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -112,7 +112,7 @@ runTests { storePathAppendix = isStorePath "${goodPath}/bin/python"; nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath))); - asPath = isStorePath goodPath; + asPath = isStorePath (/. + goodPath); otherPath = isStorePath "/something/else"; otherVals = { attrset = isStorePath {}; |