[Pytest-commit] Issue #345: PyPy3 5.2 (hpk42/tox)

John Vandenberg issues-reply at bitbucket.org
Wed Jul 13 10:10:31 EDT 2016


New issue 345: PyPy3 5.2
https://bitbucket.org/hpk42/tox/issues/345/pypy3-52

John Vandenberg:

PyPy3 5.2 is in alpha releases now, targeting Python 3.3.5 compatibility
http://doc.pypy.org/en/latest/release-pypy3.3-v5.2-alpha1.html

It installs a `pypy3.3` binary with a `pypy3` symlink.
It seems that vendors may be happy to replace their 'pypy3' package that is PyPy 2.4
https://packages.gentoo.org/packages/virtual/pypy3
https://bugzilla.redhat.com/show_bug.cgi?id=1353595

In which case, there is a strong argument that the `tox.config.default_factors` entry for `pypy3` should continue to point to executable `pypy3`, which could be either PyPy 2.4 or PyPy 5.2 depending on which is in the `PATH` first.

However that means that `pypy3` factor maps to either Python lang 3.2 or 3.3, which are two very different beasts.  There will be many packages that can support the new PyPy3 5.2 , but do not intend to support the old `pypy3`, and they would normally describe that in `tox.ini` `envlist` by listing a default factor for each supported version.

And then what happens when PyPy releases a Python lang 3.4 compatible version.  Is it also `pypy3`?

One alternative is to add `pypy3x` default factors, pointing at executables `pypy3.x`, which PyPy3 installs by default (and pypy2.7 for that matter).

Another is to detect PyPy language compatibility and map them to both factor `py3x` and factor `pypy3`, so that e.g. env `py32-pypy3` and `py33-pypy3` can be used if someone needs to distinguish between the two, and they will also fall back to a `pypy3` env if it exists, or py32 or py33 if those factors are used in an env name.




More information about the pytest-commit mailing list