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