35 lines
704 B
Ruby
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
|