diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | test/ruby/test_process.rb | 7 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Mon Feb 4 02:18:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * test/ruby/test_process.rb (test_setsid): skip when platform is + OpenBSD. Contributed from George Koehler. + [Bug #7789] [ruby-core:51889] + Wed Feb 6 13:35:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index e5ff7cd2c6..1e72998e17 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -1574,6 +1574,9 @@ class TestProcess < Test::Unit::TestCase def test_setsid return unless Process.respond_to?(:setsid) return unless Process.respond_to?(:getsid) + # OpenBSD doesn't allow Process::getsid(pid) when pid is in + # different session. + return if /openbsd/ =~ RUBY_PLATFORM IO.popen([RUBY, "-e", <<EOS]) do|io| Marshal.dump(Process.getsid, STDOUT) @@ -1585,9 +1588,13 @@ EOS # test Process.getsid() w/o arg assert_equal(Marshal.load(io), Process.getsid) + # test Process.setsid return value and Process::getsid(pid) assert_equal(Marshal.load(io), Process.getsid(io.pid)) Process.kill(:KILL, io.pid) end end + + + end |