Skip to content

Commit

Permalink
fix tests for providers moved to new app and config list option
Browse files Browse the repository at this point in the history
  • Loading branch information
tsloughter committed Oct 11, 2014
1 parent 86b33c0 commit eef4fea
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 20 deletions.
27 changes: 19 additions & 8 deletions src/rlx_cmd_args.erl
Expand Up @@ -90,12 +90,16 @@ format_error({invalid_target, Target}) ->
-spec handle_config(any(), [atom()], proplists:proplist()) ->
{ok, {rlx_state:t(), [string()]}} | relx:error().
handle_config(Opts, Targets, CommandLineConfig) ->
{ok, Config} = validate_config(proplists:get_value(config, Opts, [])),
case rlx_state:new(Config, CommandLineConfig, Targets) of
{error, Error} ->
{error, Error};
State ->
{ok, State}
case validate_config(proplists:get_value(config, Opts, [])) of
Error = {error, _} ->
Error;
{ok, Config} ->
case rlx_state:new(Config, CommandLineConfig, Targets) of
{error, Error} ->
{error, Error};
State ->
{ok, State}
end
end.

-spec convert_targets([string()]) -> {ok, release | relup} | relx:error().
Expand All @@ -118,7 +122,7 @@ convert_targets([Target | _T], _Acc) ->
?RLX_ERROR({invalid_target, Target}).

-spec validate_config(file:filename() | list() | undefined) ->
{ok, file:filename() | list() | undefined}.
{ok, file:filename() | list() | undefined} | relx:error().
validate_config(undefined) ->
{ok, undefined};
validate_config("") ->
Expand All @@ -128,7 +132,14 @@ validate_config(Config) ->
true ->
{ok, filename:absname(Config)};
false ->
{ok, Config}
case io_lib:printable_list(Config) of
true ->
?RLX_ERROR({invalid_config_file, Config});
false when is_list(Config) ->
{ok, Config};
false ->
?RLX_ERROR({invalid_config_file, Config})
end
end.

run_creates(Opts) ->
Expand Down
24 changes: 12 additions & 12 deletions test/rlx_discover_SUITE.erl
Expand Up @@ -77,9 +77,9 @@ normal_case(Config) ->
|| _ <- lists:seq(1, 100)]],
State0 = rlx_state:put(proplists:get_value(state, Config),
default_libs, false),
{ok, State1} = rlx_provider:new(rlx_prv_discover, State0),
DiscoverProvider = rlx_provider:get_provider(discover, rlx_state:providers(State1)),
{ok, State2} = rlx_provider:do(DiscoverProvider, State1),
{ok, State1} = providers:new(rlx_prv_discover, State0),
DiscoverProvider = providers:get_provider(discover, rlx_state:providers(State1)),
{ok, State2} = providers:do(DiscoverProvider, State1),

lists:foreach(fun(App) ->
?assertMatch(true, lists:member(App, rlx_state:available_apps(State2)))
Expand Down Expand Up @@ -116,11 +116,11 @@ no_beam_case(Config) ->
State0 = proplists:get_value(state, Config),
%% Deliberately disable release discovery when running `rlx_prv_discover`
State1 = rlx_state:put(State0, disable_rel_discovery, true),
{ok, State2} = rlx_provider:new(rlx_prv_discover, State1),
DiscoverProvider = rlx_provider:get_provider(discover, rlx_state:providers(State2)),
{ok, State2} = providers:new(rlx_prv_discover, State1),
DiscoverProvider = providers:get_provider(discover, rlx_state:providers(State2)),

?assertMatch({ok, _},
rlx_provider:do(DiscoverProvider, State2)).
providers:do(DiscoverProvider, State2)).

bad_ebin_case(Config) ->
LibDir1 = proplists:get_value(lib1, Config),
Expand All @@ -146,9 +146,9 @@ bad_ebin_case(Config) ->
ok = filelib:ensure_dir(Filename),
ok = ec_file:write_term(Filename, get_bad_app_metadata(BadName, BadVsn)),
State0 = proplists:get_value(state, Config),
{ok, State1} = rlx_provider:new(rlx_prv_discover, State0),
DiscoverProvider = rlx_provider:get_provider(discover, rlx_state:providers(State1)),
{ok, State2} = rlx_provider:do(DiscoverProvider, State1),
{ok, State1} = providers:new(rlx_prv_discover, State0),
DiscoverProvider = providers:get_provider(discover, rlx_state:providers(State1)),
{ok, State2} = providers:do(DiscoverProvider, State1),
?assertMatch([], [App || App <- rlx_state:available_apps(State2),
BadName =:= rlx_app_info:name(App)]).

Expand All @@ -172,9 +172,9 @@ shallow_app_discovery(Config) ->
State0 = rlx_state:put(proplists:get_value(state, Config),
default_libs, false),
State1 = rlx_state:put(State0, enable_shallow_app_discovery, true),
{ok, State2} = rlx_provider:new(rlx_prv_discover, State1),
DiscoverProvider = rlx_provider:get_provider(discover, rlx_state:providers(State2)),
{ok, State3} = rlx_provider:do(DiscoverProvider, State2),
{ok, State2} = providers:new(rlx_prv_discover, State1),
DiscoverProvider = providers:get_provider(discover, rlx_state:providers(State2)),
{ok, State3} = providers:do(DiscoverProvider, State2),
lists:foreach(fun(App) ->
?assertMatch(true, lists:member(App, rlx_state:available_apps(State3)))
end, Apps1),
Expand Down

0 comments on commit eef4fea

Please sign in to comment.