Permalink
Browse files

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.
  • Loading branch information...
1 parent 6698277 commit ffaceaa8cf1381acbf1becf0f50cade88eafdc4c @jonleighton jonleighton committed May 3, 2013
Showing with 4 additions and 0 deletions.
  1. +4 −0 activesupport/lib/active_support/testing/isolation.rb
View
4 activesupport/lib/active_support/testing/isolation.rb
@@ -40,6 +40,10 @@ def marshal_load(calls)
def method_missing(name, *args)
@calls << [name, args]
end
+
+ def info_signal
+ Signal.list['INFO']
+ end
end
module Isolation

0 comments on commit ffaceaa

Please sign in to comment.