python-qutepart fails to build with Python 3.9.0a2. Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.97T9Gw + umask 022 + cd /builddir/build/BUILD + cd qutepart-3.2.0 + pushd tests ~/build/BUILD/qutepart-3.2.0/tests ~/build/BUILD/qutepart-3.2.0 + rm -f test_all.py + rm test_vim.py + xvfb-run -s '-screen :0 1024x768x16' /usr/bin/python3 -m unittest -vvv test_actions.py test_api.py test_bookmarks.py test_bracket_hlighter.py test_completion.py test_draw_whitespace.py test_edit.py test_indent.py test_indenter test_rectangular_selection.py test_syntax test_1 (test_actions.Print) ... skipped 'Does not work' test_completion_enabled (test_api.Completion) ... /builddir/build/BUILD/qutepart-3.2.0/qutepart/margins.py:78: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. self.update(0, rect.y(), self.width(), rect.height() + blockHeight) /builddir/build/BUILD/qutepart-3.2.0/qutepart/htmldelegate.py:83: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. return QSize(doc.idealWidth(), /builddir/build/BUILD/qutepart-3.2.0/qutepart/completer.py:233: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. return QSize(width, height) ok test_threshold (test_api.Completion) ... ok test_1 (test_api.DetectSyntax) ... ERROR test_1 (test_api.InsertText) ... ok test_2 (test_api.InsertText) ... ok test_3 (test_api.InsertText) ... ok test_1 (test_api.IsCodeOrComment) ... ERROR test_2 (test_api.IsCodeOrComment) ... ERROR test_block_comment (test_api.IsCodeOrComment) ... ERROR test_here_doc (test_api.IsCodeOrComment) ... /usr/bin/xvfb-run: line 181: 471 Aborted (core dumped) DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01162067-python-qutepart/ For all our attempts to build python-qutepart with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-qutepart/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
It's not obvious what exact assertion fails in the mentioned tests because they all contain several assert statements. Propably we'd need to make the log more verbose about that. Trivial fix would be to disable execution of all the failing tests but that wouldn't tell why at all.
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32.
> Propably we'd need to make the log more verbose about that. Any update on that?
(In reply to Miro Hrončok from comment #3) > > Propably we'd need to make the log more verbose about that. > > Any update on that? We could try a rebuild with the new version 3.3.0, see bug #1808142.
Please retry with python-qutepart-3.3.0-1.fc33 .
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-qutepart/ The build failed: + xvfb-run -s '-screen :0 1024x768x16' /usr/bin/python3 -m unittest -vvv test_actions.py test_api.py test_bookmarks.py test_bracket_hlighter.py test_completion.py test_draw_whitespace.py test_edit.py test_indent.py test_indenter test_rectangular_selection.py test_syntax test_1 (test_actions.Print) ... skipped 'Does not work' test_completion_enabled (test_api.Completion) ... /builddir/build/BUILD/qutepart-3.3.0/qutepart/margins.py:78: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. self.update(0, rect.y(), self.width(), rect.height() + blockHeight) /builddir/build/BUILD/qutepart-3.3.0/qutepart/htmldelegate.py:83: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. return QSize(doc.idealWidth(), /builddir/build/BUILD/qutepart-3.3.0/qutepart/completer.py:233: DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. return QSize(width, height) ok test_threshold (test_api.Completion) ... ok test_1 (test_api.DetectSyntax) ... ERROR test_1 (test_api.InsertText) ... ok test_2 (test_api.InsertText) ... ok test_3 (test_api.InsertText) ... ok test_1 (test_api.IsCodeOrComment) ... ERROR test_2 (test_api.IsCodeOrComment) ... ERROR test_block_comment (test_api.IsCodeOrComment) ... ERROR test_here_doc (test_api.IsCodeOrComment) ... /builddir/build/BUILD/qutepart-3.3.0/qutepart/indenter/ruby.py:241: DeprecationWarning: invalid escape sequence \s self.testAtEnd(prevStmt, re.compile(',\s*')) /usr/bin/xvfb-run: line 181: 457 Aborted (core dumped) DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 error: Bad exit status from /var/tmp/rpm-tmp.4daIdx (%check)
I don't understand why there isn't more information given than just "ERROR" for the failing tests. We're already using verbosity=3. https://src.fedoraproject.org/rpms/python-qutepart/blob/master/f/python-qutepart.spec#_84
Reported to upstream.
Upstream answer is CANTFIX, how to proceed? https://github.com/andreikop/qutepart/commit/5c4e09e7cb868e5842a9252696fcad907e3dcef9
In that case, i'd skip the problematic tests and verify manually the package works.
Well, the failing method is part of the core. But it seems to be related mostly to correct syntax detection / highlighting. That shouldn't mean any blocker in usability of this package. I'll disable those tests and rebuild.
Upstream tends to get of python, entirely. https://github.com/andreikop/qutepart-cpp
I'm delegating this to python-qt cause I'm out of any ideas what's going on or how to debug with more deepness inside.
Not enough information to judge, but I'd echo comment #10 and make these tests non-fatal to the build
(In reply to Rex Dieter from comment #14) > Not enough information to judge, but I'd echo comment #10 and make these > tests non-fatal to the build Ack. Well, we've some tests for enki (based on qutepart), so some higherly leveled integration tests can still run, hopefully with success also to the component(s).
Done. Please also try to rebuild enki with the new build of python-qutepart as a dependency as explained in comment #15.
It still fails: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-qutepart/
Argh. How to correctly detect the used python version in a build conditional?
%if 0%{?python3_version_nodots} > 38
All tests are skipped with Python > 3.8.
Cool, thanks. *THUMPS UP*
I'd recommend *unconditionally* disabling these tests, that's what upstream said to do
All is fine again. I'd recommend to wait for next (possible) report with FTBFS and we could easily drop the conditional if needed.