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.erl61
1 files changed, 52 insertions, 9 deletions
diff --git a/test/sd_notify_test.erl b/test/sd_notify_test.erl
index 4ae437a..59df682 100644
--- a/test/sd_notify_test.erl
+++ b/test/sd_notify_test.erl
@@ -2,11 +2,7 @@
-include_lib("eunit/include/eunit.hrl").
-
-sd_notify_test_() ->
- sd_notify_test_local(erlang:system_info(otp_release)).
-
-sd_notify_test_local("19") ->
+sd_notify_basic_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]),
@@ -20,7 +16,7 @@ sd_notify_test_local("19") ->
"Try sending message",
fun() ->
TestMessage = integer_to_list(erlang:phash2(make_ref())),
- 1 = sd_notify:sd_pid_notify_with_fds(0, 0, TestMessage, []),
+ ok = sd_notify:sd_pid_notify_with_fds(0, 0, TestMessage, []),
{ok, {_Address, _Port, Packet}} = gen_udp:recv(FakeNotifyUnixSock, length(TestMessage), 1000),
?assertEqual(TestMessage, Packet)
end
@@ -28,6 +24,53 @@ sd_notify_test_local("19") ->
]
- };
-sd_notify_test_local(_) ->
- [].
+ }.
+
+sd_notify_unsetenv_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() ->
+ TestMessage = integer_to_list(erlang:phash2(make_ref())),
+ ok = sd_notify:sd_pid_notify_with_fds(0, true, TestMessage, []),
+ {ok, {_Address, _Port, _Packet}} = gen_udp:recv(FakeNotifyUnixSock, length(TestMessage), 1000),
+ Ret = os:getenv("NOTIFY_SOCKET"),
+ ?assertEqual(Ret, false)
+ end
+ }
+
+ ]
+
+ }.
+
+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
+ }
+
+ ]
+
+ }.