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 |