summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar_prv_dialyzer.erl11
-rw-r--r--test/rebar_dialyzer_SUITE.erl16
2 files changed, 22 insertions, 5 deletions
diff --git a/src/rebar_prv_dialyzer.erl b/src/rebar_prv_dialyzer.erl
index f7e3f21..ec9e81a 100644
--- a/src/rebar_prv_dialyzer.erl
+++ b/src/rebar_prv_dialyzer.erl
@@ -380,12 +380,15 @@ succ_typings(State, Plt, Output) ->
{0, State};
_ ->
Apps = rebar_state:project_apps(State),
- succ_typings(State, Plt, Output, Apps)
+ ?INFO("Doing success typing analysis...", []),
+ Files = apps_to_files(Apps),
+ succ_typings(State, Plt, Output, Files)
end.
-succ_typings(State, Plt, Output, Apps) ->
- ?INFO("Doing success typing analysis...", []),
- Files = apps_to_files(Apps),
+succ_typings(State, Plt, _, []) ->
+ ?INFO("Analyzing no files with ~p...", [Plt]),
+ {0, State};
+succ_typings(State, Plt, Output, Files) ->
?INFO("Analyzing ~b files with ~p...", [length(Files), Plt]),
Opts = [{analysis_type, succ_typings},
{get_warnings, true},
diff --git a/test/rebar_dialyzer_SUITE.erl b/test/rebar_dialyzer_SUITE.erl
index ededf6a..e5d8c52 100644
--- a/test/rebar_dialyzer_SUITE.erl
+++ b/test/rebar_dialyzer_SUITE.erl
@@ -10,6 +10,7 @@
groups/0,
empty_base_plt/1,
empty_app_plt/1,
+ empty_app_succ_typings/1,
update_base_plt/1,
update_app_plt/1,
build_release_plt/1,
@@ -55,7 +56,7 @@ all() ->
[{group, empty}, {group, build_and_check}, {group, update}].
groups() ->
- [{empty, [empty_base_plt, empty_app_plt]},
+ [{empty, [empty_base_plt, empty_app_plt, empty_app_succ_typings]},
{build_and_check, [build_release_plt, plt_apps_option]},
{update, [update_base_plt, update_app_plt]}].
@@ -102,6 +103,19 @@ empty_app_plt(Config) ->
ok.
+empty_app_succ_typings(Config) ->
+ AppDir = ?config(apps, Config),
+ RebarConfig = ?config(rebar_config, Config),
+
+ Name = rebar_test_utils:create_random_name("app1_"),
+ Vsn = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_empty_app(AppDir, Name, Vsn, []),
+
+ rebar_test_utils:run_and_check(Config, RebarConfig, ["dialyzer"],
+ {ok, [{app, Name}]}),
+
+ ok.
+
update_base_plt(Config) ->
AppDir = ?config(apps, Config),
RebarConfig = ?config(rebar_config, Config),