nixpkgs/pkgs/by-name/me/memcachedTestHook/memcached-test-hook.sh
2025-03-12 19:29:34 +01:00

28 lines
743 B
Bash

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"
}