diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_pty.rb | 19 |
1 files changed, 19 insertions, 0 deletions
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 |