зеркало из https://github.com/github/ruby.git
add DRbObject dereference test (Preparation for investigation of Bug #15711)
This commit is contained in:
Родитель
dd5b6c71c6
Коммит
68e3f8192b
|
@ -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
|
Загрузка…
Ссылка в новой задаче