class Minitest::ExtensibleBacktraceFilter

Filters backtraces of exceptions that may arise when running tests.

def self.default_filter

Returns:
  • (Minitest::ExtensibleBacktraceFilter) -
def self.default_filter
  unless defined? @default_filter
    filter = self.new
    filter.add_filter(/lib\/minitest/)
    @default_filter = filter
  end
  @default_filter
end

def add_filter(regex)

Parameters:
  • regex (Regex) -- the filter
def add_filter(regex)
  @filters << regex
end

def filter(backtrace)

Other tags:
    Note: - This logic is based off of Minitest's #filter_backtrace.

Returns:
  • (Array) - the filtered backtrace

Parameters:
  • backtrace (Array) -- the backtrace to filter
def filter(backtrace)
  result = []
  return result unless backtrace
  backtrace.each do |line|
    break if filters?(line)
    result << line
  end
  result = backtrace.reject { |line| filters?(line) } if result.empty?
  result = backtrace.dup if result.empty?
  result
end

def filters?(str)

Returns:
  • (Boolean) -

Parameters:
  • str (String) --
def filters?(str)
  @filters.any? { |filter| str =~ filter }
end

def initialize

Creates a new backtrace filter.
def initialize
  @filters = []
end