|
|
@ -0,0 +1,93 @@ |
|
|
|
-module(rebar_namespace_SUITE). |
|
|
|
-compile(export_all). |
|
|
|
-include_lib("common_test/include/ct.hrl"). |
|
|
|
-include_lib("eunit/include/eunit.hrl"). |
|
|
|
|
|
|
|
all() -> [implicit_compile, default_compile, do_compile, |
|
|
|
as_default_compile, as_do_compile, |
|
|
|
notfound, do_notfound, default_notfound, ns_notfound]. |
|
|
|
|
|
|
|
init_per_testcase(Case, Config0) -> |
|
|
|
Config = rebar_test_utils:init_rebar_state(Config0), |
|
|
|
AppDir = ?config(apps, Config), |
|
|
|
Name = rebar_test_utils:create_random_name("app1_"++atom_to_list(Case)), |
|
|
|
Vsn = rebar_test_utils:create_random_vsn(), |
|
|
|
rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]), |
|
|
|
[{name, Name} | Config]. |
|
|
|
|
|
|
|
end_per_testcase(_, Config) -> |
|
|
|
Config. |
|
|
|
|
|
|
|
implicit_compile(Config) -> |
|
|
|
Name = ?config(name, Config), |
|
|
|
rebar_test_utils:run_and_check(Config, [], |
|
|
|
["compile"], |
|
|
|
{ok, [{app, Name}]}). |
|
|
|
|
|
|
|
default_compile(Config) -> |
|
|
|
Name = ?config(name, Config), |
|
|
|
rebar_test_utils:run_and_check(Config, [], |
|
|
|
["default","compile"], |
|
|
|
{ok, [{app, Name}]}). |
|
|
|
|
|
|
|
do_compile(Config) -> |
|
|
|
Name = ?config(name, Config), |
|
|
|
rebar_test_utils:run_and_check(Config, [], |
|
|
|
["do", "compile"], |
|
|
|
{ok, [{app, Name}]}). |
|
|
|
|
|
|
|
as_default_compile(Config) -> |
|
|
|
Name = ?config(name, Config), |
|
|
|
rebar_test_utils:run_and_check(Config, [], |
|
|
|
["as", "prod", "default", "compile"], |
|
|
|
{ok, [{app, Name}]}). |
|
|
|
|
|
|
|
as_do_compile(Config) -> |
|
|
|
Name = ?config(name, Config), |
|
|
|
rebar_test_utils:run_and_check(Config, [], |
|
|
|
["as", "prod", "do", "compile"], |
|
|
|
{ok, [{app, Name}]}). |
|
|
|
|
|
|
|
notfound(Config) -> |
|
|
|
Command = ["fakecommand"], |
|
|
|
rebar_test_utils:run_and_check( |
|
|
|
Config, [], Command, |
|
|
|
{error, io_lib:format("Command ~p not found", [fakecommand])} |
|
|
|
). |
|
|
|
|
|
|
|
do_notfound(Config) -> |
|
|
|
Command = ["do", "fakecommand"], |
|
|
|
rebar_test_utils:run_and_check( |
|
|
|
Config, [], Command, |
|
|
|
{error, io_lib:format("Command ~p not found", [fakecommand])} |
|
|
|
). |
|
|
|
|
|
|
|
default_notfound(Config) -> |
|
|
|
Command = ["default", "fakecommand"], |
|
|
|
rebar_test_utils:run_and_check( |
|
|
|
Config, [], Command, |
|
|
|
{error, io_lib:format("Command ~p not found", [fakecommand])} |
|
|
|
). |
|
|
|
|
|
|
|
ns_notfound(Config) -> |
|
|
|
Command = ["ns", "fakecommand"], |
|
|
|
rebar_test_utils:run_and_check( |
|
|
|
add_fake_ns_provider(Config), [], Command, |
|
|
|
{error, io_lib:format("Command ~p not found in namespace ~p", |
|
|
|
[fakecommand, ns])} |
|
|
|
). |
|
|
|
|
|
|
|
%%% Helpers %%% |
|
|
|
add_fake_ns_provider(Config) -> |
|
|
|
State = ?config(state, Config), |
|
|
|
State1 = rebar_state:add_provider( |
|
|
|
State, |
|
|
|
providers:create( |
|
|
|
[{name, fake_provider}, |
|
|
|
{module, fake_provider}, |
|
|
|
{namespace, ns}, |
|
|
|
{deps, []}, |
|
|
|
{opts, []}] |
|
|
|
) |
|
|
|
), |
|
|
|
[{state, State1} | Config]. |