about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/hash-check.nix29
-rw-r--r--tests/simple.sh4
3 files changed, 34 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9a718f190707..b04f725c1bf0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -27,6 +27,7 @@ $(TESTS): common.sh
 
 EXTRA_DIST = $(TESTS) \
   simple.nix.in simple.builder.sh \
+  hash-check.nix.in \
   dependencies.nix.in dependencies.builder*.sh \
   locking.nix.in locking.builder.sh \
   parallel.nix.in parallel.builder.sh \
diff --git a/tests/hash-check.nix b/tests/hash-check.nix
new file mode 100644
index 000000000000..bbe4fe24791f
--- /dev/null
+++ b/tests/hash-check.nix
@@ -0,0 +1,29 @@
+let {
+
+  input1 = derivation {
+    name = "dependencies-input-1";
+    system = "i086-msdos";
+    builder = "/bar/sh";
+    args = ["-e" "-x" ./dependencies.builder1.sh];
+  };
+
+  input2 = derivation {
+    name = "dependencies-input-2";
+    system = "i086-msdos";
+    builder = "/bar/sh";
+    args = ["-e" "-x" ./dependencies.builder2.sh];
+    outputHashMode = "recursive";
+    outputHashAlgo = "md5";
+    outputHash = "ffffffffffffffffffffffffffffffff";
+  };
+
+  body = derivation {
+    name = "dependencies";
+    system = "i086-msdos";
+    builder = "/bar/sh";
+    args = ["-e" "-x" (./dependencies.builder0.sh  + "/FOOBAR/../.")];
+    input1 = input1 + "/.";
+    inherit input2;
+  };
+
+}
\ No newline at end of file
diff --git a/tests/simple.sh b/tests/simple.sh
index 7f7b48f2d91b..4d3377b29f39 100644
--- a/tests/simple.sh
+++ b/tests/simple.sh
@@ -17,3 +17,7 @@ if test "$text" != "Hello World!"; then exit 1; fi
 # be deleteable.
 $nixstore --delete $outPath
 if test -e $outPath/hello; then false; fi
+
+if test "$(NIX_STORE_DIR=/foo $nixinstantiate --readonly-mode hash-check.nix)" != "/foo/4hgkkq63lp8x5kmh9cmsyqimq5v42zzl-dependencies.drv"; then
+    echo "hashDerivationModulo appears broken"
+fi