anchor.diff:  	    
   setup_closed_ao() ->
       Dir = filename:dirname(code:which(?MODULE)),
  -    {ok,R} = test_server:start_node(?UNIQ_NODE_NAME, slave,
  -                                    [{args,"-pa " ++ Dir}]),
  +    p("[setup] start slave node"),
  +    R = case test_server:start_node(?UNIQ_NODE_NAME, slave,
  +                                    [{args,"-pa " ++ Dir}]) of
  +            {ok, Slave} ->
  +                Slave;
  +            {error, Reason} ->
  +                skip(f("failed starting slave node: ~p", [Reason]))
  +        end,
       Host = get_hostname(node()),
  -    {ok, L} = gen_tcp:listen(0, [{active,false},{packet,2}]),
  +    p("[setup] create listen socket"),
  +    L = case gen_tcp:listen(0, [{active,false},{packet,2}]) of
  +            {ok, LSock} ->
  +                LSock;
  +            {error, eaddrnotavail = LReason} ->
  +                (catch test_server:stop_node(R)),
  +                skip(listen_failed_str(LReason))
  +        end,
       Fun = fun(F) ->
                     receive
                         {From,X} when is_function(X) ->
  
positive.code: 	     {error,einval} = inet:setopts(A,[{active,true}]),
  	     ok = receive {tcp_closed, A} -> error after 1000 -> ok end
       end)(),
      (fun() ->
  	     {Loop,A} = setup_closed_ao(),
  	     Loop({{error,closed},{error,econnaborted}},
  
negative.code: 		    case F2() of
  			MA -> MA;
  			MB -> MB;
  			Other -> p("~p",[Other]),
  				 receive after 1000 -> ok end,
  				 L2(L2,{MA,MB},F2,N-1)
  		    end
  	    end,
      Loop = fun(Match2,F3) ->  Loop2(Loop2,Match2,F3,10) end,
      p("[setup] stop slave node"),
      test_server:stop_node(R),
      p("[setup] done"),
      {Loop,A}.
      
  setup_timeout_sink(RNode, Timeout, AutoClose) ->
  