aboutsummaryrefslogtreecommitdiffstats
path: root/lib/test_server/src/test_server.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-09-28 11:30:49 +0200
committerBjörn Gustavsson <[email protected]>2011-09-28 11:30:49 +0200
commitdf20d15f2229fa5da1c9b7ab8b41b2d706d586f8 (patch)
tree93b826563b40e9740603c6d6b6cada302cd63603 /lib/test_server/src/test_server.erl
parentad6a940cea43cb816a7bbcacd00a91a300097b31 (diff)
parentc5eb04243f480d860626e955c1d6b82b938cdf02 (diff)
downloadotp-df20d15f2229fa5da1c9b7ab8b41b2d706d586f8.tar.gz
otp-df20d15f2229fa5da1c9b7ab8b41b2d706d586f8.tar.bz2
otp-df20d15f2229fa5da1c9b7ab8b41b2d706d586f8.zip
Merge branch 'bjorn/line-numbers/OTP-9468' into major
* bjorn/line-numbers/OTP-9468: beam_lib_SUITE: Don't assume that "Abst" is the last chunk test_server: Show line number for caller of test_server:fail()
Diffstat (limited to 'lib/test_server/src/test_server.erl')
-rw-r--r--lib/test_server/src/test_server.erl22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/test_server/src/test_server.erl b/lib/test_server/src/test_server.erl
index 04f92c5738..2cb33a9a69 100644
--- a/lib/test_server/src/test_server.erl
+++ b/lib/test_server/src/test_server.erl
@@ -1716,7 +1716,16 @@ adjusted_sleep(MSecs) ->
%% to read when using this function, rather than exit directly.
fail(Reason) ->
comment(cast_to_list(Reason)),
- exit({suite_failed,Reason}).
+ try
+ exit({suite_failed,Reason})
+ catch
+ Class:R ->
+ case erlang:get_stacktrace() of
+ [{?MODULE,fail,1,_}|Stk] -> ok;
+ Stk -> ok
+ end,
+ erlang:raise(Class, R, Stk)
+ end.
cast_to_list(X) when is_list(X) -> X;
cast_to_list(X) when is_atom(X) -> atom_to_list(X);
@@ -1730,7 +1739,16 @@ cast_to_list(X) -> lists:flatten(io_lib:format("~p", [X])).
%% Immediately calls exit. Included because test suites are easier
%% to read when using this function, rather than exit directly.
fail() ->
- exit(suite_failed).
+ try
+ exit(suite_failed)
+ catch
+ Class:R ->
+ case erlang:get_stacktrace() of
+ [{?MODULE,fail,0,_}|Stk] -> ok;
+ Stk -> ok
+ end,
+ erlang:raise(Class, R, Stk)
+ end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% break(Comment) -> ok