diff --git a/test/test_helper.rb b/test/test_helper.rb index 814f0cbb7..d46288a2f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -10,4 +10,33 @@ require_relative '../gem/lib/pagy' require 'minitest/autorun' +# /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb +module Minitest + class UnexpectedError + module AvoidBacktraceMangling + def message # :nodoc: + bt = Minitest.filter_backtrace(backtrace) + .map { |p| p.sub(%r{^#{Dir.pwd}/}, "") }.join("\n ") # <-- sub and not gsub, inside map + "#{error.class}: #{error.message}\n #{bt}" + end + end + prepend AvoidBacktraceMangling + end + + # /home/dd/.local/share/JetBrains/Toolbox/apps/rubymine/plugins/ruby/rb/testing/patch/testunit/minitest/rm_reporter_plugin.rb + class RubyMineReporter < Reporter + module AvoidDoubleBacktrace + def with_message_and_backtrace(result) + exception = result.failure + msg = exception.nil? ? '' : "#{exception.class.name}: #{exception.message}" + # backtrace = exception.nil? ? '' : Minitest::filter_backtrace(exception.backtrace).join("\n") + + # yield(msg, backtrace) + yield(msg) + end + end + prepend AvoidDoubleBacktrace + end +end + require_relative 'helpers/warning_filters'