guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#38824] [PATCH] gnu: mercurial: Update to 5.2.1.


From: LaFreniere, Joseph
Subject: [bug#38824] [PATCH] gnu: mercurial: Update to 5.2.1.
Date: Sun, 05 Jan 2020 00:15:44 -0600

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 <address@hidden> 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

Attachment: test-output.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]