aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_pty.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_pty.rb')
-rw-r--r--test/test_pty.rb19
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