diff options
Diffstat (limited to 'pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh')
| -rw-r--r-- | pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh b/pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh new file mode 100644 index 000000000000..aa49e5066721 --- /dev/null +++ b/pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh @@ -0,0 +1,27 @@ +preCheckHooks+=('memcachedStart') +postCheckHooks+=('memcachedStop') + + +memcachedStart() { + if [[ "${memcachedTestPort:-}" == "" ]]; then + memcachedTestPort=11211 + fi + + echo 'starting memcached' + + # Note about Darwin: unless the output is redirected, the parent process becomes launchd instead of bash. + # This would leave the memcached process running in case of a test failure (the postCheckHook would not be executed), + # hanging the Nix build forever. + @memcached@ -p "$memcachedTestPort" >/dev/null 2>&1 & + MEMCACHED_PID=$! + + echo 'waiting for memcached to be ready' + while ! (echo 'quit' | @nc@ localhost "$memcachedTestPort") ; do + sleep 1 + done +} + +memcachedStop() { + echo 'stopping memcached' + kill "$MEMCACHED_PID" +} |
