[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
test-output.txt
Description: Text document