diff --git a/Lib/test/output/test_openpty b/Lib/test/output/test_openpty
deleted file mode 100644
index a8b8b5e..0000000
--- a/Lib/test/output/test_openpty
+++ /dev/null
@@ -1,2 +0,0 @@
-test_openpty
-Ping!
diff --git a/Lib/test/test_openpty.py b/Lib/test/test_openpty.py
index a8b8550..f770af6 100644
--- a/Lib/test/test_openpty.py
+++ b/Lib/test/test_openpty.py
@@ -1,19 +1,23 @@
 # Test to see if openpty works. (But don't worry if it isn't available.)
 
-import os
-from test.test_support import verbose, TestFailed, TestSkipped
+import os, unittest
+from test.test_support import run_unittest, TestSkipped
 
-try:
-    if verbose:
-        print "Calling os.openpty()"
-    master, slave = os.openpty()
-    if verbose:
-        print "(master, slave) = (%d, %d)"%(master, slave)
-except AttributeError:
-    raise TestSkipped, "No openpty() available."
+class OpenptyTest(unittest.TestCase):
+    def test(self):
+        try:
+            master, slave = os.openpty()
+        except AttributeError:
+            raise TestSkipped, "No openpty() available."
 
-if not os.isatty(slave):
-    raise TestFailed, "Slave-end of pty is not a terminal."
+        if not os.isatty(slave):
+            self.fail("Slave-end of pty is not a terminal.")
 
-os.write(slave, 'Ping!')
-print os.read(master, 1024)
+        os.write(slave, 'Ping!')
+        self.assertEqual(os.read(master, 1024), 'Ping!')
+
+def test_main():
+    run_unittest(OpenptyTest)
+
+if __name__ == '__main__':
+    test_main()
