On Fri, 2020-01-03 at 17:02 -0600, Brett Gilio wrote: > We do have a python-nose package. Is this different from the > nose unit mentioned in the rationale for disabling the tests? I can confirm Roel Janssen's guess that python-nose is the relevant package and that it provides the nose unit test runner. Roel Janssen writes: > I don't know much about Python, so I'm not sure whether the test > suite just hasn't been made Python-3-compatible, or whether it's > something else, and whether this has always been a problem, or > whether it was introduced by this update. From https://www.mercurial-scm.org/wiki/Python3 as of this writing: > Mercurial 5.2 is the first release that officially has support > for Python 3. Supported Python 3 versions are 3.5, 3.6, and > 3.7. Python 3.8 mostly works, but there are a few known > incompatibilities. Mercurial with Python 3 on Windows is not yet > widely tested and there are some known issues. > It is the project policy for Mercurial and its core extensions > to be compatible with Python 3. Over 99% of tests pass with > Python 3 and test regressions are treated seriously. > Most used 3rd party extensions like evolve and topic have been > ported to Python 3. There are some which have not yet been > ported. > Assuming Windows porting proceeds well, it is expected we will > drop support for Python 2.7 sometime in 2020. The output I obtained from running `python3 -m nose` in the repository's root is attached. Looking at e.g. mercurial/pycompat.py shows that Mercurial's devs are indeed aware of these Python3 compatibility issues: > # TODO: .buffer might not exist if std streams were replaced; > we'll need > # a silly wrapper to make a bytes stream backed by a unicode > one. I think that for now the options are to 1. continue using Python2 for Mercurial; 2. use Python3 but disable all tests, as Janssen's patch suggests; 3. use Python3 but disable the known-failing tests; or 4. hold off on updating the package until upstream supports Python3 across its entire test suite. Of those three, I am most in favor of the third option. I would be glad to submit a patch that implements it if there is agreement to take that direction. -- Joseph LaFreniere