aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-05-23 08:40:11 +0200
committerBjörn Gustavsson <[email protected]>2016-05-23 08:40:11 +0200
commitde114bb8523486c0174eb763b939fbdb34aa9421 (patch)
treed74d9716065ca85d8202d215bae1a5adf4750695 /lib
parentd20068c72361eac577d919514da0de9a34f07745 (diff)
parent10e106229b5a2006f2e7cf337a048859011f8798 (diff)
downloadotp-de114bb8523486c0174eb763b939fbdb34aa9421.tar.gz
otp-de114bb8523486c0174eb763b939fbdb34aa9421.tar.bz2
otp-de114bb8523486c0174eb763b939fbdb34aa9421.zip
Merge branch 'richcarl/eunit/debug-val-depth/PR-1061/OTP-13612'
* richcarl/eunit/debug-val-depth/PR-1061/OTP-13612: Replace suggested debugValAll/1 macro with debugVal/2
Diffstat (limited to 'lib')
-rw-r--r--lib/eunit/doc/overview.edoc11
-rw-r--r--lib/eunit/include/eunit.hrl16
2 files changed, 13 insertions, 14 deletions
diff --git a/lib/eunit/doc/overview.edoc b/lib/eunit/doc/overview.edoc
index ca7ffb83a4..3a46e991cb 100644
--- a/lib/eunit/doc/overview.edoc
+++ b/lib/eunit/doc/overview.edoc
@@ -690,11 +690,12 @@ it like `debugMsg'. The result is always `ok'.</dd>
<dt>`debugVal(Expr)'</dt>
<dd>Prints both the source code for `Expr' and its current value. E.g.,
`?debugVal(f(X))' might be displayed as "`f(X) = 42'". (Large terms are
-shown truncated.) The result is always the value of `Expr', so this
-macro can be wrapped around any expression to display its value when
-the code is compiled with debugging enabled.</dd>
-<dt>`debugValAll(Expr)'</dt>
-<dd>This is almost same as `debugVal(Expr)`, but doesn't truncate terms to print.</dd>
+truncated to the depth given by the macro `EUNIT_DEBUG_VAL_DEPTH', which
+defaults to 15 but can be overridden by the user.) The result is always the
+value of `Expr', so this macro can be wrapped around any expression to
+display its value when the code is compiled with debugging enabled.</dd>
+<dt>`debugVal(Expr, Depth)'</dt>
+<dd>Like `debugVal(Expr)', but prints terms truncated to the given depth.</dd>
<dt>`debugTime(Text,Expr)'</dt>
<dd>Prints `Text' and the wall clock time for evaluation of `Expr'. The
result is always the value of `Expr', so this macro can be wrapped
diff --git a/lib/eunit/include/eunit.hrl b/lib/eunit/include/eunit.hrl
index b6dbe2d706..7fd6c206a4 100644
--- a/lib/eunit/include/eunit.hrl
+++ b/lib/eunit/include/eunit.hrl
@@ -223,20 +223,18 @@
end).
-define(debugHere, (?debugMsg("<-"))).
-define(debugFmt(S, As), (?debugMsg(io_lib:format((S), (As))))).
--define(debugVal(E),
+-define(debugVal(E, D),
begin
((fun (__V) ->
- ?debugFmt(<<"~ts = ~tP">>, [(??E), __V, 15]),
- __V
- end)(E))
- end).
--define(debugValAll(E),
- begin
- ((fun (__V) ->
- ?debugFmt(<<"~ts = ~tp">>, [(??E), __V]),
+ ?debugFmt(<<"~ts = ~tP">>,
+ [(??E), __V, D]),
__V
end)(E))
end).
+-ifndef(EUNIT_DEBUG_VAL_DEPTH).
+-define(EUNIT_DEBUG_VAL_DEPTH, 15).
+-endif.
+-define(debugVal(E), ?debugVal(E, ?EUNIT_DEBUG_VAL_DEPTH)).
-define(debugTime(S, E),
begin
((fun () ->