summaryrefslogtreecommitdiff
path: root/test/drb/test_drbobject.rb
diff options
context:
space:
mode:
authorMasatoshi SEKI <m_seki@mva.biglobe.ne.jp>2019-04-25 01:08:54 +0900
committerMasatoshi SEKI <m_seki@mva.biglobe.ne.jp>2019-04-25 01:08:54 +0900
commit68e3f8192b6df3ee1759bef7725e958aa3e72c3d (patch)
tree25bb587e8c889a2d0ddbcd42be87364a0b0f28c6 /test/drb/test_drbobject.rb
parentdd5b6c71c6cf157406e5ead4dfc6188d563bc268 (diff)
add DRbObject dereference test (Preparation for investigation of Bug #15711)
Diffstat (limited to 'test/drb/test_drbobject.rb')
-rw-r--r--test/drb/test_drbobject.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/drb/test_drbobject.rb b/test/drb/test_drbobject.rb
new file mode 100644
index 0000000000..3c7b0c1971
--- /dev/null
+++ b/test/drb/test_drbobject.rb
@@ -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