about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-01-19T12·58+0100
committerEelco Dolstra <edolstra@gmail.com>2018-01-19T12·58+0100
commit87e3d142cce442417b52610652b9d1a4fd7a6b4f (patch)
tree556201305d55f48a6bc8cec5c40ca2f57001fc28
parent0c95776c3efdc63c4b957823d4e51d851a64ed84 (diff)
Add a test for --check / --repeat
-rw-r--r--tests/check.nix12
-rw-r--r--tests/check.sh18
-rw-r--r--tests/local.mk3
3 files changed, 32 insertions, 1 deletions
diff --git a/tests/check.nix b/tests/check.nix
new file mode 100644
index 000000000000..b330ab9c984c
--- /dev/null
+++ b/tests/check.nix
@@ -0,0 +1,12 @@
+with import ./config.nix;
+
+{
+  nondeterministic = mkDerivation {
+    name = "nondeterministic";
+    buildCommand =
+      ''
+        mkdir $out
+        date +%s.%N > $out/date
+      '';
+  };
+}
diff --git a/tests/check.sh b/tests/check.sh
new file mode 100644
index 000000000000..3efcef044921
--- /dev/null
+++ b/tests/check.sh
@@ -0,0 +1,18 @@
+source common.sh
+
+clearStore
+
+nix-build dependencies.nix --no-out-link
+nix-build dependencies.nix --no-out-link --check
+
+nix-build check.nix -A nondeterministic --no-out-link
+(! nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log)
+grep 'may not be deterministic' $TEST_ROOT/log
+
+clearStore
+
+nix-build dependencies.nix --no-out-link --repeat 3
+
+(! nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log)
+grep 'differs from previous round' $TEST_ROOT/log
+
diff --git a/tests/local.mk b/tests/local.mk
index 82502a8e5f0d..e90b9f7da4ad 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -21,7 +21,8 @@ nix_tests = \
   signing.sh \
   run.sh \
   brotli.sh \
-  pure-eval.sh
+  pure-eval.sh \
+  check.sh
   # parallel.sh
 
 install-tests += $(foreach x, $(nix_tests), tests/$(x))