Exception: Minitest::UnexpectedError

Inherits:
Assertion show all
Includes:
Compress
Defined in:
lib/minitest.rb

Overview

Assertion wrapping an unexpected error that was raised during a run.

Constant Summary collapse

BASE_RE =

:nodoc:

%r%#{Dir.pwd}/%

Constants inherited from Assertion

Assertion::RE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Compress

#compress

Methods inherited from Assertion

#location, #result_code

Constructor Details

#initialize(error) ⇒ UnexpectedError

:nodoc:



1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
# File 'lib/minitest.rb', line 1030

def initialize error # :nodoc:
  super "Unexpected exception"

  if SystemStackError === error then
    bt = error.backtrace
    new_bt = compress bt
    error = error.exception "#{bt.size} -> #{new_bt.size}"
    error.set_backtrace new_bt
  end

  self.error = error
end

Instance Attribute Details

#errorObject

TODO: figure out how to use ‘cause` instead



1028
1029
1030
# File 'lib/minitest.rb', line 1028

def error
  @error
end

Instance Method Details

#backtraceObject

:nodoc:



1043
1044
1045
# File 'lib/minitest.rb', line 1043

def backtrace # :nodoc:
  self.error.backtrace
end

#messageObject

:nodoc:



1049
1050
1051
1052
1053
# File 'lib/minitest.rb', line 1049

def message # :nodoc:
  bt = Minitest.filter_backtrace(self.backtrace).join("\n    ")
    .gsub(BASE_RE, "")
  "#{self.error.class}: #{self.error.message}\n    #{bt}"
end

#result_labelObject

:nodoc:



1055
1056
1057
# File 'lib/minitest.rb', line 1055

def result_label # :nodoc:
  "Error"
end