aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2013-05-03 11:59:52 +0100
committerJon Leighton <j@jonathanleighton.com>2013-05-03 11:59:52 +0100
commitffaceaa8cf1381acbf1becf0f50cade88eafdc4c (patch)
tree5260ef23e6918b4eb0ecd1f6de6f53c95e5e4efd
parent66982772b7b019505870a65b38af076d509ffd53 (diff)
downloadrails-ffaceaa8cf1381acbf1becf0f50cade88eafdc4c.tar.gz
rails-ffaceaa8cf1381acbf1becf0f50cade88eafdc4c.tar.bz2
rails-ffaceaa8cf1381acbf1becf0f50cade88eafdc4c.zip
Work around change in how MiniTest detects SIGINFO
MiniTest 4.7.3 detects the presence of SIGINFO and stores the answer in a constant. It seems that MiniTest 4.7.4 changes this, and instead relies on an info_signal method being implemented on the runner object. In ActiveSupport::Testing::Isolation, we use ProxyTestResult to stand in for the runner object. This object implements `method_missing`, and as such its #info_signal method has a truthy return value. This results in MiniTest trying to install the SIGINFO handler on platforms where SIGINFO does not exists. To fix, I am simply defining an explicit ProxyTestResult#info_signal method.
-rw-r--r--activesupport/lib/active_support/testing/isolation.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/testing/isolation.rb b/activesupport/lib/active_support/testing/isolation.rb
index d70d971538..e16b73a036 100644
--- a/activesupport/lib/active_support/testing/isolation.rb
+++ b/activesupport/lib/active_support/testing/isolation.rb
@@ -40,6 +40,10 @@ module ActiveSupport
def method_missing(name, *args)
@calls << [name, args]
end
+
+ def info_signal
+ Signal.list['INFO']
+ end
end
module Isolation