aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2022-04-22 11:11:01 +0200
committerThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2022-04-22 11:11:01 +0200
commitbe28603dca2f235e08838e99951d6602bddcb2ad (patch)
tree672c9a2b8aa48c9127a98d874ac4e76f67374a6b /tests
parent51cfea8bb05d3f284534b2486cc29bb0ebf17ade (diff)
parentc4ffc8e2f8508fb951920fc08cf9283927e7e9b8 (diff)
Merge remote-tracking branch 'origin/master' into nixbuildaddprintstorepaths
Diffstat (limited to 'tests')
-rw-r--r--tests/build-remote-content-addressed-floating.sh2
-rw-r--r--tests/ca/common.sh2
-rwxr-xr-xtests/ca/selfref-gc.sh11
-rw-r--r--tests/eval.sh2
-rw-r--r--tests/local.mk1
-rw-r--r--tests/nix-profile.sh2
-rw-r--r--tests/plugins/plugintest.cc2
-rw-r--r--tests/selfref-gc.sh30
8 files changed, 48 insertions, 4 deletions
diff --git a/tests/build-remote-content-addressed-floating.sh b/tests/build-remote-content-addressed-floating.sh
index 1f474dde0..e83b42b41 100644
--- a/tests/build-remote-content-addressed-floating.sh
+++ b/tests/build-remote-content-addressed-floating.sh
@@ -2,7 +2,7 @@ source common.sh
file=build-hook-ca-floating.nix
-enableFeatures "ca-derivations ca-references"
+enableFeatures "ca-derivations"
CONTENT_ADDRESSED=true
diff --git a/tests/ca/common.sh b/tests/ca/common.sh
index b9d415863..b104b5a78 100644
--- a/tests/ca/common.sh
+++ b/tests/ca/common.sh
@@ -1,5 +1,5 @@
source ../common.sh
-enableFeatures "ca-derivations ca-references"
+enableFeatures "ca-derivations"
restartDaemon
diff --git a/tests/ca/selfref-gc.sh b/tests/ca/selfref-gc.sh
new file mode 100755
index 000000000..248778894
--- /dev/null
+++ b/tests/ca/selfref-gc.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+source common.sh
+
+requireDaemonNewerThan "2.4pre20210626"
+
+enableFeatures "ca-derivations nix-command flakes"
+
+export NIX_TESTS_CA_BY_DEFAULT=1
+cd ..
+source ./selfref-gc.sh
diff --git a/tests/eval.sh b/tests/eval.sh
index 2e5ceb969..d74976019 100644
--- a/tests/eval.sh
+++ b/tests/eval.sh
@@ -20,6 +20,8 @@ nix eval --expr 'assert 1 + 2 == 3; true'
[[ $(nix eval attr --json -f "./eval.nix") == '{"foo":"bar"}' ]]
[[ $(nix eval int -f - < "./eval.nix") == 123 ]]
+# Check if toFile can be utilized during restricted eval
+[[ $(nix eval --restrict-eval --expr 'import (builtins.toFile "source" "42")') == 42 ]]
nix-instantiate --eval -E 'assert 1 + 2 == 3; true'
[[ $(nix-instantiate -A int --eval "./eval.nix") == 123 ]]
diff --git a/tests/local.mk b/tests/local.mk
index cb869f32e..e3c4ff4eb 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -92,6 +92,7 @@ nix_tests = \
plugins.sh \
build.sh \
ca/nix-run.sh \
+ selfref-gc.sh ca/selfref-gc.sh \
db-migration.sh \
bash-profile.sh \
pass-as-file.sh \
diff --git a/tests/nix-profile.sh b/tests/nix-profile.sh
index a7a4d4fa2..fad62b993 100644
--- a/tests/nix-profile.sh
+++ b/tests/nix-profile.sh
@@ -3,7 +3,7 @@ source common.sh
clearStore
clearProfiles
-enableFeatures "ca-derivations ca-references"
+enableFeatures "ca-derivations"
restartDaemon
# Make a flake.
diff --git a/tests/plugins/plugintest.cc b/tests/plugins/plugintest.cc
index cd7c9f8b1..04b791021 100644
--- a/tests/plugins/plugintest.cc
+++ b/tests/plugins/plugintest.cc
@@ -13,7 +13,7 @@ MySettings mySettings;
static GlobalConfig::Register rs(&mySettings);
-static void prim_anotherNull (EvalState & state, const Pos & pos, Value ** args, Value & v)
+static void prim_anotherNull (EvalState & state, const PosIdx pos, Value ** args, Value & v)
{
if (mySettings.settingSet)
v.mkNull();
diff --git a/tests/selfref-gc.sh b/tests/selfref-gc.sh
new file mode 100644
index 000000000..3f1f50eea
--- /dev/null
+++ b/tests/selfref-gc.sh
@@ -0,0 +1,30 @@
+source common.sh
+
+requireDaemonNewerThan "2.6.0pre20211215"
+
+clearStore
+
+nix-build --no-out-link -E '
+ with import ./config.nix;
+
+ let d1 = mkDerivation {
+ name = "selfref-gc";
+ outputs = [ "out" ];
+ buildCommand = "
+ echo SELF_REF: $out > $out
+ ";
+ }; in
+
+ # the only change from d1 is d1 as an (unused) build input
+ # to get identical store path in CA.
+ mkDerivation {
+ name = "selfref-gc";
+ outputs = [ "out" ];
+ buildCommand = "
+ echo UNUSED: ${d1}
+ echo SELF_REF: $out > $out
+ ";
+ }
+'
+
+nix-collect-garbage