Subject: python-zope-exceptions: Build failure (in test_multiline_exception test) with Python 3.10
From: Ivan Vilata i Balaguer <[email-masked]>
To: [email-masked]
Date: Mon, 22 May 2023 18:57:12 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!  Building `python-zope-exceptions` 4.4 fails in the version of Guix shown below:

```
$ LANG=C guix describe
Generation 56   May 02 2023 11:25:26    (current)
  guix 3f8c489
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 3f8c4899a9a67bb509a603bd21dcfcfab88c0e8e
```

It looks like a Python 3.10 issue fixed in a newer upstream version.  This is
the final part of the build log:

```
starting phase `check'
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.

Failure in test test_multiline_exception (zope.exceptions.tests.test_exceptionformatter.Test_format_exception)
Traceback (most recent call last):
  File "/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/gnu/store/yflssryyj355226m2nq5m4971s88cmpz-python-zope-exceptions-bootstrap-4.4/lib/python3.10/site-packages/zope/exceptions/tests/test_exceptionformatter.py", line 670, in test_multiline_exception
    self.assertTrue(lines[1].endswith('    ^'))
  File "/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/unittest/case.py", line 687, in assertTrue
    raise self.failureException(msg)
AssertionError: False is not true
```

Looking at the failing line, it looks like the commit below fixed it for
Python 3.10 compatibility:
<https://github.com/zopefoundation/zope.exceptions/commit/cb2d21400c95b73909b1145674c08fed31b8759a>

Probably version >= 4.5 of the package (which claims "Add official support for
Python 3.9 and 3.10." does work (I've been unable to figure out the proper
`--with-XXXX` incantation to assert that).

Thanks!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/