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:



1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
# File 'lib/minitest.rb', line 1065

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



1063
1064
1065
# File 'lib/minitest.rb', line 1063

def error
  @error
end

Instance Method Details

#backtraceObject

:nodoc:



1078
1079
1080
# File 'lib/minitest.rb', line 1078

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

#messageObject

:nodoc:



1084
1085
1086
1087
1088
# File 'lib/minitest.rb', line 1084

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:



1090
1091
1092
# File 'lib/minitest.rb', line 1090

def result_label # :nodoc:
  "Error"
end