[TIP] tox-1.2: some bug fixes for the virtualenv-based generic test runner
Michael Foord
fuzzyman at voidspace.org.uk
Fri Nov 11 10:28:53 PST 2011
On 11 Nov 2011, at 15:26, holger krekel wrote:
> Hey Michael,
>
> On Fri, Nov 11, 2011 at 12:34 +0000, Michael Foord wrote:
>> On 10 Nov 2011, at 18:44, holger krekel wrote:
>>
>>> tox 1.2: the virtualenv-based test run automatizer
>>> ===========================================================================
>>>
>>> I am happy to announce tox 1.2, now using and depending on the latest
>>> virtualenv code and containing some bug fixes. TOX automates tedious
>>> test activities driven from a simple ``tox.ini`` file, including:
>>>
>>
>>
>> Hey Holger,
>>
>> When I run tox 1.2 with Python 2.7 my Python 3 (3.1 / 3.2) tests no longer run - they are picking up the wrong virtualenv.py.
>
> Just to be sure, which virtualenv version is this?
>
> On my OSX 10.6, creating the py31 env work nicely like this:
>
> (0)hpk at noco:~/p/tox$ tox -e py31 tests/test_config.py
> ...
> __________________________ [tox testenv:py31] ______________________________
> [TOX] ***creating virtualenv py31
> [TOX] /Users/hpk/p/tox/.tox$ /Library/Frameworks/Python.framework/Versions/3.1/bin/python3.1 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.4-py2.7.egg/virtualenv.py --no-site-packages py31 >py31/log/0.log
>
> ...
>
> Only difference i see is your "virtualenv.py" resides directly in site-packages.
> Odd?!
Well it looks like your virtualenv is installed with easy_install (inside an egg) whereas mine was done with pip. My suspicion is that this is the cause of the problem - somehow that location is on the path for the Python 3 environments.
My version of virtualenv is 1.6.4. Are you sure you're using Python 2.7? The default on OS X 10.6 is Python 2.6. (I'm using OS X 10.7 but I think the location of virtualenv is more likely to be the problem.)
All the best,
Michael Foord
>
> holger
>
>> _________________________ [tox testenv:py32] __________________________
>> [TOX] ***recreating virtualenv py32 (configchange/incomplete install detected)
>> [TOX] /compile/mock/.tox$ /Library/Frameworks/Python.framework/Versions/3.2/bin/python3.2 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py --no-site-packages py32 >py32/log/0.log
>> [TOX] ERROR: invocation failed, logfile: /compile/mock/.tox/py32/log/0.log
>> [TOX] ERROR: /compile/mock/.tox$ /Library/Frameworks/Python.framework/Versions/3.2/bin/python3.2 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py --no-site-packages py32 >py32/log/0.log
>> New python executable in py32/bin/python
>> Traceback (most recent call last):
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 1952, in <module>
>> main()
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 810, in main
>> never_download=options.never_download)
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 907, in create_environment
>> search_dirs=search_dirs, never_download=never_download)
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 608, in install_distribute
>> search_dirs=search_dirs, never_download=never_download)
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 493, in _install_req
>> import pkg_resources
>> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 45
>> def _bypass_ensure_directory(name, mode=0777):
>> ^
>> SyntaxError: invalid token
>>
>> [TOX] ERROR: InvocationError: /Library/Frameworks/Python.framework/Versions/3.2/bin/python3.2 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py --no-site-packages py32 (see /compile/mock/.tox/py32/log/0.log)
>>
>>
>> It works fine with Python 2.6 (so not really a problem), but it's odd. Any ideas? (Mac OS X)
>>
>> All the best,
>>
>> Michael Foord
>>
>>
>>
>>> * creation and management of different virtualenv environments with
>>> different Python interpreters
>>> * packaging and installing your package into each of them
>>> * running your test tool of choice, be it nose, py.test or unittest2 or
>>> other tools such as "sphinx" doc checks
>>> * testing dev packages against each other without needing to upload to PyPI
>>>
>>> It works well on virtually all Python interpreters that support virtualenv.
>>>
>>> Docs and examples are at:
>>>
>>> http://tox.testrun.org
>>>
>>> Installation:
>>>
>>> pip install -U tox
>>>
>>> code hosting and issue tracking on bitbucket:
>>>
>>> http://bitbucket.org/hpk42/tox
>>>
>>> best,
>>> Holger Krekel
>>>
>>> 1.2 compared to 1.1
>>> ---------------------
>>>
>>> - remove the virtualenv.py that was distributed with tox and depend
>>> on virtualenv-1.6.4 (possible now since the latter fixes a few bugs
>>> that the inling tried to work around)
>>> - fix issue10: work around UnicodeDecodeError when inokving pip (thanks
>>> Marc Abramowitz)
>>> - fix a problem with parsing {posargs} in tox commands (spotted by goodwill)
>>> - fix the warning check for commands to be installed in testevironment
>>> (thanks Michael Foord for reporting)
>>>
>>> _______________________________________________
>>> testing-in-python mailing list
>>> testing-in-python at lists.idyll.org
>>> http://lists.idyll.org/listinfo/testing-in-python
>>>
>>
>>
>> --
>> http://www.voidspace.org.uk/
>>
>>
>> May you do good and not evil
>> May you find forgiveness for yourself and forgive others
>> May you share freely, never taking more than you give.
>> -- the sqlite blessing
>> http://www.sqlite.org/different.html
>>
>>
>>
>>
>>
>
--
http://www.voidspace.org.uk/
May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing
http://www.sqlite.org/different.html
More information about the testing-in-python
mailing list