about summary refs log tree commit diff
path: root/pkgs/servers/nosql
diff options
context:
space:
mode:
authorRobert Scott <code@humanleg.org.uk>2022-03-12 17:04:31 +0000
committerRobert Scott <code@humanleg.org.uk>2022-03-14 00:12:49 +0000
commit835c3419d9b98654e13cd5874020f987074fb57b (patch)
tree7362fa080071359a03c5127a8e9d4962a0cdb231 /pkgs/servers/nosql
parent7429dcdcb688c695bc670bd49fa0ad1fdb67d8c3 (diff)
redis: enable tests
Diffstat (limited to 'pkgs/servers/nosql')
-rw-r--r--pkgs/servers/nosql/redis/default.nix22
1 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index af1d1d3710626..f42acee87b515 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl, lua, pkg-config, nixosTests
+, tcl, which, ps
 , withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
 # dependency ordering is broken at the moment when building with openssl
 , tlsSupport ? !stdenv.hostPlatform.isStatic, openssl
@@ -44,7 +45,26 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-std=c11" ];
 
-  doCheck = false; # needs tcl
+  # darwin currently lacks a pure `pgrep` which is extensively used here
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [ which tcl ps ];
+  checkPhase = ''
+    runHook preCheck
+
+    # disable test "Connect multiple replicas at the same time": even
+    # upstream find this test too timing-sensitive
+    substituteInPlace tests/integration/replication.tcl \
+      --replace 'foreach mdl {no yes}' 'foreach mdl {}'
+
+    ./runtest \
+      --no-latency \
+      --timeout 2000 \
+      --clients $NIX_BUILD_CORES \
+      --tags -leaks \
+      --skipunit integration/failover # flaky and slow
+
+    runHook postCheck
+  '';
 
   passthru.tests.redis = nixosTests.redis;