add DRbObject dereference test (Preparation for investigation of Bug #15711)
This commit is contained in:
parent
dd5b6c71c6
commit
68e3f8192b
47
test/drb/test_drbobject.rb
Normal file
47
test/drb/test_drbobject.rb
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
require 'test/unit'
|
||||||
|
require 'drb'
|
||||||
|
require 'drb/timeridconv'
|
||||||
|
|
||||||
|
module DRbObjectTest
|
||||||
|
class Foo
|
||||||
|
def initialize
|
||||||
|
@foo = 'foo'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def teardown
|
||||||
|
DRb.stop_service
|
||||||
|
end
|
||||||
|
|
||||||
|
def drb_eq(obj)
|
||||||
|
proxy = DRbObject.new(obj)
|
||||||
|
assert_equal(obj, DRb.to_obj(proxy.__drbref))
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_DRbObject_id_dereference
|
||||||
|
drb_eq(Foo.new)
|
||||||
|
drb_eq(Foo)
|
||||||
|
drb_eq(File)
|
||||||
|
drb_eq(Enumerable)
|
||||||
|
drb_eq(nil)
|
||||||
|
drb_eq(1)
|
||||||
|
drb_eq($stdout)
|
||||||
|
drb_eq([])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestDRbObject < Test::Unit::TestCase
|
||||||
|
include DRbObjectTest
|
||||||
|
|
||||||
|
def setup
|
||||||
|
DRb.start_service
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestDRbObjectTimerIdConv < Test::Unit::TestCase
|
||||||
|
include DRbObjectTest
|
||||||
|
|
||||||
|
def setup
|
||||||
|
DRb.start_service(nil, nil, {:idconv => DRb::TimerIdConv.new})
|
||||||
|
end
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user