From 52ccfdfbcc9f46f467742d7fb9613c6425fa81c0 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 18 May 2025 23:15:37 +0200 Subject: [PATCH] redisTestHook: enable debug and module commands and migrate to config file for more extensive configuration options. --- pkgs/by-name/re/redisTestHook/package.nix | 2 ++ pkgs/by-name/re/redisTestHook/redis-test-hook.sh | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/redisTestHook/package.nix b/pkgs/by-name/re/redisTestHook/package.nix index 5ffc0be7c239..c3ff3c842b4c 100644 --- a/pkgs/by-name/re/redisTestHook/package.nix +++ b/pkgs/by-name/re/redisTestHook/package.nix @@ -3,6 +3,7 @@ callPackage, makeSetupHook, valkey, + python3Packages, }: makeSetupHook { @@ -13,5 +14,6 @@ makeSetupHook { }; passthru.tests = { simple = callPackage ./test.nix { }; + python3-valkey = python3Packages.valkey; }; } ./redis-test-hook.sh diff --git a/pkgs/by-name/re/redisTestHook/redis-test-hook.sh b/pkgs/by-name/re/redisTestHook/redis-test-hook.sh index 58496021760c..f2f0dd529583 100644 --- a/pkgs/by-name/re/redisTestHook/redis-test-hook.sh +++ b/pkgs/by-name/re/redisTestHook/redis-test-hook.sh @@ -7,18 +7,30 @@ redisStart() { redisTestPort=6379 fi + mkdir "$NIX_BUILD_TOP/run" + if [[ "${REDIS_SOCKET:-}" == "" ]]; then - mkdir -p "$NIX_BUILD_TOP/run/" REDIS_SOCKET="$NIX_BUILD_TOP/run/redis.sock" fi export REDIS_SOCKET + REDIS_CONF="$NIX_BUILD_TOP/run/redis.conf" + export REDIS_CONF + + cat < "$REDIS_CONF" +unixsocket ${REDIS_SOCKET} +port ${redisTestPort} +protected-mode no +enable-debug-command yes +enable-module-command yes +EOF + echo 'starting redis' # Note about Darwin: unless the output is redirected, the parent process becomes launchd instead of bash. # This would leave the Redis process running in case of a test failure (the postCheckHook would not be executed), # hanging the Nix build forever. - @server@ --unixsocket "$REDIS_SOCKET" --port "$redisTestPort" > /dev/null 2>&1 & + @server@ "$REDIS_CONF" > /dev/null 2>&1 & REDIS_PID=$! echo 'waiting for redis to be ready'