anchor.diff:  	ok = clean_traces(),
   	ok = ranch:stop_listener(Name).
   
  +supervisor_clean_conns_sup_restart(_) ->
  +	%% Verify that a conns_sup can not register with the same Name as an already
  +	%% registered conns_sup that is still alive. Make sure this does not crash
  +	%% the ranch_server.
  +	Name = supervisor_clean_conns_sup_restart,
  +	{ok, _} = ranch:start_listener(Name,
  +		1, ranch_tcp, [], echo_protocol, []),
  +	Server = erlang:whereis(ranch_server),
  +	ServerMonRef = erlang:monitor(process, Server),
  +	%% Exit because Name already registered and is alive.
  +	{'EXIT', _}  = (catch ranch_server:set_connections_sup(Name, self())),
  +	receive
  +		{'DOWN', ServerMonRef, process, Server, _} ->
  +			error(ranch_server_down)
  +	after
  +		1000 ->
  +			ok
  +	end,
  +	ok = ranch:stop_listener(Name).
  +
  +supervisor_clean_restart(_) ->
  +	%% There we verify that mature listener death will not let
  +	%% whole supervisor down and also the supervisor itself will
  +	%% restart everything properly.
  +	Name = supervisor_clean_restart,
  +	NbAcc = 4,
  +	{ok, Pid} = ranch:start_listener(Name,
  +		NbAcc, ranch_tcp, [], echo_protocol, []),
  +	%% Trace supervisor spawns.
  +	1 = erlang:trace(Pid, true, [procs, set_on_spawn]),
  +	ConnsSup0 = ranch_server:get_connections_sup(Name),
  +	erlang:exit(ConnsSup0, kill),
  +	receive after 1000 -> ok end,
  +	%% Verify that supervisor is alive
  +	true = is_process_alive(Pid),
  +	%% ...but children are dead.
  +	false = is_process_alive(ConnsSup0),
  +	%% Receive traces from newly started children
  +	ConnsSup = receive {trace, Pid, spawn, Pid2, _} -> Pid2 end,
  +	AccSupPid = receive {trace, Pid, spawn, Pid3, _} -> Pid3 end,
  +	%% ...and its acceptors.
  +	[receive {trace, AccSupPid, spawn, _Pid, _} -> ok end ||
  +		_ <- lists:seq(1, NbAcc)],
  +	%% No more traces then.
  +	receive
  +		{trace, EPid, spawn, _, _} when EPid == Pid; EPid == AccSupPid ->
  +			error(invalid_restart)
  +	after 1000 -> ok end,
  +	%% Verify that new children registered themselves properly.
  +	ConnsSup = ranch_server:get_connections_sup(Name),
  +	_ = erlang:trace(all, false, [all]),
  +	ok = clean_traces(),
  +	ok = ranch:stop_listener(Name).
  +
   supervisor_conns_alive(_) ->
   	%% And finally we make sure that in the case of partial failure
   	%% live connections are not being killed.
  
positive.code: 		tcp_accept_socket,
  		tcp_active_echo,
  		tcp_echo,
  		tcp_max_connections,
  		tcp_infinity_max_connections,
  		tcp_max_connections_and_beyond,
  		tcp_set_max_connections,
  		tcp_clean_set_max_connections,
  		tcp_upgrade,
  		tcp_inherit_options
  	]}, {ssl, [
  		ssl_accept_error,
  		ssl_accept_socket,
  
negative.code: 	{_, 20} = lists:keyfind(workers, 1, Counts2),
  	ok = ranch:stop_listener(Name).
  
  tcp_max_connections_infinity(_) ->
  	Name = tcp_max_connections_infinity,
  	{ok, _} = ranch:start_listener(Name, 1,
  		ranch_tcp, [{max_connections, 10}],
  		notify_and_wait_protocol, [{msg, connected}, {pid, self()}]),
  