aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/build-delete.sh56
-rw-r--r--tests/build.sh59
-rw-r--r--tests/ca/new-build-cmd.sh5
-rwxr-xr-xtests/ca/recursive.sh2
-rw-r--r--tests/local.mk3
-rw-r--r--tests/output-normalization.sh9
6 files changed, 73 insertions, 61 deletions
diff --git a/tests/build-delete.sh b/tests/build-delete.sh
new file mode 100644
index 000000000..636681f64
--- /dev/null
+++ b/tests/build-delete.sh
@@ -0,0 +1,56 @@
+source common.sh
+
+clearStore
+
+set -o pipefail
+
+# https://github.com/NixOS/nix/issues/6572
+issue_6572_independent_outputs() {
+ nix build -f multiple-outputs.nix --json independent --no-link > $TEST_ROOT/independent.json
+
+ # Make sure that 'nix build' can build a derivation that depends on both outputs of another derivation.
+ p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
+ nix-store --delete "$p" # Clean up for next test
+
+ # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
+ nix-store --delete "$(jq -r <$TEST_ROOT/independent.json .[0].outputs.first)"
+ p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
+ cmp $p <<EOF
+first
+second
+EOF
+ nix-store --delete "$p" # Clean up for next test
+
+ # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
+ nix-store --delete "$(jq -r <$TEST_ROOT/independent.json .[0].outputs.second)"
+ p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
+ cmp $p <<EOF
+first
+second
+EOF
+ nix-store --delete "$p" # Clean up for next test
+}
+issue_6572_independent_outputs
+
+
+# https://github.com/NixOS/nix/issues/6572
+issue_6572_dependent_outputs() {
+
+ nix build -f multiple-outputs.nix --json a --no-link > $TEST_ROOT/a.json
+
+ # # Make sure that 'nix build' can build a derivation that depends on both outputs of another derivation.
+ p=$(nix build -f multiple-outputs.nix use-a --no-link --print-out-paths)
+ nix-store --delete "$p" # Clean up for next test
+
+ # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
+ nix-store --delete "$(jq -r <$TEST_ROOT/a.json .[0].outputs.second)"
+ p=$(nix build -f multiple-outputs.nix use-a --no-link --print-out-paths)
+ cmp $p <<EOF
+first
+second
+EOF
+ nix-store --delete "$p" # Clean up for next test
+}
+if isDaemonNewer "2.12pre0"; then
+ issue_6572_dependent_outputs
+fi
diff --git a/tests/build.sh b/tests/build.sh
index a00fb5232..2dfd43b65 100644
--- a/tests/build.sh
+++ b/tests/build.sh
@@ -107,62 +107,3 @@ nix build --impure -f multiple-outputs.nix --json e --no-link | jq --exit-status
(.drvPath | match(".*multiple-outputs-e.drv")) and
(.outputs | keys == ["a_a", "b"]))
'
-
-testNormalization () {
- clearStore
- outPath=$(nix-build ./simple.nix --no-out-link)
- test "$(stat -c %Y $outPath)" -eq 1
-}
-
-testNormalization
-
-# https://github.com/NixOS/nix/issues/6572
-issue_6572_independent_outputs() {
- nix build -f multiple-outputs.nix --json independent --no-link > $TEST_ROOT/independent.json
-
- # Make sure that 'nix build' can build a derivation that depends on both outputs of another derivation.
- p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
- nix-store --delete "$p" # Clean up for next test
-
- # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
- nix-store --delete "$(jq -r <$TEST_ROOT/independent.json .[0].outputs.first)"
- p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
- cmp $p <<EOF
-first
-second
-EOF
- nix-store --delete "$p" # Clean up for next test
-
- # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
- nix-store --delete "$(jq -r <$TEST_ROOT/independent.json .[0].outputs.second)"
- p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths)
- cmp $p <<EOF
-first
-second
-EOF
- nix-store --delete "$p" # Clean up for next test
-}
-issue_6572_independent_outputs
-
-
-# https://github.com/NixOS/nix/issues/6572
-issue_6572_dependent_outputs() {
-
- nix build -f multiple-outputs.nix --json a --no-link > $TEST_ROOT/a.json
-
- # # Make sure that 'nix build' can build a derivation that depends on both outputs of another derivation.
- p=$(nix build -f multiple-outputs.nix use-a --no-link --print-out-paths)
- nix-store --delete "$p" # Clean up for next test
-
- # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present.
- nix-store --delete "$(jq -r <$TEST_ROOT/a.json .[0].outputs.second)"
- p=$(nix build -f multiple-outputs.nix use-a --no-link --print-out-paths)
- cmp $p <<EOF
-first
-second
-EOF
- nix-store --delete "$p" # Clean up for next test
-}
-if isDaemonNewer "2.12pre0"; then
- issue_6572_dependent_outputs
-fi
diff --git a/tests/ca/new-build-cmd.sh b/tests/ca/new-build-cmd.sh
new file mode 100644
index 000000000..432d4d132
--- /dev/null
+++ b/tests/ca/new-build-cmd.sh
@@ -0,0 +1,5 @@
+source common.sh
+
+export NIX_TESTS_CA_BY_DEFAULT=1
+cd ..
+source ./build.sh
diff --git a/tests/ca/recursive.sh b/tests/ca/recursive.sh
index 0354d23b4..cd6736b24 100755
--- a/tests/ca/recursive.sh
+++ b/tests/ca/recursive.sh
@@ -7,5 +7,3 @@ requireDaemonNewerThan "2.4pre20210623"
export NIX_TESTS_CA_BY_DEFAULT=1
cd ..
source ./recursive.sh
-
-
diff --git a/tests/local.mk b/tests/local.mk
index 2aaaa67f9..b3135fd4d 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -21,6 +21,7 @@ nix_tests = \
binary-cache.sh \
multiple-outputs.sh \
ca/build.sh \
+ ca/new-build-cmd.sh \
nix-build.sh \
gc-concurrent.sh \
repair.sh \
@@ -103,6 +104,8 @@ nix_tests = \
ssh-relay.sh \
plugins.sh \
build.sh \
+ build-delete.sh \
+ output-normalization.sh \
ca/nix-run.sh \
selfref-gc.sh ca/selfref-gc.sh \
db-migration.sh \
diff --git a/tests/output-normalization.sh b/tests/output-normalization.sh
new file mode 100644
index 000000000..0f6df5e31
--- /dev/null
+++ b/tests/output-normalization.sh
@@ -0,0 +1,9 @@
+source common.sh
+
+testNormalization () {
+ clearStore
+ outPath=$(nix-build ./simple.nix --no-out-link)
+ test "$(stat -c %Y $outPath)" -eq 1
+}
+
+testNormalization