File: build.sh

package info (click to toggle)
nix 2.8.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 7,304 kB
  • sloc: cpp: 62,562; sh: 7,853; yacc: 680; perl: 606; xml: 410; lex: 314; makefile: 73; ansic: 57; sql: 49; python: 22; exp: 3; ruby: 1
file content (31 lines) | stat: -rw-r--r-- 969 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
source common.sh

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
    (.outputs.first | match(".*multiple-outputs-a-first")) and
    (.outputs.second | match(".*multiple-outputs-a-second")))
  and (.[1] |
    (.drvPath | match(".*multiple-outputs-b.drv")) and
    (.outputs | keys | length == 1) and
    (.outputs.out | match(".*multiple-outputs-b")))
'

testNormalization () {
    clearStore
    outPath=$(nix-build ./simple.nix --no-out-link)
    test "$(stat -c %Y $outPath)" -eq 1
}

testNormalization