anchor.diff:      [];
   stop_deps([FirstDep | Rest]) ->
   	[application:stop(FirstDep) | stop_deps(Rest)].
  -%% 	application:unload(globalregistry).
   
   %% start_deps/1
   %% ====================================================================
  
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.
  
  %% stop_test_node/2
  %% ====================================================================
  %% @doc Stops test node.
  -spec stop_test_node(Node :: node(), Deps :: list(atom())) -> ok | no_return().
  %% ====================================================================
  stop_test_node(Node,Deps) ->
  	rpc:call(Node,application,unload,[globalregistry]),
  	rpc:call(Node,test_node_starter,stop_deps,[Deps]),
      rpc:call(Node,application,stop,[ctool]),
      rpc:call(Node,application,stop,[globalregistry]),
  	slave:stop(Node).
  
  %% make_code_path/0
  
negative.code:     [ssl:start() | start_deps(Rest)];
  start_deps([FirstDep|Rest]) ->
  	[application:start(FirstDep) | start_deps(Rest)].
  
  %% set_env_vars/1
  %% ====================================================================
  %% @doc This function sets environment variables for application.
  -spec set_env_vars(Application :: atom(),EnvVars :: list()) -> ok.
  %% ====================================================================
  set_env_vars(_Application,[]) ->
  	ok;
  set_env_vars(Application,[{Variable, Value} | Vars]) ->
  	application:set_env(Application, Variable, Value),
  	set_env_vars(Application,Vars).
  