mperham--sidekiq/test/helper.rb

62 lines
1.3 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require "bundler/setup"
Bundler.require(:default, :test)
require "minitest/pride"
2022-11-01 19:17:13 +00:00
require "maxitest/autorun"
# require "maxitest/threads"
$TESTING = true
# disable minitest/parallel threads
ENV["MT_CPU"] = "0"
ENV["N"] = "0"
# Disable any stupid backtrace cleansers
ENV["BACKTRACE"] = "1"
if ENV["COVERAGE"]
require "simplecov"
2013-04-12 20:57:24 +00:00
SimpleCov.start do
2020-01-31 18:19:20 +00:00
enable_coverage :branch
2013-04-12 20:57:24 +00:00
add_filter "/test/"
add_filter "/myapp/"
minimum_coverage 90
2020-06-20 00:10:01 +00:00
end
2012-01-24 06:07:21 +00:00
end
ENV["REDIS_URL"] ||= "redis://localhost/15"
def reset!
RedisClient.new(url: ENV["REDIS_URL"]).call("flushall")
cfg = Sidekiq::Config.new
cfg.logger = ::Logger.new("/dev/null")
cfg.logger.level = Logger::WARN
Sidekiq.instance_variable_set :@config, cfg
cfg
end
def capture_logging(cfg, lvl = Logger::INFO)
old = cfg.logger
begin
out = StringIO.new
logger = ::Logger.new(out)
logger.level = lvl
cfg.logger = logger
yield logger
out.string
ensure
cfg.logger = old
end
end
Signal.trap("TTIN") do
Thread.list.each do |thread|
puts "Thread TID-#{(thread.object_id ^ ::Process.pid).to_s(36)} #{thread.name}"
if thread.backtrace
puts thread.backtrace.join("\n")
else
puts "<no backtrace available>"
end
end
end