ruamel.yaml
has a regression, introduced with a merged PR, that changed code that has essentially different paths for Python versions compiled with wide and narrow Unicode characters.
The regression was not found during the pre-build/commit testing, because the tests, that are executed with tox
were never run on a Python with narrow ('--enable-unicode=ucs2') Unicode characters. My 2.7.X is being compiled with `--enable-unicode=ucs4' and in Python 3.4+ strings have dynamic Unicode width, acting as if they are 4 byte wide for the code involved.
I have compiled a narrow version of 2.7.15. How can I test the narrow version along with the other Python versions (in particular the wide 2.7) in one tox
run, so that when one or more of the Python versions fail, no new version is committed, and no packages are pushed to PyPI?
I tried adding a target py27m
to the interpreter list used by tox-globinterpreter
:
p python2.7m /opt/python/2.7.15m/bin/python
and ran:
tox -r -e py27m
but that did not work, as that used Python 3.6.6 to run the test (which is the interpeter tox
is executed with).
"Overloading" Python 2.6 in the interpreter list to use the narrow 2.7:
p python2.6 /opt/python/2.7.15m/bin/python
didn't work either.