aboutsummaryrefslogtreecommitdiff
path: root/tests/build.sh
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2022-03-25 16:46:28 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2022-03-25 16:48:50 +0000
commit0966532dc15485f24080e868f0c0553b5dc762c9 (patch)
tree4c3b0f31331b0588133bbbd0083adc85450fcc46 /tests/build.sh
parente5c42bba9bf76d00fb15ec9a179bf91aa81c38c6 (diff)
parent1844172dd16cab611a0148be9381ab856bf241df (diff)
Merge remote-tracking branch 'upstream' into indexed-store-path-outputs
Co-Authored-By: Tom Bereknyei <tomberek@gmail.com>
Diffstat (limited to 'tests/build.sh')
-rw-r--r--tests/build.sh17
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/build.sh b/tests/build.sh
index dd264253a..5757ca73f 100644
--- a/tests/build.sh
+++ b/tests/build.sh
@@ -1,16 +1,29 @@
source common.sh
-expectedJSONRegex='\[\{"drvPath":".*multiple-outputs-a.drv","outputs":\{"first":".*multiple-outputs-a-first","second":".*multiple-outputs-a-second"}},\{"drvPath":".*multiple-outputs-b.drv","outputs":\{"out":".*multiple-outputs-b"}}]'
+clearStore
+
+# Make sure that 'nix build' only returns the outputs we asked for.
+nix build -f multiple-outputs.nix --json a --no-link | jq --exit-status '
+ (.[0] |
+ (.drvPath | match(".*multiple-outputs-a.drv")) and
+ (.outputs | keys | length == 1) and
+ (.outputs.first | match(".*multiple-outputs-a-first")))
+'
+
nix build -f multiple-outputs.nix --json a.all b.all --no-link | jq --exit-status '
(.[0] |
(.drvPath | match(".*multiple-outputs-a.drv")) and
(.outputs |
+ (keys | length == 2) and
(.first | match(".*multiple-outputs-a-first")) and
(.second | match(".*multiple-outputs-a-second"))))
and (.[1] |
(.drvPath | match(".*multiple-outputs-b.drv")) and
- (.outputs.out | match(".*multiple-outputs-b")))
+ (.outputs |
+ (keys | length == 1) and
+ (.out | match(".*multiple-outputs-b"))))
'
+
testNormalization () {
clearStore
outPath=$(nix-build ./simple.nix --no-out-link)