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