diff options
author | Björn Gustavsson <[email protected]> | 2011-09-28 11:30:49 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-09-28 11:30:49 +0200 |
commit | df20d15f2229fa5da1c9b7ab8b41b2d706d586f8 (patch) | |
tree | 93b826563b40e9740603c6d6b6cada302cd63603 /lib/test_server | |
parent | ad6a940cea43cb816a7bbcacd00a91a300097b31 (diff) | |
parent | c5eb04243f480d860626e955c1d6b82b938cdf02 (diff) | |
download | otp-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')
-rw-r--r-- | lib/test_server/src/test_server.erl | 22 |
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 |