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

Version Path
drbqs-0.1.1 spec/spec_helper.rb
drbqs-0.1.0 spec/spec_helper.rb
drbqs-0.0.19 spec/spec_helper.rb
drbqs-0.0.18 spec/spec_helper.rb
drbqs-0.0.17 spec/spec_helper.rb
drbqs-0.0.16 spec/spec_helper.rb