Trying to merge trunk@HEAD into branches/swig-py3, the py2 tests pass
but the py3 tests fail:

[[[
............................................E/usr/lib/python3.5/unittest/case.py:629:
 ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpt0y_m2lx'>
  outcome.errors.clear()
E/usr/lib/python3.5/unittest/case.py:629: ResourceWarning: unclosed file 
<_io.BufferedWriter name='/tmp/tmpnxp8y69m'>
  outcome.errors.clear()
...................................................................................
======================================================================
ERROR: test_diff_repos_paths_external (fs.SubversionFSTestCase)
Test diffing of a repository path using an external diff (if available).
----------------------------------------------------------------------
⋮
======================================================================
ERROR: test_diff_repos_paths_internal (fs.SubversionFSTestCase)
Test diffing of a repository path using the internal diff.
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/home/daniel/in/svn/swig-py3/subversion/bindings/swig/python/tests/fs.py", 
line 93, in test_diff_repos_paths_internal
    diffp = fdiff.get_pipe()
  File 
"/home/daniel/in/svn/swig-py3/subversion/bindings/swig/python/tests/../svn/fs.py",
 line 113, in get_pipe
    self.get_files()
  File 
"/home/daniel/in/svn/swig-py3/subversion/bindings/swig/python/tests/../svn/fs.py",
 line 107, in get_files
    self._dump_contents(self.tempfile1, self.root1, self.path1)
  File 
"/home/daniel/in/svn/swig-py3/subversion/bindings/swig/python/tests/../svn/fs.py",
 line 92, in _dump_contents
    fp.write(chunk)
TypeError: a bytes-like object is required, not 'str'

----------------------------------------------------------------------
Ran 129 tests in 2.203s
]]]

The relevant revisions being merged are:

% svn mergeinfo --show-revs eligible 
{../trunk,../swig-py3}/subversion/bindings/swig/ | me
r1823802 - Ensure Python bindings for fs.FileDiff behaves correctly when the 
python-future package is installed.
r1824410 - Fix Python unit test, fs.SubversionFSTestCase, on Windows.
r1825316 - Update external 'diff' command test for svn.fs.FileDiff() to depend 
on presence of the command instead of testing for 'win32' platform.
% 

(OT: it'd be nice to have an 'svn log' mode that shows just the first
line/paragraph of each listed revision, as above)

The first two revisions changed open() call modes to use binary mode,
which is likely the cause of the bytes/str mismatch.  However, looking
into it —

    >>> sys.version_info.major
    3
    >>> from svn.core import *
    >>> e = svn_stream_empty()
    >>> svn_stream_read(e, 5)
    ''
    >>> 

— shouldn't svn_stream_read() return bytes under py3?

Cheers,

Daniel

Reply via email to