Browse Source

Ensure that a process exit callback is called for every time the process was registered.

Roberto Ostinelli 5 years ago
parent
commit
6177ec10a0
1 changed files with 9 additions and 0 deletions
  1. 9 0
      test/syn_registry_SUITE.erl

+ 9 - 0
test/syn_registry_SUITE.erl

@@ -324,6 +324,7 @@ single_node_callback_on_process_exit(_Config) ->
     %% register
     TestPid = self(),
     ok = syn:register(<<"my proc">>, Pid, {pid, TestPid}),
+    ok = syn:register(<<"my proc - alternate">>, Pid, {pid_alternate, TestPid}),
     ok = syn:register(<<"my proc 2">>, Pid2, {pid2, TestPid}),
     %% kill 1
     syn_test_suite_helper:kill_process(Pid),
@@ -335,6 +336,14 @@ single_node_callback_on_process_exit(_Config) ->
     after 1000 ->
         ok = callback_on_process_exit_was_not_received_by_pid
     end,
+    receive
+        {received_event_on, pid_alternate} ->
+            ok;
+        {received_event_on, pid2} ->
+            ok = callback_on_process_exit_was_received_by_pid2
+    after 1000 ->
+        ok = callback_on_process_exit_was_not_received_by_pid
+    end,
     %% unregister & kill 2
     ok = syn:unregister(<<"my proc 2">>),
     syn_test_suite_helper:kill_process(Pid2),