Expose Test.filter_backtrace for the default gems.
This commit is contained in:
parent
589cd0e511
commit
141102b0b0
Notes:
git
2023-08-29 06:05:50 +00:00
@ -1,6 +1,43 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Test
|
||||
|
||||
class << self
|
||||
##
|
||||
# Filter object for backtraces.
|
||||
|
||||
attr_accessor :backtrace_filter
|
||||
end
|
||||
|
||||
class BacktraceFilter # :nodoc:
|
||||
def filter bt
|
||||
return ["No backtrace"] unless bt
|
||||
|
||||
new_bt = []
|
||||
pattern = %r[/(?:lib\/test/|core_assertions\.rb:)]
|
||||
|
||||
unless $DEBUG then
|
||||
bt.each do |line|
|
||||
break if pattern.match?(line)
|
||||
new_bt << line
|
||||
end
|
||||
|
||||
new_bt = bt.reject { |line| pattern.match?(line) } if new_bt.empty?
|
||||
new_bt = bt.dup if new_bt.empty?
|
||||
else
|
||||
new_bt = bt.dup
|
||||
end
|
||||
|
||||
new_bt
|
||||
end
|
||||
end
|
||||
|
||||
self.backtrace_filter = BacktraceFilter.new
|
||||
|
||||
def self.filter_backtrace bt # :nodoc:
|
||||
backtrace_filter.filter bt
|
||||
end
|
||||
|
||||
module Unit
|
||||
module Assertions
|
||||
def assert_raises(*exp, &b)
|
||||
|
@ -24,42 +24,6 @@ require 'optparse'
|
||||
# See Test::Unit
|
||||
module Test
|
||||
|
||||
class << self
|
||||
##
|
||||
# Filter object for backtraces.
|
||||
|
||||
attr_accessor :backtrace_filter
|
||||
end
|
||||
|
||||
class BacktraceFilter # :nodoc:
|
||||
def filter bt
|
||||
return ["No backtrace"] unless bt
|
||||
|
||||
new_bt = []
|
||||
pattern = %r[/(?:lib\/test/|core_assertions\.rb:)]
|
||||
|
||||
unless $DEBUG then
|
||||
bt.each do |line|
|
||||
break if pattern.match?(line)
|
||||
new_bt << line
|
||||
end
|
||||
|
||||
new_bt = bt.reject { |line| pattern.match?(line) } if new_bt.empty?
|
||||
new_bt = bt.dup if new_bt.empty?
|
||||
else
|
||||
new_bt = bt.dup
|
||||
end
|
||||
|
||||
new_bt
|
||||
end
|
||||
end
|
||||
|
||||
self.backtrace_filter = BacktraceFilter.new
|
||||
|
||||
def self.filter_backtrace bt # :nodoc:
|
||||
backtrace_filter.filter bt
|
||||
end
|
||||
|
||||
##
|
||||
# Test::Unit is an implementation of the xUnit testing framework for Ruby.
|
||||
module Unit
|
||||
|
Loading…
x
Reference in New Issue
Block a user