From 021e8ead5c4296792db030e62ab4190c9d6617be Mon Sep 17 00:00:00 2001 From: seki Date: Sun, 22 May 2016 11:03:43 +0000 Subject: use finalizer trick instead of thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/drb/ut_timerholder.rb | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/drb/ut_timerholder.rb b/test/drb/ut_timerholder.rb index 252c7bd228..1753b30c74 100644 --- a/test/drb/ut_timerholder.rb +++ b/test/drb/ut_timerholder.rb @@ -12,7 +12,6 @@ class TimerIdConvTest < Test::Unit::TestCase key = idconv.to_id(self) assert_equal(key, self.__id__) sleep(keeping) - assert_equal(idconv.to_id(false), false.__id__) assert_equal(idconv.to_obj(key), self) sleep(keeping) @@ -24,11 +23,48 @@ class TimerIdConvTest < Test::Unit::TestCase sleep(keeping) assert_raise do - assert_equal(idconv.to_obj(key)) + assert_equal(idconv.to_obj(key), self) + end + + assert_raise do + assert_equal(idconv.to_obj(false.__id__), false) + end + + key = idconv.to_id(self) + assert_equal(key, self.__id__) + assert_equal(idconv.to_id(true), true.__id__) + sleep(keeping) + GC.start + sleep(keeping) + GC.start + assert_raise do + assert_equal(idconv.to_obj(key), self) end + end + def test_usecase_02 + keeping = 0.1 + idconv = DRb::TimerIdConv.new(keeping) + + key = idconv.to_id(self) + assert_equal(key, self.__id__) + sleep(keeping) + GC.start + sleep(keeping) + GC.start + assert_raise do + assert_equal(idconv.to_obj(key), self) + end + GC.start + + key = idconv.to_id(self) + assert_equal(key, self.__id__) + sleep(keeping) + GC.start + sleep(keeping) + GC.start assert_raise do - assert_equal(idconv.to_obj(false.__id__)) + assert_equal(idconv.to_obj(key), self) end end end -- cgit v1.2.3