Sha256: d4eaca0f56d57889628dbe451514446a6191e0616dca4e1770c2f2cc102716ab

Contents?: true

Size: 1.35 KB

Versions: 84

Compression:

Stored size: 1.35 KB

Contents

module Test
  module Unit
    module Util
      module BacktraceFilter
        TESTUNIT_FILE_SEPARATORS = %r{[\\/:]}
        TESTUNIT_PREFIX = __FILE__.split(TESTUNIT_FILE_SEPARATORS)[0..-3]
        TESTUNIT_RB_FILE = /\.rb\Z/

        module_function
        def filter_backtrace(backtrace, prefix=nil)
          return ["No backtrace"] unless(backtrace)
          return backtrace if ENV["TEST_UNIT_ALL_BACKTRACE"]
          split_p = if(prefix)
            prefix.split(TESTUNIT_FILE_SEPARATORS)
          else
            TESTUNIT_PREFIX
          end
          match = proc do |e|
            split_e = e.split(TESTUNIT_FILE_SEPARATORS)[0, split_p.size]
            next false unless(split_e[0..-2] == split_p[0..-2])
            split_e[-1].sub(TESTUNIT_RB_FILE, '') == split_p[-1]
          end
          return backtrace unless(backtrace.detect(&match))
          found_prefix = false
          new_backtrace = backtrace.reverse.reject do |e|
            if(match[e])
              found_prefix = true
              true
            elsif(found_prefix)
              false
            else
              true
            end
          end.reverse
          new_backtrace = (new_backtrace.empty? ? backtrace : new_backtrace)
          new_backtrace = new_backtrace.reject(&match)
          new_backtrace.empty? ? backtrace : new_backtrace
        end
      end
    end
  end
end

Version data entries

84 entries across 84 versions & 7 rubygems

Version Path
rhodes-7.6.0 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-7.5.1 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-7.4.1 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-7.1.17 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-6.2.0 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-6.0.11 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.18 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.17 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.15 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.0.22 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.2 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.0.7 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.0.3 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-5.5.0 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
tauplatform-1.0.3 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
tauplatform-1.0.2 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
tauplatform-1.0.1 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-3.5.1.12 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-3.3.5 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb
rhodes-3.4.2 spec/framework_spec/extensions/test-libs/test/unit/util/backtracefilter.rb