mirror of
https://github.com/correl/rebar.git
synced 2024-11-23 19:19:54 +00:00
Merge pull request #224 from andrewjstone/allow-test
allow suite[s] or test[s] as options for eunit and ct
This commit is contained in:
commit
fa679b4343
3 changed files with 60 additions and 36 deletions
|
@ -359,18 +359,18 @@ generate-upgrade previous_release=path Build an upgrade package
|
||||||
|
|
||||||
generate-appups previous_release=path Generate appup files
|
generate-appups previous_release=path Generate appup files
|
||||||
|
|
||||||
eunit [suites=foo] Run eunit tests in foo.erl and
|
eunit [suite[s]=foo] Run eunit tests in foo.erl and
|
||||||
test/foo_tests.erl
|
test/foo_tests.erl
|
||||||
[suites=foo] [tests=bar] Run specific eunit tests [first test name
|
[suite[s]=foo] [test[s]=bar] Run specific eunit tests [first test
|
||||||
starting with 'bar' in foo.erl and
|
name starting with 'bar' in foo.erl
|
||||||
test/foo_tests.erl]
|
and test/foo_tests.erl]
|
||||||
[tests=bar] For every existing suite, run the first
|
[test[s]=bar] For every existing suite, run the first
|
||||||
test whose name starts with bar and, if
|
test whose name starts with bar and, if
|
||||||
no such test exists, run the test whose
|
no such test exists, run the test whose
|
||||||
name starts with bar in the suite's
|
name starts with bar in the suite's
|
||||||
_tests module
|
_tests module
|
||||||
|
|
||||||
ct [suites=] [case=] Run common_test suites
|
ct [suite[s]=] [case=] Run common_test suites
|
||||||
|
|
||||||
qc Test QuickCheck properties
|
qc Test QuickCheck properties
|
||||||
|
|
||||||
|
|
|
@ -320,7 +320,7 @@ get_config_file(TestDir) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
get_suites(Config, TestDir) ->
|
get_suites(Config, TestDir) ->
|
||||||
case rebar_config:get_global(Config, suites, undefined) of
|
case get_suites(Config) of
|
||||||
undefined ->
|
undefined ->
|
||||||
" -dir " ++ TestDir;
|
" -dir " ++ TestDir;
|
||||||
Suites ->
|
Suites ->
|
||||||
|
@ -329,6 +329,14 @@ get_suites(Config, TestDir) ->
|
||||||
string:join([" -suite"] ++ Suites2, " ")
|
string:join([" -suite"] ++ Suites2, " ")
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
get_suites(Config) ->
|
||||||
|
case rebar_config:get_global(Config, suites, undefined) of
|
||||||
|
undefined ->
|
||||||
|
rebar_config:get_global(Config, suite, undefined);
|
||||||
|
Suites ->
|
||||||
|
Suites
|
||||||
|
end.
|
||||||
|
|
||||||
find_suite_path(Suite, TestDir) ->
|
find_suite_path(Suite, TestDir) ->
|
||||||
Path = filename:join(TestDir, Suite ++ "_SUITE.erl"),
|
Path = filename:join(TestDir, Suite ++ "_SUITE.erl"),
|
||||||
case filelib:is_regular(Path) of
|
case filelib:is_regular(Path) of
|
||||||
|
|
|
@ -120,9 +120,9 @@ info_help(Description) ->
|
||||||
" ~p~n"
|
" ~p~n"
|
||||||
" ~p~n"
|
" ~p~n"
|
||||||
"Valid command line options:~n"
|
"Valid command line options:~n"
|
||||||
" suites=\"foo,bar\" (Run tests in foo.erl, test/foo_tests.erl and~n"
|
" suite[s]=\"foo,bar\" (Run tests in foo.erl, test/foo_tests.erl and~n"
|
||||||
" tests in bar.erl, test/bar_tests.erl)~n"
|
" tests in bar.erl, test/bar_tests.erl)~n"
|
||||||
" tests=\"baz\" (For every existing suite, run the first test whose~n"
|
" test[s]=\"baz\" (For every existing suite, run the first test whose~n"
|
||||||
" name starts with bar and, if no such test exists,~n"
|
" name starts with bar and, if no such test exists,~n"
|
||||||
" run the test whose name starts with bar in the~n"
|
" run the test whose name starts with bar in the~n"
|
||||||
" suite's _tests module)~n"
|
" suite's _tests module)~n"
|
||||||
|
@ -215,7 +215,7 @@ setup_code_path() ->
|
||||||
%%
|
%%
|
||||||
|
|
||||||
filter_suites(Config, Modules) ->
|
filter_suites(Config, Modules) ->
|
||||||
RawSuites = rebar_config:get_global(Config, suites, ""),
|
RawSuites = get_suites(Config),
|
||||||
SuitesProvided = RawSuites =/= "",
|
SuitesProvided = RawSuites =/= "",
|
||||||
Suites = [list_to_atom(Suite) || Suite <- string:tokens(RawSuites, ",")],
|
Suites = [list_to_atom(Suite) || Suite <- string:tokens(RawSuites, ",")],
|
||||||
{SuitesProvided, filter_suites1(Modules, Suites)}.
|
{SuitesProvided, filter_suites1(Modules, Suites)}.
|
||||||
|
@ -225,6 +225,14 @@ filter_suites1(Modules, []) ->
|
||||||
filter_suites1(Modules, Suites) ->
|
filter_suites1(Modules, Suites) ->
|
||||||
[M || M <- Suites, lists:member(M, Modules)].
|
[M || M <- Suites, lists:member(M, Modules)].
|
||||||
|
|
||||||
|
get_suites(Config) ->
|
||||||
|
case rebar_config:get_global(Config, suites, "") of
|
||||||
|
"" ->
|
||||||
|
rebar_config:get_global(Config, suite, "");
|
||||||
|
Suites ->
|
||||||
|
Suites
|
||||||
|
end.
|
||||||
|
|
||||||
%%
|
%%
|
||||||
%% == get matching tests ==
|
%% == get matching tests ==
|
||||||
%%
|
%%
|
||||||
|
@ -259,8 +267,16 @@ get_tests(Config, SuitesProvided, ModuleBeamFiles, FilteredModules) ->
|
||||||
end,
|
end,
|
||||||
get_matching_tests(Config, Modules).
|
get_matching_tests(Config, Modules).
|
||||||
|
|
||||||
|
get_tests(Config) ->
|
||||||
|
case rebar_config:get_global(Config, tests, "") of
|
||||||
|
"" ->
|
||||||
|
rebar_config:get_global(Config, test, "");
|
||||||
|
Suites ->
|
||||||
|
Suites
|
||||||
|
end.
|
||||||
|
|
||||||
get_matching_tests(Config, Modules) ->
|
get_matching_tests(Config, Modules) ->
|
||||||
RawFunctions = rebar_config:get_global(Config, tests, ""),
|
RawFunctions = get_tests(Config),
|
||||||
Tests = [list_to_atom(F1) || F1 <- string:tokens(RawFunctions, ",")],
|
Tests = [list_to_atom(F1) || F1 <- string:tokens(RawFunctions, ",")],
|
||||||
case Tests of
|
case Tests of
|
||||||
[] ->
|
[] ->
|
||||||
|
|
Loading…
Reference in a new issue