Merge python 3K changes.
authorRobert Collins <robertc@robertcollins.net>
Wed, 27 Apr 2011 04:58:50 +0000 (16:58 +1200)
committerRobert Collins <robertc@robertcollins.net>
Wed, 27 Apr 2011 04:58:50 +0000 (16:58 +1200)
1  2 
NEWS
python/subunit/__init__.py
python/subunit/test_results.py
python/subunit/tests/test_subunit_filter.py

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -43,9 -47,11 +47,15 @@@ IMPROVEMENT
  * Add ``TagCollapsingDecorator`` which collapses many tags() calls into one
    where possible. (Jonathan Lange)
  
 +* ``TestResultFilter`` now supports a ``fixup_expected_failures``
 +  argument. (Jelmer Vernooij, #755241)
 +
++=======
+ CHANGES
+ ~~~~~~~
+ * Newer testtools is needed as part of the Python 3 support. (Robert Collins)
  0.0.6
  -----
  
@@@ -1129,26 -1168,24 +1168,37 @@@ def get_default_formatter()
      if formatter:
          return os.popen(formatter, "w")
      else:
-         return sys.stdout
+         stream = sys.stdout
+         if sys.version_info > (3, 0):
+             stream = stream.buffer
+         return stream
  
  
+ if sys.version_info > (3, 0):
+     from io import UnsupportedOperation as _NoFilenoError
+ else:
+     _NoFilenoError = AttributeError
 +def read_test_list(path):
 +    """Read a list of test ids from a file on disk.
 +
 +    :param path: Path to the file
 +    :return: Sequence of test ids
 +    """
 +    f = open(path, 'rb')
 +    try:
 +        return [l.rstrip("\n") for l in f.readlines()]
 +    finally:
 +        f.close()
 +
 +
  def _make_stream_binary(stream):
      """Ensure that a stream will be binary safe. See _make_binary_on_windows."""
-     if getattr(stream, 'fileno', None) is not None:
-         _make_binary_on_windows(stream.fileno())
+     try:
+         fileno = stream.fileno()
+     except _NoFilenoError:
+         return
+     _make_binary_on_windows(fileno)
  
  def _make_binary_on_windows(fileno):
      """Win32 mangles \r\n to \n and that breaks streams. See bug lp:505078."""
Simple merge