diff options
author | Walter Dörwald <walter@livinglogic.de> | 2007-01-24 00:42:19 (GMT) |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2007-01-24 00:42:19 (GMT) |
commit | 4b884a5cc22de75c5b9e2bf11ace0da83baa58fc (patch) | |
tree | dd96650a469ca0c68f2698db448eabaa04a245eb | |
parent | f5bee30e30687447d9d532dc298ba0793beb4515 (diff) | |
download | cpython-4b884a5cc22de75c5b9e2bf11ace0da83baa58fc.zip cpython-4b884a5cc22de75c5b9e2bf11ace0da83baa58fc.tar.gz cpython-4b884a5cc22de75c5b9e2bf11ace0da83baa58fc.tar.bz2 |
Port test_popen.py to unittest.
-rw-r--r-- | Lib/test/output/test_popen | 3 | ||||
-rw-r--r-- | Lib/test/test_popen.py | 51 |
2 files changed, 29 insertions, 25 deletions
diff --git a/Lib/test/output/test_popen b/Lib/test/output/test_popen deleted file mode 100644 index db2ac06..0000000 --- a/Lib/test/output/test_popen +++ /dev/null @@ -1,3 +0,0 @@ -test_popen -Test popen: -popen seemed to process the command-line correctly diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index fbf5e05..069f370 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -4,10 +4,9 @@ Particularly useful for platforms that fake popen. """ -import os -import sys -from test.test_support import TestSkipped, reap_children -from os import popen +import unittest +from test import test_support +import os, sys # Test that command-lines get down as we expect. # To do this we execute: @@ -17,24 +16,32 @@ from os import popen python = sys.executable if ' ' in python: python = '"' + python + '"' # quote embedded space for cmdline -def _do_test_commandline(cmdline, expected): - cmd = '%s -c "import sys;print sys.argv" %s' % (python, cmdline) - data = popen(cmd).read() - got = eval(data)[1:] # strip off argv[0] - if got != expected: - print "Error in popen commandline handling." - print " executed '%s', expected '%r', but got '%r'" \ - % (cmdline, expected, got) -def _test_commandline(): - _do_test_commandline("foo bar", ["foo", "bar"]) - _do_test_commandline('foo "spam and eggs" "silly walk"', ["foo", "spam and eggs", "silly walk"]) - _do_test_commandline('foo "a \\"quoted\\" arg" bar', ["foo", 'a "quoted" arg', "bar"]) - print "popen seemed to process the command-line correctly" +class PopenTest(unittest.TestCase): + def _do_test_commandline(self, cmdline, expected): + cmd = '%s -c "import sys;print sys.argv" %s' % (python, cmdline) + data = os.popen(cmd).read() + got = eval(data)[1:] # strip off argv[0] + self.assertEqual(got, expected) -def main(): - print "Test popen:" - _test_commandline() - reap_children() + def test_popen(self): + self.assertRaises(TypeError, os.popen) + self._do_test_commandline( + "foo bar", + ["foo", "bar"] + ) + self._do_test_commandline( + 'foo "spam and eggs" "silly walk"', + ["foo", "spam and eggs", "silly walk"] + ) + self._do_test_commandline( + 'foo "a \\"quoted\\" arg" bar', + ["foo", 'a "quoted" arg', "bar"] + ) + test_support.reap_children() -main() +def test_main(): + test_support.run_unittest(PopenTest) + +if __name__ == "__main__": + test_main() |