Sha256: a35fd55c8e8d741c96cb0948d6ea72c8d4a1e23c5a2cf303714ce039c2654ba1
Contents?: true
Size: 1.73 KB
Versions: 6
Compression:
Stored size: 1.73 KB
Contents
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.dirname(__FILE__)) require 'rspec' require 'drbqs' require 'drbqs/manage/manage' # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} RSpec.configure do |config| end HOME_FOR_SPEC = File.join(File.dirname(__FILE__), 'home_for_spec') DRbQS::Config.set_home_directory(HOME_FOR_SPEC) def drbqs_test_tuple_space(uri) ts = { :message => Rinda::TupleSpace.new, :queue => Rinda::TupleSpace.new, :result => Rinda::TupleSpace.new, :transfer => nil } DRb.start_service(uri, ts) ts end def drbqs_wait_kill_server(process_id, wait_time = 10) i = 0 while !Process.waitpid(process_id, Process::WNOHANG) i += 1 if i > wait_time Process.kill(:KILL, process_id) raise "Server process does not finish." end sleep(1) end end def drbqs_fork_server(uri_arg, opts = {}, &block) server_args = opts[:opts] || {} if Integer === uri_arg server_args[:port] = uri_arg uri = "druby://:#{uri_arg}" else server_args[:unix] = uri_arg uri = "drbunix:#{uri_arg}" end pid = fork do server = DRbQS::Server.new(server_args) if block_given? yield(server) end if task_args = opts[:task] unless task_args.respond_to?(:each) task_args = [task_args] end task_args.each do |arg| if DRbQS::Task::Generator === arg server.add_task_generator(arg) else server.queue.add(arg) end end end server.set_signal_trap server.start server.wait end sleep(opts[:sleep] || 1) [pid, uri] end
Version data entries
6 entries across 6 versions & 1 rubygems