Repository: edwardgeorge/virtualenv-clone (language: python)

Issue:
Can't build package with python 3.9
Can't build python3-module-virtualenv-clone with new python version.


```
tests/test_virtualenv_sys.py::TestVirtualenvSys::test_clone_syspath FAILED [ 83%]
tests/test_virtualenv_sys.py::TestVirtualenvSys::test_clone_version FAILED [ 88%]
tests/test_virtualenv_sys.py::TestVirtualenvSys::test_virtualenv_syspath FAILED [ 94%]
tests/test_virtualenv_sys.py::TestVirtualenvSys::test_virtualenv_versions FAILED [100%]

=================================== FAILURES ===================================`
_____________________ TestVirtualenvSys.test_clone_syspath _____________________

self = <tests.test_virtualenv_sys.TestVirtualenvSys testMethod=test_clone_syspath>

    def test_clone_syspath(self):
        """
        Verify syspath for cloned virtualenvs`
    
        This really is a test for fixup_syspath as well
        """
       `for version in start_version_test():`

tests/test_virtualenv_sys.py:72: 

    def start_version_test():
        ran_once = False
        for version in versions:
            # create a virtualenv
            if subprocess.call(['virtualenv3', '-p', 'python' + version,
                                venv_path]) != 0:
                continue
    
            ran_once = True
            yield version
    
       assert ran_once, "All versions were skipped."
       AssertionError: All versions were skipped.
       assert False

tests/test_virtualenv_sys.py:20: AssertionError

----------------------------- Captured stdout call -----------------------------
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python2.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.4'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.5'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
_____________________ TestVirtualenvSys.test_clone_version _____________________


self = <tests.test_virtualenv_sys.TestVirtualenvSys testMethod=test_clone_version>

    def test_clone_version(self):
        """Verify version for cloned virtualenvs"""
       for version in start_version_test():

tests/test_virtualenv_sys.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def start_version_test():
        ran_once = False
        for version in versions:
            # create a virtualenv
            if subprocess.call(['virtualenv3', '-p', 'python' + version,
                                venv_path]) != 0:
                continue
    
            ran_once = True
            yield version
    
       assert ran_once, "All versions were skipped."
       AssertionError: All versions were skipped.
       assert False

tests/test_virtualenv_sys.py:20: AssertionError
----------------------------- Captured stdout call -----------------------------
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python2.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.4'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.5'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
__________________ TestVirtualenvSys.test_virtualenv_syspath ___________________

self = <tests.test_virtualenv_sys.TestVirtualenvSys testMethod=test_virtualenv_syspath>

    def test_virtualenv_syspath(self):
        """Verify syspath for created virtualenvs"""
>       for version in start_version_test():

tests/test_virtualenv_sys.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def start_version_test():
        ran_once = False
        for version in versions:
            # create a virtualenv
            if subprocess.call(['virtualenv3', '-p', 'python' + version,
                                venv_path]) != 0:
                continue
    
            ran_once = True
            yield version
    
       assert ran_once, "All versions were skipped."
       AssertionError: All versions were skipped.
       assert False

tests/test_virtualenv_sys.py:20: AssertionError
----------------------------- Captured stdout call -----------------------------
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python2.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.4'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.5'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
__________________ TestVirtualenvSys.test_virtualenv_versions __________________

self = <tests.test_virtualenv_sys.TestVirtualenvSys testMethod=test_virtualenv_versions>

    def test_virtualenv_versions(self):
        """Verify version for created virtualenvs"""
       for version in start_version_test():

tests/test_virtualenv_sys.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def start_version_test():
        ran_once = False
        for version in versions:
            # create a virtualenv
            if subprocess.call(['virtualenv3', '-p', 'python' + version,
                                venv_path]) != 0:
                continue
    
            ran_once = True
            yield version
    
       assert ran_once, "All versions were skipped."
       AssertionError: All versions were skipped.
       assert False

tests/test_virtualenv_sys.py:20: AssertionError
----------------------------- Captured stdout call -----------------------------
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python2.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.4'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.5'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
=========================== short test summary info ============================
FAILED tests/test_virtualenv_sys.py::TestVirtualenvSys::test_clone_syspath - ...
FAILED tests/test_virtualenv_sys.py::TestVirtualenvSys::test_clone_version - ...
FAILED tests/test_virtualenv_sys.py::TestVirtualenvSys::test_virtualenv_syspath
FAILED tests/test_virtualenv_sys.py::TestVirtualenvSys::test_virtualenv_versions
======================== 4 failed, 14 passed in 22.94s =========================
ERROR: InvocationError for command /usr/src/RPM/BUILD/python3-module-virtualenv-clone-0.5.4/.tox/py39/bin/py.test -v (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py39: commands failed


```
**python version:** 3.9.2
**virtualenv-clone version:** 0.5.3


Discussion / hints:

Fix patch:
diff --git a/.travis.yml b/.travis.yml
index d572f37..02943f7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,7 @@ python:
   -   "3.6"
   -   "3.7"
   -   "3.8"
+  -   "3.9"
 dist: xenial
 sudo: true
 
diff --git a/setup.py b/setup.py
index 3bcafaf..fb25427 100644
--- a/setup.py
+++ b/setup.py
@@ -56,6 +56,7 @@ def run_tests(self):
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
     ],
     tests_require=test_requirements,
     cmdclass={'test': ToxTest}
diff --git a/tox.ini b/tox.ini
index 7a02d3f..1a740ba 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py27,py34,py35,py36,py37,py38
+envlist = py27,py34,py35,py36,py37,py38,py39
 
 [testenv]
 commands = py.test -v []


Test patch:
diff --git a/tests/__init__.py b/tests/__init__.py
index 5dc8b12..be30696 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -8,7 +8,7 @@
 tmplocation = tempfile.mkdtemp()
 venv_path = os.path.realpath(os.path.join(tmplocation,'srs_venv'))
 clone_path = os.path.realpath(os.path.join(tmplocation,'clone_venv'))
-versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8']
+versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9']
 
 def clean():
     if os.path.exists(tmplocation): shutil.rmtree(tmplocation)