summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--test/ruby/test_process.rb7
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index abb8fb34ab..c9591906f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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