summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2014-12-21 14:47:55 -0500
committerFred Hebert <mononcqc@ferd.ca>2014-12-21 14:47:55 -0500
commit54a41ca6c4fb819aa5adf4883f51d0c785a56be3 (patch)
tree3cdd87e1e733d8e0b87f99456b90b3c58872d473 /test
parent73676c80b06bd4a26040b41f42fee8dde536dcac (diff)
Tests and fixes for namespaces
Diffstat (limited to 'test')
-rw-r--r--test/rebar_namespace_SUITE.erl93
1 files changed, 93 insertions, 0 deletions
diff --git a/test/rebar_namespace_SUITE.erl b/test/rebar_namespace_SUITE.erl
new file mode 100644
index 0000000..40b7238
--- /dev/null
+++ b/test/rebar_namespace_SUITE.erl
@@ -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].