diff options
Diffstat (limited to 'Lib/test/test_popen.py')
-rw-r--r-- | Lib/test/test_popen.py | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index da01a87..82d4621 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -4,25 +4,20 @@ """ import unittest -from test import support +from test import test_support import os, sys # Test that command-lines get down as we expect. # To do this we execute: -# python -c "import sys;print(sys.argv)" {rest_of_commandline} +# python -c "import sys;print sys.argv" {rest_of_commandline} # This results in Python being spawned and printing the sys.argv list. # We can then eval() the result of this, and see what each argv was. python = sys.executable -if ' ' in python: - python = '"' + python + '"' # quote embedded space for cmdline class PopenTest(unittest.TestCase): - def _do_test_commandline(self, cmdline, expected): - cmd = '%s -c "import sys; print(sys.argv)" %s' - cmd = cmd % (python, cmdline) - with os.popen(cmd) as p: - data = p.read() + cmd = '%s -c "import sys;print sys.argv" %s' % (python, cmdline) + data = os.popen(cmd).read() + '\n' got = eval(data)[1:] # strip off argv[0] self.assertEqual(got, expected) @@ -40,7 +35,7 @@ class PopenTest(unittest.TestCase): 'foo "a \\"quoted\\" arg" bar', ["foo", 'a "quoted" arg', "bar"] ) - support.reap_children() + test_support.reap_children() def test_return_code(self): self.assertEqual(os.popen("exit 0").close(), None) @@ -49,17 +44,8 @@ class PopenTest(unittest.TestCase): else: self.assertEqual(os.popen("exit 42").close(), 42 << 8) - def test_contextmanager(self): - with os.popen("echo hello") as f: - self.assertEqual(f.read(), "hello\n") - - def test_iterating(self): - with os.popen("echo hello") as f: - self.assertEqual(list(f), ["hello\n"]) - - def test_keywords(self): - with os.popen(cmd="exit 0", mode="w", buffering=-1): - pass +def test_main(): + test_support.run_unittest(PopenTest) if __name__ == "__main__": - unittest.main() + test_main() |