aboutsummaryrefslogtreecommitdiffstats
path: root/lib/eunit/src/eunit_lib.erl
diff options
context:
space:
mode:
authorMagnus Henoch <[email protected]>2011-04-07 15:37:28 +0100
committerMagnus Henoch <[email protected]>2011-04-07 15:38:29 +0100
commitb6decafc7a45e7519dd53d1956909463a06d3f6a (patch)
treef5b0bd460e220466662a26d1f4a3f36135a97eba /lib/eunit/src/eunit_lib.erl
parentd8dcd70f386de09109ca1f6f817a381cd1387769 (diff)
downloadotp-b6decafc7a45e7519dd53d1956909463a06d3f6a.tar.gz
otp-b6decafc7a45e7519dd53d1956909463a06d3f6a.tar.bz2
otp-b6decafc7a45e7519dd53d1956909463a06d3f6a.zip
Increase depth of error messages in Eunit Surefire reports
Currently, error messages in Eunit Surefire reports are shortened just like when written to a terminal. However, the space limitations that constrain terminal output do not apply here, so it's more useful to include more of the error message. Getting the full error message can be particularly helpful when an assertMatch fails because of a long and deep error term. The new depth of 100 should be enough for most cases, while protecting against runaway errors.
Diffstat (limited to 'lib/eunit/src/eunit_lib.erl')
-rw-r--r--lib/eunit/src/eunit_lib.erl18
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/eunit/src/eunit_lib.erl b/lib/eunit/src/eunit_lib.erl
index 4751f1094a..45d2387e7b 100644
--- a/lib/eunit/src/eunit_lib.erl
+++ b/lib/eunit/src/eunit_lib.erl
@@ -33,7 +33,7 @@
-export([dlist_next/1, uniq/1, fun_parent/1, is_string/1, command/1,
command/2, command/3, trie_new/0, trie_store/2, trie_match/2,
split_node/1, consult_file/1, list_dir/1, format_exit_term/1,
- format_exception/1, format_error/1]).
+ format_exception/1, format_exception/2, format_error/1]).
%% Type definitions for describing exceptions
@@ -55,21 +55,23 @@
%% ---------------------------------------------------------------------
%% Formatting of error descriptors
+format_exception(Exception) ->
+ format_exception(Exception, 20).
-format_exception({Class,Term,Trace})
+format_exception({Class,Term,Trace}, Depth)
when is_atom(Class), is_list(Trace) ->
case is_stacktrace(Trace) of
true ->
io_lib:format("~w:~P\n~s",
- [Class, Term, 20, format_stacktrace(Trace)]);
+ [Class, Term, Depth, format_stacktrace(Trace)]);
false ->
- format_term(Term)
+ format_term(Term, Depth)
end;
-format_exception(Term) ->
- format_term(Term).
+format_exception(Term, Depth) ->
+ format_term(Term, Depth).
-format_term(Term) ->
- io_lib:format("~P\n", [Term, 15]).
+format_term(Term, Depth) ->
+ io_lib:format("~P\n", [Term, Depth]).
format_exit_term(Term) ->
{Reason, Trace} = analyze_exit_term(Term),