diff options
author | Björn Gustavsson <[email protected]> | 2016-05-23 08:40:11 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-05-23 08:40:11 +0200 |
commit | de114bb8523486c0174eb763b939fbdb34aa9421 (patch) | |
tree | d74d9716065ca85d8202d215bae1a5adf4750695 | |
parent | d20068c72361eac577d919514da0de9a34f07745 (diff) | |
parent | 10e106229b5a2006f2e7cf337a048859011f8798 (diff) | |
download | otp-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
-rw-r--r-- | lib/eunit/doc/overview.edoc | 11 | ||||
-rw-r--r-- | lib/eunit/include/eunit.hrl | 16 |
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 () -> |