Sha256: b2907f6ad4ea678840b0b865dfa7c1c7093f456d33612cdb8f00a62b8df7b44f

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

require_relative 'test/test1.rb'

describe DRbQS do
  before(:all) do
    @tasks = []
    5.times do |i|
      @tasks << DRbQS::Task.new(Test1.new, :echo, [i])
    end
    @process_id = fork do
      server = DRbQS::Server.new(:port => 13501)

      @tasks.each do |task|
        server.queue.add(task)
      end

      server.add_hook(:finish) do |serv|
        serv.exit
      end

      server.set_signal_trap
      server.start
      server.wait
    end
    sleep(1)

    @uri = 'druby://:13501'

    @manage = DRbQS::Manage.new
  end

  it "should send exit signal" do
    lambda do
      @manage.send_exit_signal(@uri)
    end.should_not raise_error
    lambda do
      i = 0
      while !Process.waitpid(@process_id, Process::WNOHANG)
        i += 1
        if i > 10
          Process.kill(:KILL, @process_id)
          raise "Server process does not finish."
        end
        sleep(1)
      end
    end.should_not raise_error
  end

  it "should split arguments" do
    ary = ['abc', 'def', '--', '123', '45', '6']
    a1, a2 = DRbQS::Manage.split_arguments(ary)
    a1.should == ['abc', 'def']
    a2.should == ['123', '45', '6']
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
drbqs-0.0.13 spec/manage_spec.rb
drbqs-0.0.12 spec/manage_spec.rb
drbqs-0.0.11 spec/manage_spec.rb
drbqs-0.0.10 spec/manage_spec.rb
drbqs-0.0.9 spec/manage_spec.rb
drbqs-0.0.8 spec/manage_spec.rb