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

ruby-changes:40305

From: naruse <ko1@a...>
Date: Fri, 30 Oct 2015 14:55:22 +0900 (JST)
Subject: [ruby-changes:40305] naruse:r52386 (trunk): show parent process's signal mask from child process

naruse	2015-10-30 14:55:09 +0900 (Fri, 30 Oct 2015)

  New Revision: 52386

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=52386

  Log:
    show parent process's signal mask from child process
    
    Because this tests raises timeout on failure, and it doesn't
    reach assertions.

  Modified files:
    trunk/test/ruby/test_gc.rb
Index: test/ruby/test_gc.rb
===================================================================
--- test/ruby/test_gc.rb	(revision 52385)
+++ test/ruby/test_gc.rb	(revision 52386)
@@ -331,16 +331,6 @@ class TestGc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_gc.rb#L331
     end;
   end
 
-  def get_signal_info
-    if RUBY_PLATFORM.include?('solaris')
-      "\n"+`/usr/bin/psig #{$$}`
-    elsif File.exist?('/proc/self/status')
-      "\n"+IO.read('/proc/self/status')
-    else
-      ''
-    end
-  end
-
   def test_interrupt_in_finalizer
     bug10595 = '[ruby-core:66825] [Bug #10595]'
     src = <<-'end;'
@@ -350,8 +340,13 @@ class TestGc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_gc.rb#L340
           sleep 0.1
           Process.kill("INT", pid) rescue break
         }
-        $stderr.puts `/usr/bin/psig #{$$}` if RUBY_PLATFORM.include?('solaris')
-        $stderr.puts IO.read('/proc/self/status') if File.exist?('/proc/self/status')
+        if RUBY_PLATFORM.include?('solaris')
+          $stderr.puts `/usr/bin/psig #{$$}`
+          $stderr.puts `/usr/bin/psig #{Process.ppid}`
+        elsif File.exist?('/proc/self/status')
+          $stderr.puts IO.read('/proc/self/status')
+          $stderr.puts IO.read("/proc/#{Process.ppid}/status")
+        end
       end
       f = proc {1000.times {}}
       loop do
@@ -364,7 +359,7 @@ class TestGc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_gc.rb#L359
     unless /mswin|mingw/ =~ RUBY_PLATFORM
       assert_equal("INT", Signal.signame(status.termsig), bug10595)
     end
-    assert_match(/Interrupt/, err.first, proc {err.join("\n")+get_signal_info})
+    assert_match(/Interrupt/, err.first, proc {err.join("\n")})
     assert_empty(out)
   end
 

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

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