DMTF/python-redfish-library

tox unittest fails for Python 3.4

billdodd opened this issue · 0 comments

Python 3.4 has reached end-of-life and many recent packages no longer support Python 3.4.

In our tox unittest environment, one such package is testtools. The latest version, 2.4.0, no longer supports Python 3.4, so the environment setup fails as seen in the log output below.

Options to fix:

  1. Disable the 3.4 tox testing
  2. Add a [testenv:py34] clause in tox.ini with explicit version requirements (if we do this, we need to be prepared to update it multiple times as more packages drop 3.4 support)
$ python --version
Python 3.4.8
$ pip --version
pip 18.1 from /home/travis/virtualenv/python3.4.8/lib/python3.4/site-packages/pip (python 3.4)
before_install.1
1.57s$ pip install -U pip
before_install.2
1.44s$ pip install -U setuptools
before_install.3
0.60s$ pip install -U wheel
install
2.07s$ pip install tox-travis .[devel]
3.58s$ tox
py34 create: /home/travis/build/billdodd/python-redfish-library/.tox/py34
py34 installdeps: coverage, fixtures, nose, nose-timer
ERROR: invocation failed (exit code 1), logfile: /home/travis/build/billdodd/python-redfish-library/.tox/py34/log/py34-1.log
================================== log start ===================================
Collecting coverage
  Using cached https://files.pythonhosted.org/packages/b7/65/1a4922e356d7c990a1935f951b6f17906c82ede849d341e62c961decf464/coverage-4.5.4-cp34-cp34m-manylinux1_x86_64.whl
Collecting fixtures
  Using cached https://files.pythonhosted.org/packages/a8/28/7eed6bf76792f418029a18d5b2ace87ce7562927cdd00f1cefe481cd148f/fixtures-3.0.0-py2.py3-none-any.whl
Collecting nose
  Using cached https://files.pythonhosted.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl
Collecting nose-timer
  Using cached https://files.pythonhosted.org/packages/26/6b/6d1cd907c922df136750e098d0f0211e4fe0e8d03dd07c650c9399ca77b4/nose-timer-1.0.0.tar.gz
Collecting six (from fixtures)
  Using cached https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Collecting pbr>=0.11 (from fixtures)
  Using cached https://files.pythonhosted.org/packages/96/ba/aa953a11ec014b23df057ecdbc922fdb40ca8463466b1193f3367d2711a6/pbr-5.4.5-py2.py3-none-any.whl
Collecting testtools>=0.9.22 (from fixtures)
  Using cached https://files.pythonhosted.org/packages/1a/d5/d0e0d16478fd4700694673518842be3c159fa08230e377f5f8570c170bbd/testtools-2.4.0-py2.py3-none-any.whl
testtools requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*' but the running Python is 3.4.8
=================================== log end ====================================
ERROR: could not install deps [coverage, fixtures, nose, nose-timer]; v = InvocationError('/home/travis/build/billdodd/python-redfish-library/.tox/py34/bin/pip install coverage fixtures nose nose-timer', 1)
___________________________________ summary ____________________________________
ERROR:   py34: could not install deps [coverage, fixtures, nose, nose-timer]; v = InvocationError('/home/travis/build/billdodd/python-redfish-library/.tox/py34/bin/pip install coverage fixtures nose nose-timer', 1)
The command "tox" exited with 1.
cache.2
store build cache
Done. Your build exited with 1.