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 <pe...@peterjs.com>
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 <pe...@peterjs.com>
Date:   2016-04-18T02:07:52Z

    Add Python 3.5-lxml to travis
    
    Worked first time :)

commit 8143e793bb6af1526c1d74ea7441ba612e82d048
Author: Peter Schmidt <pe...@peterjs.com>
Date:   2016-04-18T06:39:50Z

    Try to create lxml versions of all tox envs

commit 81c7035a7af969221b42579971b4d87de4626a12
Author: Peter Schmidt <pe...@peterjs.com>
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 <pe...@peterjs.com>
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 <to...@tomaz.me>
Date:   2016-04-18T09:07:16Z

    Allow failures for lxml builders.

commit f66b81348430bd5f59d136df1ea353688c5607b5
Author: Tomaz Muraus <to...@tomaz.me>
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to