Zim fails to build with Python 3.11.0a3. ====================================================================== ERROR: testDumpWiki (tests.imagegenerators.TestBackwardImageGeneratorNoPlugins) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/imagegenerators.py", line 50, in testDumpWiki self.assertEquals(text, ['{{./test.png?type=equation}}\n']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestBackwardImageGeneratorNoPlugins' object has no attribute 'assertEquals' ====================================================================== ERROR: testLoadAndDump (tests.tableeditor.TestPageViewNoPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 150, in testLoadAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestPageViewNoPlugin' object has no attribute 'assertEquals' ====================================================================== ERROR: testLoadAndDump (tests.tableeditor.TestPageViewWithPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 150, in testLoadAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestPageViewWithPlugin' object has no attribute 'assertEquals' ====================================================================== ERROR: testModelFromData (tests.tableeditor.TestTableObjectType) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 135, in testModelFromData self.assertEquals(''.join(WikiDumper().dump(tree)), TABLE_WIKI_TEXT[1:-1]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestTableObjectType' object has no attribute 'assertEquals' ====================================================================== ERROR: testModelFromElement (tests.tableeditor.TestTableObjectType) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 121, in testModelFromElement self.assertEquals(''.join(WikiDumper().dump(tree)), TABLE_WIKI_TEXT[1:-1]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestTableObjectType' object has no attribute 'assertEquals' ====================================================================== ERROR: testObectText (tests.tableeditor.TestWikiSyntaxNoPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 93, in testObectText self.parseAndDump(TABLE_OBJECT_TEXT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 84, in parseAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestWikiSyntaxNoPlugin' object has no attribute 'assertEquals' ====================================================================== ERROR: testWikiText (tests.tableeditor.TestWikiSyntaxNoPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 87, in testWikiText self.parseAndDump(TABLE_WIKI_TEXT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 84, in parseAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestWikiSyntaxNoPlugin' object has no attribute 'assertEquals' ====================================================================== ERROR: testObectText (tests.tableeditor.TestWikiSyntaxWithPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 93, in testObectText self.parseAndDump(TABLE_OBJECT_TEXT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 84, in parseAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestWikiSyntaxWithPlugin' object has no attribute 'assertEquals' ====================================================================== ERROR: testWikiText (tests.tableeditor.TestWikiSyntaxWithPlugin) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 87, in testWikiText self.parseAndDump(TABLE_WIKI_TEXT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/zim-0.74.2/tests/tableeditor.py", line 84, in parseAndDump self.assertEquals(list(tree.iter_tokens()), TABLE_TOKENS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'TestWikiSyntaxWithPlugin' object has no attribute 'assertEquals' ====================================================================== FAIL: runTest (tests.config.TestControlledDict) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/zim-0.74.2/tests/config.py", line 256, in runTest self.assertTrue(mydict.modified) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: False is not true ---------------------------------------------------------------------- Ran 891 tests in 34.647s FAILED (failures=1, errors=9, skipped=34, expected failures=21) Removed many old deprecated unittest features: TestCase method aliases failUnlessEqual, failIfEqual, failUnless, failIf, failUnlessRaises, failUnlessAlmostEqual, failIfAlmostEqual (deprecated in Python 3.1), assertEquals, assertNotEquals, assert_, assertAlmostEquals, assertNotAlmostEquals, assertRegexpMatches, assertRaisesRegexp (deprecated in Python 3.2), and assertNotRegexpMatches (deprecated in Python 3.5). https://bugs.python.org/issue45162 https://docs.python.org/3.11/whatsnew/3.11.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.11/fedora-rawhide-x86_64/03051951-Zim/ For all our attempts to build Zim with Python 3.11, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/package/Zim/ 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.11: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/ Let us know here if you have any questions. Python 3.11 is planned to be included in Fedora 37. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.11. 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.
Upstream PR: https://github.com/zim-desktop-wiki/zim-desktop-wiki/pull/1856
Was already fixed in their develop branch: https://github.com/zim-desktop-wiki/zim-desktop-wiki/pull/1856#issuecomment-1012259224 https://github.com/zim-desktop-wiki/zim-desktop-wiki/pull/1821
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle. Changing version to 36.
Removal of unittest aliases was reverted in Python 3.11 and will be part of Python 3.12, so the above failure is not present anymore, thus I am closing this bugzilla. However, this will be needed next year though so I encourage you to communicate with the upstream about it.