Bladeren bron

support provider hooks on ct and eunit

pull/319/head
Tristan Sloughter 10 jaren geleden
bovenliggende
commit
a55c94cc9c
2 gewijzigde bestanden met toevoegingen van 26 en 7 verwijderingen
  1. +14
    -4
      src/rebar_prv_common_test.erl
  2. +12
    -3
      src/rebar_prv_eunit.erl

+ 14
- 4
src/rebar_prv_common_test.erl Bestand weergeven

@ -38,6 +38,11 @@ init(State) ->
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) ->
?INFO("Running Common Test suites...", []),
%% Run ct provider prehooks
Providers = rebar_state:providers(State),
Cwd = rebar_dir:get_cwd(),
rebar_hooks:run_all_hooks(Cwd, pre, ?PROVIDER, Providers, State),
try
case setup_ct(State) of
{error, {no_tests_specified, Opts}} ->
@ -46,9 +51,14 @@ do(State) ->
Opts ->
Opts1 = setup_logdir(State, Opts),
?DEBUG("common test opts: ~p", [Opts1]),
run_test(State, Opts1)
{ok, State1} = run_test(State, Opts1),
%% Run ct provider posthooks
rebar_hooks:run_all_hooks(Cwd, post, ?PROVIDER, Providers, State),
{ok, State1};
end
catch error:Reason -> ?PRV_ERROR(Reason)
catch
error:Reason ->
?PRV_ERROR(Reason)
end.
-spec format_error(any()) -> iolist().
@ -251,7 +261,7 @@ join(undefined, Suites) -> Suites;
join(Dir, Suites) when is_list(Dir), is_integer(hd(Dir)) ->
lists:map(fun(S) -> filename:join([Dir, S]) end, Suites);
%% multiple dirs or a bad dir argument, try to continue anyways
join(_, Suites) -> Suites.
join(_, Suites) -> Suites.
find_suite_dirs(Suites) ->
AllDirs = lists:map(fun(S) -> filename:dirname(filename:absname(S)) end, Suites),
@ -537,4 +547,4 @@ parse_term(String) ->
Terms;
Term ->
Term
end.
end.

+ 12
- 3
src/rebar_prv_eunit.erl Bestand weergeven

@ -37,9 +37,19 @@ init(State) ->
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) ->
?INFO("Performing EUnit tests...", []),
%% Run ct provider prehooks
Providers = rebar_state:providers(State),
Cwd = rebar_dir:get_cwd(),
rebar_hooks:run_all_hooks(Cwd, pre, ?PROVIDER, Providers, State),
case prepare_tests(State) of
{ok, Tests} -> do_tests(State, Tests);
Error -> Error
{ok, Tests} ->
{ok, State1} = do_tests(State, Tests),
%% Run ct provider posthooks
rebar_hooks:run_all_hooks(Cwd, post, ?PROVIDER, Providers, State),
{ok, State1};
Error ->
Error
end.
do_tests(State, Tests) ->
@ -250,4 +260,3 @@ help(app) -> "List of application test suites to run";
help(cover) -> "Generate cover data";
help(suite) -> "List of test suites to run";
help(verbose) -> "Verbose output".

Laden…
Annuleren
Opslaan