aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/config.nix2
-rw-r--r--tests/local.mk3
-rw-r--r--tests/placeholders.sh22
3 files changed, 25 insertions, 2 deletions
diff --git a/tests/config.nix b/tests/config.nix
index 6244a15fa..76388fdd5 100644
--- a/tests/config.nix
+++ b/tests/config.nix
@@ -13,7 +13,7 @@ rec {
derivation ({
inherit system;
builder = shell;
- args = ["-e" args.builder];
+ args = ["-e" args.builder or (builtins.toFile "builder.sh" "eval \"$buildCommand\"")];
PATH = path;
} // removeAttrs args ["builder" "meta"])
// { meta = args.meta or {}; };
diff --git a/tests/local.mk b/tests/local.mk
index 1e5439f06..2ca52144b 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -10,7 +10,8 @@ nix_tests = \
timeout.sh secure-drv-outputs.sh nix-channel.sh \
multiple-outputs.sh import-derivation.sh fetchurl.sh optimise-store.sh \
binary-cache.sh nix-profile.sh repair.sh dump-db.sh case-hack.sh \
- check-reqs.sh pass-as-file.sh tarball.sh restricted.sh
+ check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \
+ placeholders.sh
# parallel.sh
install-tests += $(foreach x, $(nix_tests), tests/$(x))
diff --git a/tests/placeholders.sh b/tests/placeholders.sh
new file mode 100644
index 000000000..071cfe2dc
--- /dev/null
+++ b/tests/placeholders.sh
@@ -0,0 +1,22 @@
+source common.sh
+
+clearStore
+
+nix-build --no-out-link -E '
+ with import ./config.nix;
+
+ mkDerivation {
+ name = "placeholders";
+ outputs = [ "out" "bin" "dev" ];
+ buildCommand = "
+ echo foo1 > $out
+ echo foo2 > $bin
+ echo foo3 > $dev
+ [[ $(cat ${placeholder "out"}) = foo1 ]]
+ [[ $(cat ${placeholder "bin"}) = foo2 ]]
+ [[ $(cat ${placeholder "dev"}) = foo3 ]]
+ ";
+ }
+'
+
+echo XYZZY