From 56709edc8972a0de8dee523f00576f32ebefb4ad Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 16 Dec 2008 10:49:12 +0000 Subject: * ext/pty/extconf.rb: check posix_openpt. * ext/pty/pty.c (get_device_once): use posix_openpt if available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/test_pty.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test') diff --git a/test/test_pty.rb b/test/test_pty.rb index 684ab2c01b..704861dd3c 100644 --- a/test/test_pty.rb +++ b/test/test_pty.rb @@ -98,5 +98,24 @@ class TestPTY < Test::Unit::TestCase } end + def test_stat_slave + # If grantpt is used, the slave device is changed as follows. + # owner: real UID + # group: an unspecified value (e.g. tty) + # mode: 0620 (rw--w----) + # + # The group is not testable because unspecified. + # + # The mode is testable but the condition is relaxed because other + # pty functions (openpty, _getpty, etc.) may not use 0620. + # But no one can read from the tty, I hope (for security reason). + # + PTY.open {|master, slave| + s = File.stat(slave.path) + assert_equal(Process.uid, s.uid) + assert_equal(0600, s.mode & 0755) + } + end + end if defined? PTY -- cgit v1.2.3