mirror of
https://github.com/python/cpython.git
synced 2025-09-25 01:43:11 +00:00
Cross platform unittest.TestResult newline handling when buffering stdout / stderr.
This commit is contained in:
parent
1c7c11ef61
commit
9b4ee12e89
2 changed files with 15 additions and 15 deletions
|
@ -19,9 +19,8 @@ def failfast(method):
|
|||
return method(self, *args, **kw)
|
||||
return inner
|
||||
|
||||
NEWLINE = os.linesep
|
||||
STDOUT_LINE = '%sStdout:%s%%s' % (NEWLINE, NEWLINE)
|
||||
STDERR_LINE = '%sStderr:%s%%s' % (NEWLINE, NEWLINE)
|
||||
STDOUT_LINE = '\nStdout:\n%s'
|
||||
STDERR_LINE = '\nStderr:\n%s'
|
||||
|
||||
|
||||
class TestResult(object):
|
||||
|
@ -77,12 +76,12 @@ class TestResult(object):
|
|||
output = sys.stdout.getvalue()
|
||||
error = sys.stderr.getvalue()
|
||||
if output:
|
||||
if not output.endswith(NEWLINE):
|
||||
output += NEWLINE
|
||||
if not output.endswith('\n'):
|
||||
output += '\n'
|
||||
self._original_stdout.write(STDOUT_LINE % output)
|
||||
if error:
|
||||
if not error.endswith(NEWLINE):
|
||||
error += NEWLINE
|
||||
if not error.endswith('\n'):
|
||||
error += '\n'
|
||||
self._original_stderr.write(STDERR_LINE % error)
|
||||
|
||||
sys.stdout = self._original_stdout
|
||||
|
@ -158,12 +157,12 @@ class TestResult(object):
|
|||
output = sys.stdout.getvalue()
|
||||
error = sys.stderr.getvalue()
|
||||
if output:
|
||||
if not output.endswith(NEWLINE):
|
||||
output += NEWLINE
|
||||
if not output.endswith('\n'):
|
||||
output += '\n'
|
||||
msgLines.append(STDOUT_LINE % output)
|
||||
if error:
|
||||
if not error.endswith(NEWLINE):
|
||||
error += NEWLINE
|
||||
if not error.endswith('\n'):
|
||||
error += '\n'
|
||||
msgLines.append(STDERR_LINE % error)
|
||||
return ''.join(msgLines)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue