anchor.diff:  -include("assertions.hrl").
   
   %% API
  --export([start_test_node/4, start_test_node/5, stop_test_node/2]).
  --export([set_env_vars/1,start_deps/1,stop_deps/1]).
  +-export([start_globalregistry_node/3,start_globalregistry_node/4,stop_globalregistry_node/1]).
  +-export([set_env_vars/1,start_deps/0,stop_deps/0]).
   
   
  -%% start_globalregistry_node/4
  +%% start_globalregistry_node/3
   %% ====================================================================
   %% @doc Starts new node with globalregistry, with silent mode
  --spec start_test_node(NodeName :: atom(), Host :: atom(), Deps :: list(atom()), EnvVars :: list(Env)) -> node() | no_return() when
  +-spec start_globalregistry_node(NodeName :: atom(), Host :: atom(), EnvVars :: list(Env)) -> node() | no_return() when
   	Env :: {Name,Value},
   	Name :: atom(),
   	Value :: term().
   %% ====================================================================
  -start_test_node(NodeName,Host,Deps,EnvVars) ->
  -	start_test_node(NodeName,Host,Deps,EnvVars,false).
  +start_globalregistry_node(NodeName,Host,EnvVars) ->
  +	start_globalregistry_node(NodeName,Host,EnvVars,false).
   
  -%% start_globalregistry_node/5
  +%% start_globalregistry_node/4
   %% ====================================================================
   %% @doc Starts new node with globalregistry.
  --spec start_test_node(NodeName :: atom(), Host :: atom(), Deps :: list(atom()), EnvVars :: list(Env), Verbose :: boolean()) -> Result when
  +-spec start_globalregistry_node(NodeName :: atom(), Host :: atom(),EnvVars :: list(Env), Verbose :: boolean()) -> Result when
   	Env :: {Name,Value},
   	Name :: atom(),
   	Value :: term(),
   	Result :: node() | no_return().
   %% ====================================================================
  -start_test_node(NodeName,Host,Deps,EnvVars,Verbose) ->
  +start_globalregistry_node(NodeName,Host,EnvVars,Verbose) ->
   	% Prepare opts
   	CodePathOpt = make_code_path(),
   	VerboseOpt = case Verbose of
  
positive.code: 	CookieOpt = " -setcookie "++atom_to_list(erlang:get_cookie())++" ",
  
  	% Start node
  	stop_test_node(?NODE(Host,NodeName),Deps),
  	{ok,Node} = slave:start(Host, NodeName,CodePathOpt++VerboseOpt++CookieOpt),
  
  	% Prepare environment
  	rpc:call(Node,application,start,[ctool]),
  	rpc:call(Node,test_node_starter,start_deps,[Deps]),
  	rpc:call(Node,application,load,[globalregistry]),
  	rpc:call(Node,test_node_starter,set_env_vars,[EnvVars]),
  	?assertMatch(ok,rpc:call(Node,application,start,[globalregistry])),
  	Node.
  
negative.code: 	lists:foldl(fun(Node, Path) -> " -pa " ++ Node ++ Path end,
  		[], code:get_path()).
  
  %% stop_deps/0
  %% ====================================================================
  %% @doc This function clears after the test.
  -spec stop_deps() -> ok.
  %% ====================================================================
  stop_deps() ->
  	application:stop(ibrowse),
  	application:stop(n2o),
  	application:stop(cowboy),
  	application:stop(ranch),
  	application:stop(crypto),
  	application:stop(mimetypes),
  	application:stop(ssl),
  	application:stop(erlydtl),
  	application:stop(gproc),
  	application:stop(lager),
  	application:stop(sasl),
  	application:unload(globalregistry).
  
  %% start_deps/0
  %% ====================================================================
  %% @doc This function sets environment for application.
  -spec start_deps() -> ok.
  %% ====================================================================
  start_deps() ->
  	application:start(sasl),
  	lager:start(),
  	ssl:start(),
  	application:start(erlydtl),
  	application:start(mimetypes),
  	application:start(ranch),
  	application:start(crypto),
  	application:start(cowboy),
  	application:start(gproc),
  	application:start(n2o),
  	application:start(ibrowse),
  	application:load(globalregistry).
  
  %% set_env_vars/1
  %% ====================================================================
  