diff options
Diffstat (limited to 'Lib/test/test_popen2.py')
-rw-r--r-- | Lib/test/test_popen2.py | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/Lib/test/test_popen2.py b/Lib/test/test_popen2.py deleted file mode 100644 index 023871f598..0000000000 --- a/Lib/test/test_popen2.py +++ /dev/null @@ -1,98 +0,0 @@ -#! /usr/bin/env python -"""Test script for popen2.py""" - -import warnings -warnings.filterwarnings("ignore", ".*popen2 module is deprecated.*", - DeprecationWarning) -warnings.filterwarnings("ignore", "os\.popen. is deprecated.*", - DeprecationWarning) - -import os -import sys -import unittest -import popen2 - -from test.test_support import TestSkipped, run_unittest, reap_children - -if sys.platform[:4] == 'beos' or sys.platform[:6] == 'atheos': - # Locks get messed up or something. Generally we're supposed - # to avoid mixing "posix" fork & exec with native threads, and - # they may be right about that after all. - raise TestSkipped("popen2() doesn't work on " + sys.platform) - -# if we don't have os.popen, check that -# we have os.fork. if not, skip the test -# (by raising an ImportError) -try: - from os import popen - del popen -except ImportError: - from os import fork - del fork - -class Popen2Test(unittest.TestCase): - cmd = "cat" - if os.name == "nt": - cmd = "more" - teststr = "ab cd\n" - # "more" doesn't act the same way across Windows flavors, - # sometimes adding an extra newline at the start or the - # end. So we strip whitespace off both ends for comparison. - expected = teststr.strip() - - def setUp(self): - popen2._cleanup() - # When the test runs, there shouldn't be any open pipes - self.assertFalse(popen2._active, "Active pipes when test starts" + - repr([c.cmd for c in popen2._active])) - - def tearDown(self): - for inst in popen2._active: - inst.wait() - popen2._cleanup() - self.assertFalse(popen2._active, "_active not empty") - reap_children() - - def validate_output(self, teststr, expected_out, r, w, e=None): - w.write(teststr) - w.close() - got = r.read() - self.assertEquals(expected_out, got.strip(), "wrote %r read %r" % - (teststr, got)) - - if e is not None: - got = e.read() - self.assertFalse(got, "unexpected %r on stderr" % got) - - def test_popen2(self): - r, w = popen2.popen2(self.cmd) - self.validate_output(self.teststr, self.expected, r, w) - - def test_popen3(self): - if os.name == 'posix': - r, w, e = popen2.popen3([self.cmd]) - self.validate_output(self.teststr, self.expected, r, w, e) - - r, w, e = popen2.popen3(self.cmd) - self.validate_output(self.teststr, self.expected, r, w, e) - - def test_os_popen2(self): - # same test as test_popen2(), but using the os.popen*() API - w, r = os.popen2(self.cmd) - self.validate_output(self.teststr, self.expected, r, w) - - def test_os_popen3(self): - # same test as test_popen3(), but using the os.popen*() API - if os.name == 'posix': - w, r, e = os.popen3([self.cmd]) - self.validate_output(self.teststr, self.expected, r, w, e) - - w, r, e = os.popen3(self.cmd) - self.validate_output(self.teststr, self.expected, r, w, e) - - -def test_main(): - run_unittest(Popen2Test) - -if __name__ == "__main__": - test_main() |