File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -237,6 +237,8 @@ def has_cause?(ex) # :nodoc:
237237 def display_exception_message_details ( ex ) # :nodoc:
238238 if ex . instance_of? ( RuntimeError )
239239 trace ex . message
240+ elsif ex . respond_to? ( :detailed_message )
241+ trace "#{ ex . class . name } : #{ ex . detailed_message ( highlight : false ) } "
240242 else
241243 trace "#{ ex . class . name } : #{ ex . message } "
242244 end
Original file line number Diff line number Diff line change @@ -60,6 +60,31 @@ def test_display_exception_details
6060 assert_match __method__ . to_s , err
6161 end
6262
63+ def test_display_exception_details_with_detailed_message
64+ error_class = Class . new ( StandardError ) do
65+ def detailed_message ( **)
66+ "detailed_message!!"
67+ end
68+ end
69+
70+ begin
71+ raise error_class
72+ rescue error_class => ex
73+ end
74+
75+ out , err = capture_io do
76+ @app . set_default_options # reset trace output IO
77+
78+ @app . display_error_message ex
79+ end
80+
81+ assert_empty out
82+
83+ assert_match "rake aborted!" , err
84+ assert_match "detailed_message!!" , err
85+ assert_match __method__ . to_s , err
86+ end
87+
6388 def test_display_exception_details_bad_encoding
6489 begin
6590 raise "El Niño is coming!" . dup . force_encoding ( "US-ASCII" )
You can’t perform that action at this time.
0 commit comments