GNU bug report logs -
#38824
[PATCH] gnu: mercurial: Update to 5.2.1.
Previous Next
Reported by: Roel Janssen <roel <at> gnu.org>
Date: Mon, 30 Dec 2019 21:57:01 UTC
Severity: normal
Tags: patch
Done: Brett Gilio <brettg <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
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 <roel <at> gnu.org> 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
[test-output.txt (text/plain, attachment)]
This bug report was last modified 5 years and 128 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.