anchor.diff:  	2000 -> ct:fail(timeout1)
       end,
   
  +    ?P("names -> test sending (from cp1)"),
       rpc:call(Cp1, global, send, [test, {ping, self()}]),
       receive
   	{pong, Cp3} -> ok
  
positive.code: %%
  %% %CopyrightBegin%
  %%
  %% Copyright Ericsson AB 1997-2019. All Rights Reserved.
  %%
  %% Licensed under the Apache License, Version 2.0 (the "License");
  %% you may not use this file except in compliance with the License.
  
negative.code:            end),
      
      %% try to register the same name
      ?P("names -> try register (locally) another 'test' (and expect rejection)"),
      no = global:register_name(test, self()),
      ?P("names -> try register (on cp1) another 'test' (and expect rejection)"),
      no = rpc:call(Cp1, global, register_name, [test, self()]),
      
      %% let process exit, check that it is unregistered automatically
      ?P("names -> terminate the 'test' process"),
      exit_p(Pid),
  
      ?P("names -> verify 'test' process has been automatically unregistered"),
          ?UNTIL((undefined =:= global:whereis_name(test)) and
             (undefined =:= rpc:call(Cp1, global, whereis_name, [test])) and
             (undefined =:= rpc:call(Cp2, global, whereis_name, [test])) and
             (undefined =:= rpc:call(Cp3, global, whereis_name, [test]))),
      
      %% test re_register
      ?P("names -> start and register another process 'test'"),
      {Pid2, yes} = start_proc(test),
      ?P("names -> verify process 'test' has been registered"),
      ?UNTIL(Pid2 =:= rpc:call(Cp3, global, whereis_name, [test])),
      Pid3 = rpc:call(Cp3, ?MODULE, start_proc2, [test]),
      ?UNTIL(Pid3 =:= rpc:call(Cp3, global, whereis_name, [test])),
      Pid3 = global:whereis_name(test),
  
      %% test sending
      ?P("names -> test sending (from local)"),
      global:send(test, {ping, self()}),
      receive
  	{pong, Cp3} -> ok
  