Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: tests/subprocess2_test.py

Issue 14643009: Don't discard stderr. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Remove debugging print statements Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « subprocess2.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Unit tests for subprocess2.py.""" 6 """Unit tests for subprocess2.py."""
7 7
8 import logging 8 import logging
9 import optparse 9 import optparse
10 import os 10 import os
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 319
320 def test_redirect_stderr_to_stdout(self): 320 def test_redirect_stderr_to_stdout(self):
321 def fn(c, e, un, subp): 321 def fn(c, e, un, subp):
322 # stderr output into stdout but stdout is not piped. 322 # stderr output into stdout but stdout is not piped.
323 proc = subp.Popen( 323 proc = subp.Popen(
324 e + ['--stderr'], stderr=STDOUT, universal_newlines=un) 324 e + ['--stderr'], stderr=STDOUT, universal_newlines=un)
325 res = proc.communicate(), proc.returncode 325 res = proc.communicate(), proc.returncode
326 self._check_res(res, None, None, 0) 326 self._check_res(res, None, None, 0)
327 self._run_test(fn) 327 self._run_test(fn)
328 328
329 def test_stderr(self):
330 cmd = ['expr', '1', '/', '0']
331 p1 = subprocess.Popen(cmd, stderr=subprocess.PIPE)
332 p2 = subprocess2.Popen(cmd, stderr=subprocess.PIPE)
333 r1 = p1.communicate()
334 r2 = p2.communicate(timeout=100)
335 self.assertEquals(r1, r2)
336
329 337
330 class S2Test(BaseTestCase): 338 class S2Test(BaseTestCase):
331 # Tests that can only run in subprocess2, e.g. new functionalities. 339 # Tests that can only run in subprocess2, e.g. new functionalities.
332 # In particular, subprocess2.communicate() doesn't exist in subprocess. 340 # In particular, subprocess2.communicate() doesn't exist in subprocess.
333 def _run_test(self, function): 341 def _run_test(self, function):
334 """Runs tests in 6 combinations: 342 """Runs tests in 6 combinations:
335 - LF output with universal_newlines=False 343 - LF output with universal_newlines=False
336 - CR output with universal_newlines=False 344 - CR output with universal_newlines=False
337 - CRLF output with universal_newlines=False 345 - CRLF output with universal_newlines=False
338 - LF output with universal_newlines=True 346 - LF output with universal_newlines=True
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 return options.return_value 650 return options.return_value
643 651
644 652
645 if __name__ == '__main__': 653 if __name__ == '__main__':
646 logging.basicConfig(level= 654 logging.basicConfig(level=
647 [logging.WARNING, logging.INFO, logging.DEBUG][ 655 [logging.WARNING, logging.INFO, logging.DEBUG][
648 min(2, sys.argv.count('-v'))]) 656 min(2, sys.argv.count('-v'))])
649 if len(sys.argv) > 1 and sys.argv[1] == '--child': 657 if len(sys.argv) > 1 and sys.argv[1] == '--child':
650 sys.exit(child_main(sys.argv[2:])) 658 sys.exit(child_main(sys.argv[2:]))
651 unittest.main() 659 unittest.main()
OLDNEW
« no previous file with comments | « subprocess2.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698