summaryrefslogtreecommitdiff
path: root/test/rebar_as_SUITE.erl
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2016-10-17 08:41:25 -0400
committerFred Hebert <mononcqc@ferd.ca>2016-10-17 08:41:25 -0400
commit504431473b9cc7f9c1641f640fc4d8a02c9aa079 (patch)
treeb4ebeffad41331730aaa3a1ffaea7783d5888fc9 /test/rebar_as_SUITE.erl
parent94f87477d5db0243992ca222c79486acbfb9fcee (diff)
Prevent crashes in `rebar3 as` with no tasks
checks on hd(...) and so on could not handle empty lists
Diffstat (limited to 'test/rebar_as_SUITE.erl')
-rw-r--r--test/rebar_as_SUITE.erl17
1 files changed, 16 insertions, 1 deletions
diff --git a/test/rebar_as_SUITE.erl b/test/rebar_as_SUITE.erl
index 0f37dc8..ce8046b 100644
--- a/test/rebar_as_SUITE.erl
+++ b/test/rebar_as_SUITE.erl
@@ -14,6 +14,7 @@
as_dir_name/1,
as_with_task_args/1,
warn_on_empty_profile/1,
+ error_on_empty_tasks/1,
clean_as_profile/1]).
-include_lib("common_test/include/ct.hrl").
@@ -33,7 +34,7 @@ all() -> [as_basic, as_multiple_profiles, as_multiple_tasks,
as_multiple_profiles_multiple_tasks,
as_comma_placement, as_comma_then_space,
as_dir_name, as_with_task_args,
- warn_on_empty_profile, clean_as_profile].
+ warn_on_empty_profile, error_on_empty_tasks, clean_as_profile].
as_basic(Config) ->
AppDir = ?config(apps, Config),
@@ -159,6 +160,20 @@ warn_on_empty_profile(Config) ->
meck:unload(rebar_log),
ok.
+error_on_empty_tasks(Config) ->
+ AppDir = ?config(apps, Config),
+
+ Name = rebar_test_utils:create_random_name("as_error_empty_"),
+ Vsn = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
+
+ meck:new(rebar_log, [passthrough]),
+ rebar_test_utils:run_and_check(Config,
+ [],
+ ["as", "default"],
+ {error, "At least one task must be specified when using `as`"}),
+ ok.
+
warn_match(App, History) ->
lists:any(
fun({_, {rebar_log,log, [warn, "No entry for profile ~s in config.",