[前][次][番号順一覧][スレッド一覧]

ruby-changes:63362

From: Yusuke <ko1@a...>
Date: Sat, 17 Oct 2020 00:08:33 +0900 (JST)
Subject: [ruby-changes:63362] ac803ab55d (master): test/rinda/test_rinda.rb: Add more debugging code

https://git.ruby-lang.org/ruby.git/commit/?id=ac803ab55d

From ac803ab55db50ef891e3680680620d01f28a759b Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Sat, 17 Oct 2020 00:07:35 +0900
Subject: test/rinda/test_rinda.rb: Add more debugging code

in addition to de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54

diff --git a/test/rinda/test_rinda.rb b/test/rinda/test_rinda.rb
index 1991ab6..c20f060 100644
--- a/test/rinda/test_rinda.rb
+++ b/test/rinda/test_rinda.rb
@@ -642,7 +642,32 @@ class TestRingServer < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/rinda/test_rinda.rb#L642
   end
 
   def test_do_reply
+    # temporaliry redefine Rinda::RingServer#do_reply for a debugging purpose
+    Rinda::RingServer.class_eval do
+      alias do_reply_back do_reply
+      def do_reply
+        tuple = @ts.take([:lookup_ring, nil], @renewer)
+        Thread.new do
+          begin
+            tuple[1].call(@ts)
+          rescue
+            p :in_thread, $!, *$!.backtrace
+            nil
+          end
+        end
+      rescue
+        p :out_of_thread, $!, *$!.backtrace
+      end
+    end
+
     with_timeout(30) {_test_do_reply}
+
+  ensure
+    Rinda::RingServer.class_eval do
+      remove_method :do_reply
+      alias do_reply do_reply_back
+      remove_method :do_reply_back
+    end
   end
 
   def _test_do_reply
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]