aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Arendt <[email protected]>2014-11-27 09:26:51 +0100
committerMarcus Arendt <[email protected]>2014-11-27 09:26:51 +0100
commitaca180838c407296613c944dd6cd4df3fa1fe708 (patch)
tree8897db500ad7a76b1d2059281c18a1882475757a
parentffbc076cb77d2e9a621fcadfafb0320e465d64d9 (diff)
parentb7740a6fe01d254d79291bbcbbc853e874eb41ef (diff)
downloadotp-aca180838c407296613c944dd6cd4df3fa1fe708.tar.gz
otp-aca180838c407296613c944dd6cd4df3fa1fe708.tar.bz2
otp-aca180838c407296613c944dd6cd4df3fa1fe708.zip
Merge branch 'josevalim/jv-cover-last-expr-maint/OTP-12328' into maint
* josevalim/jv-cover-last-expr-maint/OTP-12328: Fix cover bug on last expressions with empty clauses
-rw-r--r--lib/tools/src/cover.erl2
-rw-r--r--lib/tools/test/cover_SUITE_data/b.erl8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/tools/src/cover.erl b/lib/tools/src/cover.erl
index 113fa24bd5..31754015f7 100644
--- a/lib/tools/src/cover.erl
+++ b/lib/tools/src/cover.erl
@@ -1696,6 +1696,8 @@ fix_expr(T, Line, Bump) when is_tuple(T) ->
fix_expr(E, _Line, _Bump) ->
E.
+fix_clauses([], _Line, _Bump) ->
+ [];
fix_clauses(Cs, Line, Bump) ->
case bumps_line(lists:last(Cs), Line) of
true ->
diff --git a/lib/tools/test/cover_SUITE_data/b.erl b/lib/tools/test/cover_SUITE_data/b.erl
index 13f39b8cb9..0a418a58d8 100644
--- a/lib/tools/test/cover_SUITE_data/b.erl
+++ b/lib/tools/test/cover_SUITE_data/b.erl
@@ -1,5 +1,5 @@
-module(b).
--export([start/0, loop/0]).
+-export([start/0, loop/0, wait/0]).
start() ->
spawn(?MODULE, loop, []).
@@ -12,3 +12,9 @@ loop() ->
stop ->
done
end.
+
+%% This checks for a bug in expressions which have no
+%% "main" clauses (only after and friends) followed by
+%% a return value in the same line.
+wait() ->
+ receive after 1000 -> done end, ok.