Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Enable export of cover data from eunit testrun

  • Loading branch information...
commit 43d5b6257e3a446367aed2bd59f3f87637fcb70f 1 parent aec71f9
@freke freke authored tuncer committed
Showing with 22 additions and 0 deletions.
  1. +3 −0  rebar.config.sample
  2. +19 −0 src/rebar_eunit.erl
View
3  rebar.config.sample
@@ -78,6 +78,9 @@
%% Whether to print coverage report to console. Default is `false'
{cover_print_enabled, false}.
+%% Whether to export coverage report to file. Default is `false'
+{cover_export_enabled, false}.
+
%% == Common Test ==
%% Override the default "test" directory in which SUITEs are located
View
19 src/rebar_eunit.erl
@@ -223,6 +223,14 @@ cover_analyze(Config, FilteredModules, SrcModules) ->
Index = filename:join([rebar_utils:get_cwd(), ?TEST_DIR, "index.html"]),
?CONSOLE("Cover analysis: ~s\n", [Index]),
+ %% Export coverage data, if configured
+ case rebar_config:get(Config, cover_export_enabled, false) of
+ true ->
+ cover_export_coverdata();
+ false ->
+ ok
+ end,
+
%% Print coverage report, if configured
case rebar_config:get(Config, cover_print_enabled, false) of
true ->
@@ -388,6 +396,17 @@ cover_print_coverage(Coverage) ->
cover_file(Module) ->
filename:join([?TEST_DIR, atom_to_list(Module) ++ ".COVER.html"]).
+cover_export_coverdata() ->
+ ExportFile = filename:join([rebar_utils:get_cwd(),
+ ?TEST_DIR,
+ "eunit.coverdata"]),
+ case cover:export(ExportFile) of
+ ok ->
+ ?CONSOLE("Coverdata export: ~s~n", [ExportFile]);
+ {error,Reason} ->
+ ?ERROR("Coverdata export failed: ~p~n", [Reason])
+ end.
+
percentage(0, 0) ->
"not executed";
percentage(Cov, NotCov) ->
Please sign in to comment.
Something went wrong with that request. Please try again.