summaryrefslogtreecommitdiff
path: root/test/sd_notify_test.erl
diff options
context:
space:
mode:
Diffstat (limited to 'test/sd_notify_test.erl')
-rw-r--r--test/sd_notify_test.erl24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/sd_notify_test.erl b/test/sd_notify_test.erl
index 21a9f9d..59df682 100644
--- a/test/sd_notify_test.erl
+++ b/test/sd_notify_test.erl
@@ -50,3 +50,27 @@ sd_notify_unsetenv_test_() ->
]
}.
+
+sd_notify_watchdog_test_() ->
+ {ok, CWD} = file:get_cwd(),
+ FakeNotifyUnixSockName = CWD ++ "/fake-sock-" ++ integer_to_list(erlang:phash2(make_ref())),
+ {ok, FakeNotifyUnixSock} = gen_udp:open(0, [{ifaddr, {local, FakeNotifyUnixSockName}}, {active, false}, list]),
+ os:putenv("NOTIFY_SOCKET", FakeNotifyUnixSockName),
+
+ {setup,
+ fun() -> ok end,
+ fun(_) -> ok = gen_udp:close(FakeNotifyUnixSock), ok = file:delete(FakeNotifyUnixSockName) end,
+ [
+ {
+ "Try sending message",
+ fun() ->
+ os:putenv("WATCHDOG_USEC", "500000"),
+ sd_notify:start_link(),
+ {ok, {_Address, _Port, Packet}} = gen_udp:recv(FakeNotifyUnixSock, length("WATCHDOG=1"), 1000),
+ ?assertEqual("WATCHDOG=1", Packet)
+ end
+ }
+
+ ]
+
+ }.