GitHub user Kami opened a pull request:
https://github.com/apache/libcloud/pull/763
Run tests with lxml on Travis CI
This pull request builds on top of #762.
That PR indicated that using lxml is broken in some scenarios so first step
should be to get tests to run with lxml on Travis.
Right now those tests are failing in some cases, but I marked them as
allowed to fail on Travis so they won't cause the whole build to fail.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Kami/libcloud travis_tests_with_lxml
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/libcloud/pull/763.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #763
----
commit 48a02a628a05424ce88affe88f8b52203f8f8adb
Author: Peter Schmidt <[email protected]>
Date: 2016-04-18T01:44:24Z
Add py3.5-lxml to tox.ini
So I can construct a bytes vs str test case that fails reproducibly under
Python 3. Turned out there were already several so no need:
ERROR: test_create_group_location_does_not_exist
(libcloud.test.compute.test_abiquo.AbiquoNodeDriverTest)
...(not all 595 errors shown)
ERROR: test_update_target
(libcloud.test.backup.test_dimensiondata.DimensionDataTests)
ERROR: test_update_target_DEFAULT
(libcloud.test.backup.test_dimensiondata.DimensionDataTests)
ERROR: test_update_target_STR
(libcloud.test.backup.test_dimensiondata.DimensionDataTests)
FAIL: test_wait_until_running_running_multiple_nodes_have_same_uuid
(libcloud.test.compute.test_deployment.DeploymentTests)
FAIL: test_wait_until_running_running_node_missing_from_list_nodes
(libcloud.test.compute.test_deployment.DeploymentTests)
FAIL: test_wait_until_running_timeout
(libcloud.test.compute.test_deployment.DeploymentTests)
FAIL: test_ex_set_control_access
(libcloud.test.compute.test_vcloud.VCloud_1_5_Tests)
FAILED (failures=4, errors=595, skipped=14)
Others can let me know if it's a worthwhile trade off to add lxml testing
against all environments.
commit 99b420d01bd83b278860bb473972bbe96ff3cdbe
Author: Peter Schmidt <[email protected]>
Date: 2016-04-18T02:07:52Z
Add Python 3.5-lxml to travis
Worked first time :)
commit 8143e793bb6af1526c1d74ea7441ba612e82d048
Author: Peter Schmidt <[email protected]>
Date: 2016-04-18T06:39:50Z
Try to create lxml versions of all tox envs
commit 81c7035a7af969221b42579971b4d87de4626a12
Author: Peter Schmidt <[email protected]>
Date: 2016-04-18T07:00:53Z
Actually spell out using both builtin xml and lxml
Avoids my premature optimisation of assuming it worked for Python 2.x, as I
find "FAILED (failures=1, errors=52, skipped=14)" under Python 2.7
Not actually tested against pypy (pypypy? or pypypy3?)
Looks like a design decision about whether lxml should be:
a) officially supported
b) dropped entirely
c) replaced with alternatives like defusedxml
will be required, unless someone can suggest a workaround.
(libcloud) pzrq@Peters-Mac-mini:~/Projects/libcloud$ tox
GLOB sdist-make: /Users/pzrq/Projects/libcloud/setup.py
py2.5 create: /Users/pzrq/Projects/libcloud/.tox/py2.5
ERROR: InterpreterNotFound: python2.5
py2.6 inst-nodeps:
/Users/pzrq/Projects/libcloud/.tox/dist/apache-libcloud-1.0.0rc2.zip
py2.6 installed: DEPRECATION: Python 2.6 is no longer supported by the
Python core team, please upgrade your Python. A future version of pip will drop
support for Python
2.6,apache-libcloud==1.0.0rc2,argparse==1.4.0,backports.ssl-match-hostname==3.5.0.1,ecdsa==0.13,flake8==2.5.4,linecache2==1.0.0,lockfile==0.12.2,mccabe==0.4.0,mock==1.0.1,paramiko==1.16.0,pep8==1.7.0,pycrypto==2.6.1,pyflakes==1.0.0,six==1.10.0,traceback2==1.4.0,unittest2==1.1.0
py2.6 runtests: PYTHONHASHSEED='1836126779'
py2.6 runtests: commands[0] | cp libcloud/test/secrets.py-dist
libcloud/test/secrets.py
py2.6 runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5442 tests in 65.366s
OK
py2.7 runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5442 tests in 39.533s
OK
pypypy create: /Users/pzrq/Projects/libcloud/.tox/pypypy
ERROR: InterpreterNotFound: pypy
pypypy3 create: /Users/pzrq/Projects/libcloud/.tox/pypypy3
ERROR: InterpreterNotFound: pypy3
py3.2 create: /Users/pzrq/Projects/libcloud/.tox/py3.2
ERROR: InterpreterNotFound: python3.2
py3.3 create: /Users/pzrq/Projects/libcloud/.tox/py3.3
ERROR: InterpreterNotFound: python3.3
...
py3.4 runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5442 tests in 27.719s
OK (skipped=14)
py3.5 runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5442 tests in 27.423s
OK (skipped=14)
py2.5-lxml create: /Users/pzrq/Projects/libcloud/.tox/py2.5-lxml
ERROR: InterpreterNotFound: python2.5
...
py2.6-lxml runtests: commands[1] | python setup.py test
/Users/pzrq/Projects/libcloud/.tox/py2.6-lxml/lib/python2.6/site-packages/setuptools/dist.py:285:
UserWarning: Normalizing '1.0.0-rc2' to '1.0.0rc2'
normalized_version,
running test
Python version: 2.6.9 (unknown, Oct 23 2015, 19:19:20)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]
Missing "unittest2" library. unittest2 is library is needed to run the
tests. You can install it using pip: pip install unittest2
ERROR: InvocationError:
'/Users/pzrq/Projects/libcloud/.tox/py2.6-lxml/bin/python setup.py test'
...
py2.7-lxml runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5424 tests in 27.047s
FAILED (failures=1, errors=52, skipped=14)
ERROR: InvocationError:
'/Users/pzrq/Projects/libcloud/.tox/py2.7-lxml/bin/python setup.py test'
pypypy-lxml create: /Users/pzrq/Projects/libcloud/.tox/pypypy-lxml
ERROR: InterpreterNotFound: pypy
pypypy3-lxml create: /Users/pzrq/Projects/libcloud/.tox/pypypy3-lxml
ERROR: InterpreterNotFound: pypy3
py3.2-lxml create: /Users/pzrq/Projects/libcloud/.tox/py3.2-lxml
ERROR: InterpreterNotFound: python3.2
py3.3-lxml create: /Users/pzrq/Projects/libcloud/.tox/py3.3-lxml
ERROR: InterpreterNotFound: python3.3
...
py3.4-lxml runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5424 tests in 23.300s
FAILED (failures=4, errors=595, skipped=14)
ERROR: InvocationError:
'/Users/pzrq/Projects/libcloud/.tox/py3.4-lxml/bin/python setup.py test'
...
py3.5-lxml runtests: commands[1] | python setup.py test
...
----------------------------------------------------------------------
Ran 5424 tests in 23.433s
FAILED (failures=4, errors=595, skipped=14)
ERROR: InvocationError:
'/Users/pzrq/Projects/libcloud/.tox/py3.5-lxml/bin/python setup.py test'
...
___________________________________ summary
____________________________________
ERROR: py2.5: InterpreterNotFound: python2.5
py2.6: commands succeeded
py2.7: commands succeeded
ERROR: pypypy: InterpreterNotFound: pypy
ERROR: pypypy3: InterpreterNotFound: pypy3
ERROR: py3.2: InterpreterNotFound: python3.2
ERROR: py3.3: InterpreterNotFound: python3.3
py3.4: commands succeeded
py3.5: commands succeeded
ERROR: py2.5-lxml: InterpreterNotFound: python2.5
ERROR: py2.6-lxml: commands failed
ERROR: py2.7-lxml: commands failed
ERROR: pypypy-lxml: InterpreterNotFound: pypy
ERROR: pypypy3-lxml: InterpreterNotFound: pypy3
ERROR: py3.2-lxml: InterpreterNotFound: python3.2
ERROR: py3.3-lxml: InterpreterNotFound: python3.3
ERROR: py3.4-lxml: commands failed
ERROR: py3.5-lxml: commands failed
lint: commands succeeded
(libcloud) pzrq@Peters-Mac-mini:~/Projects/libcloud$
commit a552d711e1c07eefea4923e59d814651ddb1bb3d
Author: Peter Schmidt <[email protected]>
Date: 2016-04-18T07:41:22Z
Pad out the rest of Travis with lxml
Hopefully makes this easier to review and decide one way or another what to
do.
commit 3bd16fd0c967ba5cf9072dff8f7ea41635411dcc
Author: Tomaz Muraus <[email protected]>
Date: 2016-04-18T09:07:16Z
Allow failures for lxml builders.
commit f66b81348430bd5f59d136df1ea353688c5607b5
Author: Tomaz Muraus <[email protected]>
Date: 2016-04-18T09:08:52Z
Update tox.ini, add missing dependencies.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---