diff options
Diffstat (limited to 'test/sd_notify_test.erl')
-rw-r--r-- | test/sd_notify_test.erl | 24 |
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 + } + + ] + + }. |