In order to avoid the "missing HOME variable" issue when running the
unit tests, this patch is passing the HOME environment variable to
[testenv].
Fixes#20424
tox doesn't actually expand {brace,expressions} in envlist, so if you ran `tox` without specifying a `-e` parameter, tox would try to run `py26`, `py27`, `py3{5` and `6)`, defaulting to python2.7 for those non-standard environment names.
This enables the tests in tox and in Travis. This ought to prevent
regressions in Python 3 support.
Note that Python 3.4 isn't supported (yet) because the vault code relies on
%-formatting of byte strings, a feature that was ripped out of Python 3.0
and restored in 3.5.
Also note that passing tests don't mean that Ansible itself can already
be used with Python 3.5: test coverage is only 53%.
'tox -e py26' would fail for me because python -m compileall would crawl
under .tox/py27 and, unsurprisingly, get SyntaxErrors on files from the
Python 2.7 standard library using syntax features not supported by
Python 2.6.
Purpose: so that devs can use tox to run v1 or v2 of ansible with various versions of python.
For example `tox -e py27-v2 will run python2.7 on v2. Currently, only py26 and py27 are run on v1 when
running just `tox` so that we aren't breaking builds.
Add tox integration to run unittests in supported python releases.
Travis-CI is used for test execution.
Additionally, the unittest TestQuotePgIdentifier was updated to support
using assert_raises_regexp on python-2.6.
Sample travis-ci output available at
https://travis-ci.org/ansible/ansible/builds/54189977