Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

69 Zeilen
1.8 KiB

  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. Result = try
  12. make_throw()
  13. catch
  14. Class:Reason ->
  15. lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
  16. end,
  17. ExpectedPart = "
  18. pr_stacktrace_test:pr_stacktrace_throw_test/0 line 18
  19. pr_stacktrace_test:make_throw/0 line 8
  20. throw:{test,exception}",
  21. ?assertNotEqual(0, string:str(Result, ExpectedPart)).
  22. pr_stacktrace_bad_arg_test() ->
  23. Result = try
  24. bad_arg()
  25. catch
  26. Class:Reason ->
  27. lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
  28. end,
  29. ExpectedPart = "
  30. pr_stacktrace_test:pr_stacktrace_bad_arg_test/0 line 32
  31. pr_stacktrace_test:bad_arg/0 line 14
  32. error:badarg",
  33. ?assertNotEqual(0, string:str(Result, ExpectedPart)).
  34. pr_stacktrace_bad_arity_test() ->
  35. Result = try
  36. bad_arity()
  37. catch
  38. Class:Reason ->
  39. lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
  40. end,
  41. ExpectedPart = "
  42. pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 46
  43. lists:concat([], [])
  44. error:undef",
  45. ?assertNotEqual(0, string:str(Result, ExpectedPart)).
  46. pr_stacktrace_no_reverse_test() ->
  47. application:set_env(lager, reverse_pretty_stacktrace, false),
  48. Result = try
  49. bad_arity()
  50. catch
  51. Class:Reason ->
  52. lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
  53. end,
  54. ExpectedPart = "error:undef
  55. lists:concat([], [])
  56. pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 60",
  57. ?assertEqual(0, string:str(Result, ExpectedPart)).