qmp_client/test/unit/helper.rb

35 lines
704 B
Ruby

ROOT = File.expand_path(File.join(File.basename(__FILE__), '..'))
$: << File.join(ROOT, 'lib')
require 'minitest/unit'
require 'minitest/autorun'
require 'mocha'
require 'timeout' # assert_doesnt_time_out
module EnvHelpers
def silence_warnings
old = $VERBOSE
$VERBOSE = nil
yield
ensure
$VERBOSE = old
end
end
class BaseTestCase < MiniTest::Unit::TestCase
include EnvHelpers
def assert_doesnt_time_out(n, reason = "", &blk)
Timeout::timeout(n, &blk)
rescue TimeoutError => err
r_full = [reason, "(timed out after #{n}s)", "\n" + err.backtrace.join("\n")].join(" ")
raise MiniTest::Assertion.new(r_full)
end
end
class QMPClientTestCase < BaseTestCase
end