summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernát Gábor <gaborjbernat@gmail.com>2021-07-14 10:25:57 +0100
committerBernát Gábor <gaborjbernat@gmail.com>2021-07-14 11:18:59 +0100
commit91dfd3e8bdf95ca2992d675162619036345120d4 (patch)
treee62c1a9da11eced55320c16cd4ec9be2c522ca3d
parenteba921aa6a01b19ea934ab7524e79c18d1c71c94 (diff)
downloadtox-git-91dfd3e8bdf95ca2992d675162619036345120d4.tar.gz
Add Python3.10 to CI and handle distutils deprecation
Signed-off-by: Bernát Gábor <gaborjbernat@gmail.com>
-rw-r--r--azure-pipelines.yml6
-rw-r--r--src/tox/helper/get_site_package_dir.py18
-rw-r--r--tox.ini4
3 files changed, 24 insertions, 4 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index bf87abb3..2c4b8435 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -38,6 +38,10 @@ jobs:
key: pre-commit | .pre-commit-config.yaml
path: $(PRE_COMMIT_HOME)
docs: null
+ py310:
+ image: [ linux ]
+ py39:
+ image: [ linux, windows, macOs ]
py38:
image: [linux, windows, macOs]
py27:
@@ -56,7 +60,7 @@ jobs:
package_description: null
coverage:
with_toxenv: 'coverage' # generate .tox/.coverage, .tox/coverage.xml after test run
- for_envs: [py38, py37, py36, py35, py27, pypy3, pypy]
+ for_envs: [py310, py39, py38, py37, py36, py35, py27, pypy3, pypy]
before:
- task: UsePythonVersion@0
condition: and(succeeded(), in(variables['TOXENV'], 'pypy'))
diff --git a/src/tox/helper/get_site_package_dir.py b/src/tox/helper/get_site_package_dir.py
index 942c8575..adb6ca1d 100644
--- a/src/tox/helper/get_site_package_dir.py
+++ b/src/tox/helper/get_site_package_dir.py
@@ -3,6 +3,20 @@ from __future__ import unicode_literals
import json
import sys
import sysconfig
+import warnings
-data = json.dumps({"dir": sysconfig.get_path("purelib", vars={"base": sys.argv[1]})})
-print(data)
+dest_prefix = sys.argv[1]
+with warnings.catch_warnings(): # disable warning for PEP-632
+ warnings.simplefilter("ignore")
+ try:
+ import distutils.sysconfig
+
+ data = distutils.sysconfig.get_python_lib(prefix=dest_prefix)
+ except ImportError: # if removed or not installed ignore
+ config_vars = {
+ k: dest_prefix if any(v == p for p in (sys.prefix, sys.base_prefix)) else v
+ for k, v in sysconfig.get_config_vars().items()
+ }
+ data = sysconfig.get_path("purelib", vars=config_vars)
+
+print(json.dumps({"dir": data}))
diff --git a/tox.ini b/tox.ini
index f999c498..f777dd53 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,6 +4,8 @@ envlist = py27,
py36,
py37,
py38,
+ py39,
+ py310,
pypy,
pypy3,
coverage,
@@ -93,7 +95,7 @@ commands = coverage combine
coverage xml -o {toxworkdir}/coverage.xml
coverage html -d {toxworkdir}/htmlcov
diff-cover --compare-branch {env:DIFF_AGAINST:origin/master} {toxworkdir}/coverage.xml
-depends = py27, py34, py35, py36, py37, py38, pypy, pypy3
+depends = py27, py35, py36, py37, py38, py39, py310, pypy, pypy3
parallel_show_output = True
[testenv:exit_code]