about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/Makefile.am9
-rw-r--r--tests/fall-back.nix.in6
-rw-r--r--tests/fall-back.sh14
3 files changed, 26 insertions, 3 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a420334147fc..2ad5ad0d9148 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -19,9 +19,11 @@ parallel.sh: parallel.nix
 build-hook.sh: build-hook.nix
 substitutes.sh: substitutes.nix substituter.nix
 substitutes2.sh: substitutes2.nix substituter.nix substituter2.nix
+fall-back.sh: fall-back.nix
 
-TESTS = init.sh simple.sh dependencies.sh locking.sh parallel.sh \
-  build-hook.sh substitutes.sh substitutes2.sh
+#TESTS = init.sh simple.sh dependencies.sh locking.sh parallel.sh \
+#  build-hook.sh substitutes.sh substitutes2.sh
+TESTS = init.sh fall-back.sh
 
 XFAIL_TESTS =
 
@@ -34,4 +36,5 @@ EXTRA_DIST = $(TESTS) \
   parallel.nix.in parallel.builder.sh \
   build-hook.nix.in build-hook.hook.sh \
   substitutes.nix.in substituter.nix.in substituter.builder.sh \
-  substitutes2.nix.in substituter2.nix.in substituter2.builder.sh
+  substitutes2.nix.in substituter2.nix.in substituter2.builder.sh \
+  fall-back.nix.in
diff --git a/tests/fall-back.nix.in b/tests/fall-back.nix.in
new file mode 100644
index 000000000000..0575d6940d11
--- /dev/null
+++ b/tests/fall-back.nix.in
@@ -0,0 +1,6 @@
+derivation {
+  name = "fall-back";
+  system = "@system@";
+  builder = "@shell@";
+  args = ["-e" "-x" ./simple.builder.sh];
+}
\ No newline at end of file
diff --git a/tests/fall-back.sh b/tests/fall-back.sh
new file mode 100644
index 000000000000..a183e12f670c
--- /dev/null
+++ b/tests/fall-back.sh
@@ -0,0 +1,14 @@
+storeExpr=$($TOP/src/nix-instantiate/nix-instantiate fall-back.nix)
+
+echo "store expr is $storeExpr"
+
+# Register a non-existant successor.
+suc=$NIX_STORE_DIR/deadbeafdeadbeafdeadbeafdeadbeaf-s.store
+$TOP/src/nix-store/nix-store --successor $storeExpr $suc
+
+outPath=$($TOP/src/nix-store/nix-store -qnfvvvvv "$storeExpr")
+
+echo "output path is $outPath"
+
+text=$(cat "$outPath"/hello)
+if test "$text" != "Hello World!"; then exit 1; fi