From df9e72b22e45b5ce05d45c05c1f6b7268a62d5d0 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 18 Apr 2013 15:29:32 +0000 Subject: test_rinda.rb: use spawn * test/rinda/test_rinda.rb (TupleSpaceProxyTest#test_take_bug_8215): use more portable spawn instead of fork. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rinda/test_rinda.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'test/rinda') diff --git a/test/rinda/test_rinda.rb b/test/rinda/test_rinda.rb index 7791c7e523..946af97988 100644 --- a/test/rinda/test_rinda.rb +++ b/test/rinda/test_rinda.rb @@ -479,12 +479,15 @@ class TupleSpaceProxyTest < Test::Unit::TestCase end def test_take_bug_8215 - skip 'missing fork' unless have_fork? + require_relative '../ruby/envutil' service = DRb.start_service(nil, @ts_base) uri = service.uri - take = fork do + args = [EnvUtil.rubybin, *%W[-rdrb/drb -rdrb/eq -rrinda/ring -rrinda/tuplespace -e]] + + take = spawn(*args, <<-'end;', uri) + uri = ARGV[0] DRb.start_service ro = DRbObject.new_with_uri(uri) ts = Rinda::TupleSpaceProxy.new(ro) @@ -495,16 +498,17 @@ class TupleSpaceProxyTest < Test::Unit::TestCase th.raise(Interrupt) # causes loss of the taken tuple ts.write([:barrier, :continue]) Kernel.sleep - end + end; @ts_base.take([:barrier, :continue]) - write = fork do + write = spawn(*args, <<-'end;', uri) + uri = ARGV[0] DRb.start_service ro = DRbObject.new_with_uri(uri) ts = Rinda::TupleSpaceProxy.new(ro) ts.write([:test_take, 42]) - end + end; status = Process.wait(write) -- cgit v1.2.3