diff options
Diffstat (limited to 'Lib/test/test_popen2.py')
-rw-r--r-- | Lib/test/test_popen2.py | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/Lib/test/test_popen2.py b/Lib/test/test_popen2.py index f6359ce..26ef9d9 100644 --- a/Lib/test/test_popen2.py +++ b/Lib/test/test_popen2.py @@ -3,12 +3,15 @@ Christian Tismer """ +import os + # popen2 contains its own testing routine # which is especially useful to see if open files # like stdin can be read successfully by a forked # subprocess. def main(): + print "Test popen2 module:" try: from os import popen except ImportError: @@ -19,5 +22,35 @@ def main(): import popen2 popen2._test() -main() +def _test(): + # same test as popen2._test(), but using the os.popen*() API + print "Testing os module:" + import popen2 + cmd = "cat" + teststr = "abc\n" + resultstr = teststr + if os.name == "nt": + cmd = "more" + resultstr = "\n" + resultstr + print "testing popen2..." + w, r = os.popen2(cmd) + w.write(teststr) + w.close() + assert r.read() == resultstr + print "testing popen3..." + try: + w, r, e = os.popen3([cmd]) + except: + w, r, e = os.popen3(cmd) + w.write(teststr) + w.close() + assert r.read() == resultstr + assert e.read() == "" + for inst in popen2._active[:]: + inst.wait() + assert not popen2._active + print "All OK" + +main() +_test() |