On Fri, May 15, 2020 at 11:27 AM Jun Omae <jun6...@gmail.com> wrote: > > On Wed, May 13, 2020 at 5:56 PM Jun Omae <jun6...@gmail.com> wrote: > > At least, I think we should use python_d.exe when debug configuration. > > ... > > Python bindings with debug configuration for Python 3.x has something wrong. > > > > [[[ > > -- Running Swig Python tests -- > > Traceback (most recent call last): > > File "C:\usr\src\subversion\trunk-py3\Debug\swig\pylib\libsvn\core.py", > > line 14, in swig_import_helper > > return importlib.import_module(mname) > > File "C:\usr\apps\python37\lib\importlib\__init__.py", line 127, in > > import_module > > return _bootstrap._gcd_import(name[level:], package, level) > > File "<frozen importlib._bootstrap>", line 1006, in _gcd_import > > File "<frozen importlib._bootstrap>", line 983, in _find_and_load > > File "<frozen importlib._bootstrap>", line 965, in > > _find_and_load_unlocked > > ModuleNotFoundError: No module named 'libsvn._core' > > ]]] > > According to Build and C API Changes in Python 3.5 [1], extension module > should end with > `{name}_d.pyd` rather than `{name}.pyd` in debug mode. > > After py35-windows-debug-pyd.diff, win-tests.py --debug --swig=python is able > to run tests. > > On Python 3.7.7 with SWIG 3.0.12, the following assertion raises. The > assertion has been > reported and in SWIG #1321 [2] and fixed in SWIG 4.0.1. > > [[[ > Testing Debug configuration on local repository. > -- Running Swig Python tests -- > .............................Fatal Python error: ..\Objects\dictobject.c:1905 > object at 0000018C25A37C28 has negative ref count -2459565876494606884 > ]]] > > > On Python 3.7.7 with SWIG 4.0.1, another assertion raises. > > [[[ > Testing Debug configuration on local repository. > -- Running Swig Python tests -- > Assertion failed: PyTuple_Check(args), file ..\Objects\typeobject.c, line 3670 > [Test runner reported failure] > ]]] > > > [1] https://docs.python.org/3/whatsnew/3.5.html#build-and-c-api-changes > [2] https://github.com/swig/swig/issues/1321
Thanks. Another step forward. If I apply your patch, I get this assertion with Python 3.8.2 and SWIG 3.0.12: [[[ C:\research\svn\dev\trunk>python win-tests.py --log-level=DEBUG --debug --swig=python R:\test_py Testing Debug configuration on local repository. -- Running Swig Python tests -- Assertion failed: PyTuple_Check(args), file d:\a\1\s\objects\typeobject.c, line 3707 [Test runner reported failure] ]]] I don't see the other assertion that you got with SWIG 3.0.12. Perhaps because I'm using Python 3.8.2? Or because I'm using the 32-bit builds? I don't know. -- Johan