xref: /third_party/python/Lib/test/test_openpty.py
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/python/Lib/test/
17db96d56Sopenharmony_ci# Test to see if openpty works. (But don't worry if it isn't available.)
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ciimport os, unittest
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciif not hasattr(os, "openpty"):
67db96d56Sopenharmony_ci    raise unittest.SkipTest("os.openpty() not available.")
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ciclass OpenptyTest(unittest.TestCase):
107db96d56Sopenharmony_ci    def test(self):
117db96d56Sopenharmony_ci        master, slave = os.openpty()
127db96d56Sopenharmony_ci        self.addCleanup(os.close, master)
137db96d56Sopenharmony_ci        self.addCleanup(os.close, slave)
147db96d56Sopenharmony_ci        if not os.isatty(slave):
157db96d56Sopenharmony_ci            self.fail("Slave-end of pty is not a terminal.")
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_ci        os.write(slave, b'Ping!')
187db96d56Sopenharmony_ci        self.assertEqual(os.read(master, 1024), b'Ping!')
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ciif __name__ == '__main__':
217db96d56Sopenharmony_ci    unittest.main()
22

Indexes created Thu Nov 07 10:32:03 CST 2024