anchor.diff:             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
  
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: 	2000 -> ct:fail(timeout1)
      end,
  
      ?P("names -> test sending (from cp1)"),
      rpc:call(Cp1, global, send, [test, {ping, self()}]),
      receive
  	{pong, Cp3} -> ok
  