rewrite from lager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.8 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. -module(pr_stacktrace_test).
  2. -compile([{parse_transform, lager_transform}]).
  3. -include_lib("eunit/include/eunit.hrl").
  4. make_throw() ->
  5. throw({test, exception}).
  6. bad_arity() ->
  7. lists:concat([], []).
  8. bad_arg() ->
  9. integer_to_list(1.0).
  10. pr_stacktrace_throw_test() ->
  11. Got = try
  12. make_throw()
  13. catch
  14. Class:Reason:Stacktrace ->
  15. lager:pr_stacktrace(Stacktrace, {Class, Reason})
  16. end,
  17. Want = "pr_stacktrace_test:pr_stacktrace_throw_test/0 line 26\n pr_stacktrace_test:make_throw/0 line 16\nthrow:{test,exception}",
  18. ?assertNotEqual(nomatch, string:find(Got, Want)).
  19. pr_stacktrace_bad_arg_test() ->
  20. Got = try
  21. bad_arg()
  22. catch
  23. Class:Reason:Stacktrace ->
  24. lager:pr_stacktrace(Stacktrace, {Class, Reason})
  25. end,
  26. Want = "pr_stacktrace_test:pr_stacktrace_bad_arg_test/0 line 36\n pr_stacktrace_test:bad_arg/0 line 22\nerror:badarg",
  27. ?assertNotEqual(nomatch, string:find(Got, Want)).
  28. pr_stacktrace_bad_arity_test() ->
  29. Got = try
  30. bad_arity()
  31. catch
  32. Class:Reason:Stacktrace ->
  33. lager:pr_stacktrace(Stacktrace, {Class, Reason})
  34. end,
  35. Want = "pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 46\n lists:concat([], [])\nerror:undef",
  36. ?assertNotEqual(nomatch, string:find(Got, Want)).
  37. pr_stacktrace_no_reverse_test() ->
  38. application:set_env(lager, reverse_pretty_stacktrace, false),
  39. Got = try
  40. bad_arity()
  41. catch
  42. Class:Reason:Stacktrace ->
  43. lager:pr_stacktrace(Stacktrace, {Class, Reason})
  44. end,
  45. Want = "error:undef\n lists:concat([], [])\n pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 57",
  46. ?assertEqual(nomatch, string:find(Got, Want)).