tox-2.5.0: little fixes and improvements
hi all, tox-2.5.0 was just released to pypi, see https://tox.readthedocs.org for docs and the changelog below for details. Many thanks to Oliver Bestwalter, Ronny Pfannschmidt, Bruno Oliveira, Lukasz Rogalski, John Vandenberg, Florian Bruhin and all others who submitted issues and helped resolve them. best, holger krekel 2.5.0 -- - slightly backward incompatible: fix issue310: the {posargs} substitution now properly preserves the tox command line positional arguments. Positional arguments with spaces are now properly handled. NOTE: if your tox invocation previously used extra quoting for positional arguments to work around issue310, you need to remove the quoting. Example: tox -- "'some string'" # has to now be written simply as tox -- "some string" thanks holger krekel. You can set ``minversion = 2.5.0`` in the ``[tox]`` section of ``tox.ini`` to make sure people using your tox.ini use the correct version. - fix #359: add COMSPEC to default passenv on windows. Thanks @anthrotype. - add support for py36 and py37 and add py36-dev and py37(nightly) to travis builds of tox. Thanks John Vandenberg. - fix #348: add py2 and py3 as default environments pointing to "python2" and "python3" basepython executables. Also fix #347 by updating the list of default envs in the tox basic example. Thanks Tobias McNulty. - make "-h" and "--help-ini" options work even if there is no tox.ini, thanks holger krekel. - add {:} substitution, which is replaced with os-specific path separator, thanks Lukasz Rogalski. - fix #305: ``downloadcache`` test env config is now ignored as pip-8 does caching by default. Thanks holger krekel. - output from install command in verbose (-vv) mode is now printed to console instead of being redirected to file, thanks Lukasz Rogalski - fix #399. Make sure {envtmpdir} is created if it doesn't exist at the start of a testenvironment run. Thanks Manuel Jacob. - fix #316: Lack of commands key in ini file is now treated as an error. Reported virtualenv status is 'nothing to do' instead of 'commands succeeded', with relevant error message displayed. Thanks Lukasz Rogalski. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.4.0 released, moved to github, docs on readthedocs now
tox-2.4.0 brings some fixes and new features, see the changelog below. Docs are now at: https://tox.readthedocs.org and, thanks to Ronny Pfannschmidt, the tox repository is now on github: https://github.com/tox-dev/tox also many thanks to Oliver Bestwalter, Alex Grönholm, Stefan Obermann, Danielle Jenkins, Ted Shaw, Andrzej Ostrowski and Florian Bruhin who helped with the release particularly during the crowd-funded testing sprint we had in Freiburg, June 2016. have testing fun, holger krekel 2.4.0 - - remove PYTHONPATH from environment during the install phase because a tox-run should not have hidden dependencies and the test commands will also not see a PYTHONPATH. If this causes unforeseen problems it may be reverted in a bugfix release. Thanks Jason R. Coombs. - fix issue352: prevent a configuration where envdir==toxinidir and refine docs to warn people about changing "envdir". Thanks Oliver Bestwalter and holger krekel. - fix issue375, fix issue330: warn against tox-setup.py integration as "setup.py test" should really just test with the current interpreter. Thanks Ronny Pfannschmidt. - fix issue302: allow cross-testenv substitution where we substitute with ``{x,y}`` generative syntax. Thanks Andrew Pashkin. - fix issue212: allow escaping curly brace chars "\{" and "\}" if you need the chars "{" and "}" to appear in your commands or other ini values. Thanks John Vandenberg. - addresses issue66: add --workdir option to override where tox stores its ".tox" directory and all of the virtualenv environment. Thanks Danring. - introduce per-venv list_dependencies_command which defaults to "pip freeze" to obtain the list of installed packages. Thanks Ted Shaw, Holger Krekel. - close issue66: add documentation to jenkins page on how to avoid "too long shebang" lines when calling pip from tox. Note that we can not use "python -m pip install X" by default because the latter adds the CWD and pip will think X is installed if it is there. "pip install X" does not do that. - new list_dependencies_command to influence how tox determines which dependencies are installed in a testenv. - (experimental) New feature: When a search for a config file fails, tox tries loading setup.cfg with a section prefix of "tox". - fix issue275: Introduce hooks ``tox_runtest_pre``` and ``tox_runtest_post`` which run before and after the tests of a venv, respectively. Thanks to Matthew Schinckel and itxaka serrano. - fix issue317: evaluate minversion before tox config is parsed completely. Thanks Sachi King for the PR. - added the "extras" environment option to specify the extras to use when doing the sdist or develop install. Contributed by Alex Grönholm. - use pytest-catchlog instead of pytest-capturelog (latter is not maintained, uses deprecated pytest API) -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-4.0: fixing the pip-8.1.2 issue / pep 503 compliance
devpi-server-4.0: fixing the pip-8.1.2 problem / PEP503 compliance We've made available critically important releases of the devpi private packaging available. If you are not using "devpi" yet then you can may just read http://doc.devpi.net and forget about the rest of this announcement. This is for the many who experienced the "pip doesn't install packages anymore with devpi" problem. First of all, you may temporarily pin "pip" to avoid the problem on the client side: pip install pip==8.1.1 This is obviously a crutch but gives you some time to perform the export/import cycle required for hosting private packages via devpi-server-4.0 and being compatible with pip-8.1.2. If you are using devpi-server as a pure pypi.python.org cache you don't need to perform export/import and can just delete your server directory ($HOME/.devpi/server by default) before you install and start up devpi-server-4.0. If you are hosting private packages on devpi you will need to perform an export/import cycle of your server state in order to run devpi-server-4.0. The "4.0" in this case only signals this export/import need -- no other big changes are coming with 4.0. At the end of this announcement we explain some details of why we needed to go for a 4.0 and not just a micro bugfix release. To export from devpi-server-3.X upgrade to the new devpi-server-3.1.2 before you export, like this: pip install "devpi-server<4.0" Now stop your server and run: devpi-server --export EXPORTDIR --serverdir SERVERDIR where EXPORTDIR should be a fresh new directory and SERVERDIR should be the server state directory ($HOME/.devpi/server by default). To export from devpi-server-2.X Upgrade to the latest devpi-server-2.X release: pip install "devpi-server<3.0" devpi-common>=2.0.10 Here we force the devpi-common dependency to not accidentally be "devpi-common==2.0.9" which could lead to problems. Now stop your server and run: devpi-server --export EXPORTDIR --serverdir SERVERDIR where EXPORTDIR should be a fresh new directory and SERVERDIR should be the server state directory ($HOME/.devpi/server by default). to import state into devpi-server-4.0 Upgrade to the latest devpi-server-4.X release: pip install "devpi-server<5.0" devpi-web If you don't use "devpi-web" you can leave it out from the pip command. Check you have the right version: devpi-server --version Now import from your previously created EXPORTDIR: devpi-server --serverdir SERVERDIR_NEW --import EXPORTDIR This will take a while if you have many indexes or lots of documentation -- devpi-web will create a search index over all of it during import. You are now good to go -- pip works again! devpi-client also has a 2.6.3 We also published a minor bugfix "devpi-client-2.6.3" release which should work with both devpi-server-2.6 and devpi-server-4.0 as we are generally trying to keep devpi-client forward/backward compatible. You only need to install devpi-client-2.6.3 if you also install devpi-server into the same virtual environment. Otherwise using devpi-client-2.6.2 with both devpi-server-2.6 and devpi-server-4.0 probably works fine as well. background on the pip/devpi bug for the curious --- Besides devpi, also artifactory and other private index servers have experienced failures with pip-8.1.2. The change from 8.1.1 was that pip now asks for PEP503-normalized names when requesting the simple page from an index. Previously "-" and "." would be allowed but with the new normalization "." is substituted with "-". Now "pip install zope.interface" triggers a request to "+simple/zope-interface" and devpi in turns asks pypi.python.org/simple/zope-interface and gets an answer with lots of "zope.interface-*.tar.gz" release links. But those are not matched because without PEP503 "zope.interface" and "zope-interface" are different things. Moreover, pypi.python.org used to redirect to the "true" name but does not do this anymore which contributed to the eventual problem. We decided to go for 4.0 because since 3.0 we base database keys on normalized project names -- and this normalization is used in like 20-30 code places across the devpi system and plugins. Trying to be clever and avoid the export/import and trick "pip-8.1.2" into working looked like a can of worms. Now with devpi-server-4.0 we are using proper PEP503 specified normalization so should be safe. best, holger and florian P.S.: we offer support contracts btw and thank in particular Dolby Laboratories, YouGov Inc and BlueYonder GmbH who funded a lot of the last year's devpi work and now agreed to be named in public - and no, we didn't get around to make a flashy web site yet. For now, just mail
devpi-server/web-3.0: generalized mirroring, speed, new backends
The 3.0 releases of devpi-server and devpi-web, the python packaging and work flow system for handling release files, documentation, testing and staging, bring several major improvements: - Due to popular demand we now support generalized mirroring, i.e. you can create mirror indexes which proxy and cache release files from other pypi servers. Even if the mirror goes down, pip-installing will continue to work with your devpi-server instance. Previously we only supported mirroring of pypi.python.org. Using it is simple: http://doc.devpi.net/3.0/userman/devpi_indices.html#mirror-index - For our enterprise clients we majorly worked on improving the speed of serving simple pages which is now several times faster with private indexes. We now also support multiple worker processes both on master and replica sites. http://doc.devpi.net/3.0/adminman/server.html#multiple-server-instances - For our enterprise clients we also introduced a new backend architecture which allows to store server state in sqlite or postgres (which is supported through a separately released plugin). The default remains to use the "sqlite" backend and store files on the filesystem. See http://doc.devpi.net/3.0/adminman/server.html#storage-backend-selection - we started a new "admin" manual for devpi-server which describes features relating to server configuration, replication and security aspects. It's a bit work-in-progress but should already be helpful. http://doc.devpi.net/3.0/adminman/ - A few option names changed and we also released devpi-client-2.5 where we took great care to keep it forward and backward compatible so it should run against devpi-server-2.1 and upwards all the way to 3.0. - The "3.0" major release number increase means that you will need to run through an export/import cycle to upgrade your devpi-2.X installation. For more details, see the changelog and the referenced documentation with the main entry point here: http://doc.devpi.net Many thanks to my partner Florian Schulze and to the several companies who funded parts of the work on 3.0. We are especially grateful for their support to not only cover their own direct issues but also support community driven demands. I'd also like to express my gratitude to Rackspace and Jesse Noller who provide VMs for our open source work and which help a lot with the testing of our releases. We are open towards entering more support contracts to make sure you get what you need out of devpi, tox and pytest which together provide a mature tool chain for professional python development. And speaking of showing support, if you or your company is interested to donate to or attend the largest python testing sprint in history with a particular focus to pytest or tox, please see https://www.indiegogo.com/projects/python-testing-sprint-mid-2016/ have fun, holger krekel, http://merlinux.eu server-3.0.0 (2016-02-12) - - dropped support for python2.6 - block most ascii symbols for user and index names except ``-.@_``. unicode characters are fine. - add ``--no-root-pypi`` option which prevents the creation of the ``root/pypi`` mirror instance on first startup. - added optional ``title`` and ``description`` options to users and indexes. - new indexes have no bases by default anymore. If you want to be able to install pypi packages, then you have to explicitly add ``root/pypi`` to the ``bases`` option of your index. - added optional ``custom_data`` option to users. - generalized mirroring to allow adding mirror indexes other than only PyPI - renamed ``pypi_whitelist`` to ``mirror_whitelist`` - speed up simple-page serving for private indexes. A private index with 200 release files should now be some 5 times faster. - internally use normalized project names everywhere, simplifying code and slightly speeding up some operations. - change {name} in route_urls to {project} to disambiguate. This is potentially incompatible for plugins which have registered on existing route_urls. - use "project" variable naming consistently in APIs - drop calling of devpi_pypi_initial hook in favor of the new "devpi_mirror_initialnames(stage, projectnames)" hook which is called when a mirror is initialized. - introduce new "devpiserver_stage_created(stage)" hook which is called for each index which is created. - simplify and unify internal mirroring code some more with "normal" stage handling. - don't persist the list of mirrored project names anymore but rely on a per-process RAM cache and the fact that neither the UI nor pip/easy_install typically need the projectnames list, anyway. - introduce new "devpiserver_storage_backend" hook which allows plugins to provide custom storage backends. When there is more than one backend available, the "--storage" option becomes required
new devpi releases (2.6.0) with pip-search/offline mode support
This trinity release of devpi, the private packaging and workflow system, is drop-in compatible to earlier releases and comes with these improvements: - support for pip search on the server side which is also configured when "devpi use" writes to pip configuration files. - explicit --offline-mode for devpi-server to avoid trying unneccessary and potentially laggy network requests and to streamline simple pages to only contain releases that are locally cached. thanks Daniel Panteleit for the PR. - push from root/pypi to other indexes works now. Docs are to be found as usual at: http://doc.devpi.net This release brought to you mainly by Florian Schulze and me and a few still unnamed sponsoring companies. Speaking of which, if you need support, training, adjustments wrt packaging and professional testing you may contact us through http://merlinux.eu. You can also expect devpi-server-3.0 soon, a major new release which is to bring improvements like generalized mirroring, storage backends, speed and internal code cleanups. best, holger devpi-server-2.6.0 (2016-1-29) -- - fix issue262: new experimental option --offline-mode will prevent devpi-server from even trying to perform network requests and it also strip all non-local release files from the simple index. Thanks Daniel Panteleit for the PR. - fix issue304: mark devpi-server versions older than 2.2.x as incompatible and requiring an import/export cycle. - fix issue296: try to fetch files from master again when requested, if there were checksum errors during replication. - if a user can't be found during authentication (with ``setup.py upload`` for example), then the http return code is now 401 instead of 404. - fix issue293: push from root/pypi to another index is now supported - fix issue265: ignore HTTP(S) proxies when checking if the server is already running. - Add ``content_type`` route predicate for use by plugins. devpi-web-2.6.0 (2016-1-29) --- - fix issue305: read documentation html files in binary and let BeautifulSoup detect the encoding. - require devpi-server >= 2.6.0 - support for ``pip search`` command on indexes devpi-client-2.4.0 (2016-1-29) -- - fix issue291: transfer file modes with vcs exports. Thanks Sergey Vasilyev for the report. - new option "--index" for "install", "list", "push", "remove", "upload" and "test" which allows to use a different than the current index without using "devpi use" before - set ``index`` in ``[search]`` section of ``pip.cfg`` when writing cfgs, to support ``pip search`` -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.3.1: fix cross-section substitution for setenv
just did a quick bugfix release, tox-2.3.1, which re-allows cross-section substitution for setenv. Thanks all for the patience and the reporting. For docs, as always see http://testrun.org/tox have fun, holger -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.3.0: bug fixes, new plugin hooks
Just released tox-2.3.0, the python test configuration and automation tool. It brings some important bug fixes and more hooks related to testenvironment creation and installation, allowing upcoming plugins like tox-debian to add extra steps during installation. I'd like to send special thanks to the Tryton foundation who organized some funding in order to tackle the proper fixing of a serious regression of tox-2.2 (see changelog below). thanks also to David Stanek, Julien Castets, Nelfin for their contributions. You'll find the current docs for tox here: https://testrun.org/tox/latest/ and have fun, holger krekel -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu 2.3.0 - - DEPRECATE use of "indexservers" in tox.ini. It complicates the internal code and it is recommended to rather use the devpi system for managing indexes for pip. - fix issue285: make setenv processing fully lazy to fix regressions of tox-2.2.X and so that we can now have testenv attributes like "basepython" depend on environment variables that are set in a setenv section. Thanks Nelfin for some tests and initial work on a PR. - allow "#" in commands. This is slightly incompatible with commands sections that used a comment after a "\" line continuation. Thanks David Stanek for the PR. - fix issue289: fix build_sphinx target, thanks Barry Warsaw. - fix issue252: allow environment names with special characters. Thanks Julien Castets for initial PR and patience. - introduce experimental tox_testenv_create(venv, action) and tox_testenv_install_deps(venv, action) hooks to allow plugins to do additional work on creation or installing deps. These hooks are experimental mainly because of the involved "venv" and session objects whose current public API is not fully guranteed. - internal: push some optional object creation into tests because tox core doesn't need it. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-2.5.1: fix of replica simple-page serving bug
Hi again, we just did a hotfix release, devpi-server-2.5.1, which fixes a regression with replicas, thanks to Stephan Erb for reporting and Florian Schulze for fixing. holger 2.5.1 (2015-11-20) -- - fix issue289: fix simple page serving on replicas -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-{server,web}-2.5.0 perf/bug fix releases
We just released devpi-{server,web}-2.5.0 to pypi, see changelogs below for more details. While it's not required to do an export/import cycle for this release it's recommended especially if you are running with replicas. Docs for the private pypi packaging server at: http://doc.devpi.net Thanks to Florian Schulze, Jason R. Coombs and all issue reporters. For your information, we are now starting work for devpi-server-3.0 which will introduce further speedups, internal code simplifications and new features (like mirroring from arbitrary pypi-servers). cheers, holger krekel server-2.5.0 (2015-11-19) - - fix a regression of 2.3.0 which would cause many write-transactions for mirrored simple-page entries that didn't change. Previous to the fix, accesses to mirrored simple pages will result in a new write-transaction every 30 minutes if the page is accessed which is likely on a somewhat busy site. If you running with replicas it is recommended to do an an export/import cycle to remove all the unneccessary writes that were produced since devpi-server-2.3.0. They delay the setup of new replicas considerably. - add info about pypi_whitelist on simple page when root/pypi is blocked for a project. - replica simple-page serving will not unneccessarily wait for new simple-page entries to arrive at the replication side if the master does not return any changes in the initial simple-page request. Previously a replica would wait for the replication-thread to catch up even if no links changed. - fix setup.py to work on py34 and with LANG="C" environments. Thanks Jason R. Coombs. - fix issue284: allow users who are listed in acl_upload to delete packages web-2.5.0 (2015-11-19) -- - fix issue288: classifiers rendering wrong with read only data views - index.pt, project.pt, version.pt: added info about pypi_whitelist. This requires devpi-server > 2.4.0 to work. - fix issue286: indexing of most data failed due to new read only views -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-2.4.0 and friends: speedup, fixes, profiling
We just pushed devpi-{server,web,client,common} release files out to pypi. Most notably, the private pypi package server allows much faster installs due to much improved simple-page serving speed. See the changelog below for a host of other changes and fixes as well as for compatibility warnings. Docs about the devpi system are to be found here: http://doc.devpi.net Many thanks to my co-maintainer Florian Schulze and particularly to Stephan Erb and Chad Wagner for their contributions. cheers, holger -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu devpi-server 2.4.0 (2015-11-11) --- - NOTE: devpi-server-2.4 is compatible to data from devpi-server-2.3 but not the other way round. Once you run devpi-server-2.4 you can not go back. It's always a good idea to make a backup before trying a new version :) - NOTE: if you use "--logger-cfg" with .yaml files you will need to install pyyaml yourself as devpi-server-2.4 dropped it as a direct dependency as it does not install for win32/python3.5 and is not needed for devpi-server operations except for logging configuration. Specifying a *.json file always works. - add timeout to replica requests - fix issue275: improve error message when a serverdir exists but has no version - improve testing mechanics and name normalization related to storing doczips - refine keyfs to provide lazy deep readonly-views for dict/set/list/tuple types by default. This introduces safety because users (including plugins) of keyfs-values can only write/modify a value by explicitly getting it with readonly=False (thereby deep copying it) and setting it with the transaction. It also allows to avoid unnecessary copy-operations when just reading values. - fix issue283: pypi cache didn't work for replicas. - performance improvements for simple pages with lots of releases. this also changed the db layout of the caching from pypi.python.org mirrors but will seamlessly work on older data, see NOTE at top. - add "--profile-requests=NUM" option which turns on per-request profiling and will print out after NUM requests are executed and then restart profiling. - fix tests for pypy. We officially support pypy now. devpi-client-2.3.2 (2015-11-11) --- - fix git submodules for devpi upload. ``.git`` is a file not a folder for submodules. Before this fix the repository which contains the submodule was found instead, which caused a failure, because the files aren't tracked there. - new option "devpi upload --setupdir-only" which will only vcs-export the directory containing setup.py. You can also set "setupdirs-only = 1" in the "[devpi:upload]" section of setup.cfg for the same effect. Thanks Chad Wagner for the PR. devpi-web 2.4.2 (2015-11-11) - log exceptions during search index updates. - adapted tests/code to work with devpi-server-2.4 devpi-common 2.0.8 (2015-11-11) --- - fix URL.joinpath to not add double slashes -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.2.0: fixes and new ignore_outcome setting
I just released tox-2.2.0, see changelog below. More about tox here: http://tox.testrun.org have fun, holger -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu 2.2.0 - - fix issue265 and add LD_LIBRARY_PATH to passenv on linux by default because otherwise the python interpreter might not start up in certain configurations (redhat software collections). Thanks David Riddle. - fix issue246: fix regression in config parsing by reordering such that {envbindir} can be used again in tox.ini. Thanks Olli Walsh. - fix issue99: the {env:...} substitution now properly uses environment settings from the ``setenv`` section. Thanks Itxaka Serrano. - fix issue281: make --force-deps work when urls are present in dependency configs. Thanks Glyph Lefkowitz for reporting. - fix issue174: add new ``ignore_outcome`` testenv attribute which can be set to True in which case it will produce a warning instead of an error on a failed testenv command outcome. Thanks Rebecka Gulliksson for the PR. - fix issue280: properly skip missing interpreter if {envsitepackagesdir} is present in commands. Thanks BB:ceridwenv -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.8.1: fixes and more fixes
Just 11 days after 2.8 hit PyPI we published pytest-2.8.1 which fixes a host of regressions and bugs, see the changelog excerpt below. Docs are also freshly generated at http://pytest.org including a streamlined PDF. Note that the pytest team now follows more SEMVER style versioning which currently means that you can expect bugfixes with 2.8.X and new features with 2.9.0 and planned incompatibilities with 3.0. Many thanks to the PR contributors and mergers of 2.8.1: Bruno Oliveira Ronny Pfannschmidt Florian Bruhin Floris Bruynooghe Eric Hunsberger Tim Staley Simon Gomizelj Russel Winder Oleg Alexandrov Michael Howitz Michael Birtwell Ben Webb Andy Freeland Abhijeet Kasurde cheers, holger krekel 2.8.1 - - fix #1034: Add missing nodeid on pytest_logwarning call in addhook. Thanks Simon Gomizelj for the PR. - 'deprecated_call' is now only satisfied with a DeprecationWarning or PendingDeprecationWarning. Before 2.8.0, it accepted any warning, and 2.8.0 made it accept only DeprecationWarning (but not PendingDeprecationWarning). Thanks Alex Gaynor for the issue and Eric Hunsberger for the PR. - fix issue #1073: avoid calling __getattr__ on potential plugin objects. This fixes an incompatibility with pytest-django. Thanks Andreas Pelme, Bruno Oliveira and Ronny Pfannschmidt for contributing and Holger Krekel for the fix. - Fix issue #704: handle versionconflict during plugin loading more gracefully. Thanks Bruno Oliveira for the PR. - Fix issue #1064: ""--junitxml" regression when used with the "pytest-xdist" plugin, with test reports being assigned to the wrong tests. Thanks Daniel Grunwald for the report and Bruno Oliveira for the PR. - (experimental) adapt more SEMVER style versioning and change meaning of master branch in git repo: "master" branch now keeps the bugfixes, changes aimed for micro releases. "features" branch will only be be released with minor or major pytest releases. - Fix issue #766 by removing documentation references to distutils. Thanks Russel Winder. - Fix issue #1030: now byte-strings are escaped to produce item node ids to make them always serializable. Thanks Andy Freeland for the report and Bruno Oliveira for the PR. - Python 2: if unicode parametrized values are convertible to ascii, their ascii representation is used for the node id. - Fix issue #411: Add __eq__ method to assertion comparison example. Thanks Ben Webb. - fix issue 877: properly handle assertion explanations with non-ascii repr Thanks Mathieu Agopian for the report and Ronny Pfannschmidt for the PR. - fix issue 1029: transform errors when writing cache values into pytest-warnings -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.7.3: fixes and py35 compat
Hi all, I just pushed pytest-2.7.3 to pypi which contains bugfixes including compatibility to python3.5 which was released yesterday. In case you wonder, pytest is a widely used mature test runner both for unit and functional test purposes in python. See http://pytest.org for documentation and examples. Thanks to contributors for this release, among them: Bruno Oliveira, Florian Bruhin, Floris Bruynooghe, Ronny Pfannschmidt, Eric Hunsberg, Barney Gale, Guido van Rossum, Matthias Matthias Bussonier, Stefan Zimmermann, Thomas Kluyver, Pieter Mulder, Raphael Pierzina. best, holger krekel P.S.: we are also preparing a pytest-2.8 which has a much longer list of changes/features. 2.7.3 (compared to 2.7.2) - - Allow 'dev', 'rc', or other non-integer version strings in `importorskip`. Thanks to Eric Hunsberger for the PR. - fix issue856: consider --color parameter in all outputs (for example --fixtures). Thanks Barney Gale for the report and Bruno Oliveira for the PR. - fix issue855: passing str objects as `plugins` argument to pytest.main is now interpreted as a module name to be imported and registered as a plugin, instead of silently having no effect. Thanks xmo-odoo for the report and Bruno Oliveira for the PR. - fix issue744: fix for ast.Call changes in Python 3.5+. Thanks Guido van Rossum, Matthias Bussonnier, Stefan Zimmermann and Thomas Kluyver. - fix issue842: applying markers in classes no longer propagate this markers to superclasses which also have markers. Thanks xmo-odoo for the report and Bruno Oliveira for the PR. - preserve warning functions after call to pytest.deprecated_call. Thanks Pieter Mulder for PR. - fix issue854: autouse yield_fixtures defined as class members of unittest.TestCase subclasses now work as expected. Thannks xmo-odoo for the report and Bruno Oliveira for the PR. - fix issue833: --fixtures now shows all fixtures of collected test files, instead of just the fixtures declared on the first one. Thanks Florian Bruhin for reporting and Bruno Oliveira for the PR. - fix issue863: skipped tests now report the correct reason when a skip/xfail condition is met when using multiple markers. Thanks Raphael Pierzina for reporting and Bruno Oliveira for the PR. - optimized tmpdir fixture initialization, which should make test sessions faster (specially when using pytest-xdist). The only visible effect is that now pytest uses a subdirectory in the $TEMP directory for all directories created by this fixture (defaults to $TEMP/pytest-$USER). Thanks Bruno Oliveira for the PR. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-2.3.0: changed pypi caching, semantic versioning
devpi-server-2.3: more resilient pypi caching, semantic versioning The devpi-server-2.3 release brings two important changes: - We don't use the XMLRPC "changelog" interface of pypi.python.org anymore. Instead devpi-server now re-checks with pypi every 30 minutes and will serve cached contents in between. If pypi is not reachable and we still have cached contents we continue serving the cached content so that we can survive pypi outages. - we switched to semantic versioning so that only major version number increases signal the need for an export/import cycle. If you have a devpi-server-2.2.X installation you are not required to export/import. However, there has been a regression with the execnet-1.4.0 release which was fixed with the now current execnet-1.4.1 release. If you have freshly setup devpi-server and used execnet-1.4.0 at that time you will need to do an export with execnet-1.4.0 and then import with execnet-1.4.1 installed. Note also that we released new micro releases of devpi-client and devpi-web which are pure bugfixing releases. For many more changes and fixes, please see the respective CHANGELOG of the respective packages. For docs and quickstart tutorials see http://doc.devpi.net many thanks to Florian Schulze who any of the new features. And special thanks go to the two still unnamed companies who funded major parts of the above work. have fun, holger krekel, merlinux GmbH 2.3.0 (2015-09-10) -- - switched to semantic versioning. Only major revisions will ever require an export/import cycle. - fix issue260: Log identical upload message on level "info" - Log upload trigger message on level "warn" - The PyPI changelog isn't watched for changes anymore. Instead we cache release data for 30 minutes, this can be adjusted with the ``--mirror-cache-expiry`` option. - fix issue251: Require and validate the "X-DEVPI-SERIAL" from master in replica thread - fix issue258: fix FileReplicationError representation for proper logging - fix issue256: if a project removes all releases from pypi or the project is deleted on pypi, we get a 404 back. In that case we now return an empty list of releases instead of returning an UpstreamError. - Change nginx template to serve HEAD in addition to GET requests of files directly instead of proxying to devpi-server - make keyfs cache size configurable via "--keyfs-cache-size" option and increase the default size to improve performance for installations with many writes -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-{server-2.2.2,web-2.4.0,client-2.3.0} releases
We just released devpi-server-2.2.2, devpi-web-2.4.0 and devpi-client-2.3.0, core parts of the private pypi package management and testing system. Among the highlights are support for distributed testing with devpi test --detox, new status pages at /+status for replica and master sites and support for configuring upload formats when running devpi upload. None of the changes require an export/import cycle on the server side if you used devpi-server-2.2.X before. However, please read the respective changelog entries below for some notes and potentially backward-incompatible changes. See the home page for docs and tutorials: http://doc.devpi.net have fun, Holger Krekel and Florian Schulze contracting: http://merlinux.eu server-2.2.2 - make replica thread more robust by catching more exceptions - Remove duplicates in plugin version info - track timestamps for event processing and replication and expose in /+status - implement devpiweb_get_status_info hook for devpi-web = 2.4.0 status messages - UPGRADE NOTE: if devpi-web is installed, you have to request ``application/json`` for ``/+status``, or you might get a html page. - address issue246: refuse uploading release files if they do not contain the version that was transferred with the metadata of the upload request. - fix issue248: prevent change of index type after creation web-2.4.0 - - macros.pt: Add autofocus attribute to search field - macros.pt and style.css: Moved How to search? to the right of the search button and adjusted width of search field accordingly. - fix issue244: server status info - added support for status message plugin hook ``devpiweb_get_status_info`` - macros.pt: added macros ``status`` and ``statusbadge`` and placed them below the search field. - added status.pt: shows server status information - toxresults.pt: fix missing closing ``div`` tag. client-2.3.0 - fix issue247: possible password leakage to log in devpi-client - new experimental -d|--detox option to run tests via the detox distributed testing tool instead of tox which runs test environments one by one. - address issue246: make sure we use vcs-export also for building docs (and respect --no-vcs for all building activity) - address issue246: copy VCS repo dir to temporary upload dir to help with setuptools_scm. Warn if VCS other than hg/git are used because we don't copy the repo in that case for now and thus cause incompatibility with setuptools_scm. - (new,experimental) read a [devpi:upload] section from a setup.cfg file with a formats setting that will be taken if no --formats option is specified to devpi upload. This allows to specify the default artefacts that should be created along with a project's setup.cfg file. Also you can use a ``no-vcs = True`` setting to induce the ``--no-vcs`` option. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.7.2: bug fixes
pytest-2.7.2: bug fixes === pytest is a mature Python testing tool with more than a 1100 tests against itself, passing on many different interpreters and platforms. This release is supposed to be drop-in compatible to 2.7.1. See below for the changes and see docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to all who contributed to this release, among them: Bruno Oliveira Floris Bruynooghe Punyashloka Biswal Aron Curzon Benjamin Peterson Thomas De Schampheleire Edison Gustavo Muenz Holger Krekel Happy testing, The py.test Development Team 2.7.2 (compared to 2.7.1) - - fix issue767: pytest.raises value attribute does not contain the exception instance on Python 2.6. Thanks Eric Siegerman for providing the test case and Bruno Oliveira for PR. - Automatically create directory for junitxml and results log. Thanks Aron Curzon. - fix issue713: JUnit XML reports for doctest failures. Thanks Punyashloka Biswal. - fix issue735: assertion failures on debug versions of Python 3.4+ Thanks Benjamin Peterson. - fix issue114: skipif marker reports to internal skipping plugin; Thanks Floris Bruynooghe for reporting and Bruno Oliveira for the PR. - fix issue748: unittest.SkipTest reports to internal pytest unittest plugin. Thanks Thomas De Schampheleire for reporting and Bruno Oliveira for the PR. - fix issue718: failed to create representation of sets containing unsortable elements in python 2. Thanks Edison Gustavo Muenz - fix issue756, fix issue752 (and similar issues): depend on py-1.4.29 which has a refined algorithm for traceback generation. -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Re: [TIP] tox-2.1.0: passenv refinements
FWIW did a tox-2.1.1 fixing some interoperability issues with detox, the distributed tox runner. cheers, holger On Fri, Jun 19, 2015 at 14:09 +, holger krekel wrote: I just released tox-2.1.0 to pypi which streamlines the passenv behaviour to accomodate a number of issues, see the changelog below. You can find docs for the virtualenv based test runner here: http://tox.testrun.org have fun, holger 2.1.0 - - fix issue258, fix issue248, fix issue253: for non-test commands (installation, venv creation) we pass in the full invocation environment. - remove experimental --set-home option which was hardly used and hackily implemented (if people want home-directory isolation we should figure out a better way to do it, possibly through a plugin) - fix issue259: passenv is now a line-list which allows to intersperse comments. Thanks stefano-m. - allow envlist to be a multi-line list, to intersperse comments and have long envlist settings split more naturally. Thanks Andre Caron. - introduce a TOX_TESTENV_PASSENV setting which is honored when constructing the set of environment variables for test environments. Thanks Marc Abramowitz for pushing in this direction. ___ testing-in-python mailing list testing-in-pyt...@lists.idyll.org http://lists.idyll.org/listinfo/testing-in-python -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.1.0: passenv refinements
I just released tox-2.1.0 to pypi which streamlines the passenv behaviour to accomodate a number of issues, see the changelog below. You can find docs for the virtualenv based test runner here: http://tox.testrun.org have fun, holger 2.1.0 - - fix issue258, fix issue248, fix issue253: for non-test commands (installation, venv creation) we pass in the full invocation environment. - remove experimental --set-home option which was hardly used and hackily implemented (if people want home-directory isolation we should figure out a better way to do it, possibly through a plugin) - fix issue259: passenv is now a line-list which allows to intersperse comments. Thanks stefano-m. - allow envlist to be a multi-line list, to intersperse comments and have long envlist settings split more naturally. Thanks Andre Caron. - introduce a TOX_TESTENV_PASSENV setting which is honored when constructing the set of environment variables for test environments. Thanks Marc Abramowitz for pushing in this direction. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
new devpi-server/web/client/common: wheel testing, SHA256, ...
devpi-{server-2.2,web-2.3,client-2.2}: plugins, wheel support, pypi compat With devpi-server-2.2, devpi-web-2.3, devpi-client-2.2 you'll get a host of fixes and improvements as well as some major new features for the private pypi system: - refined devpi-server plugin architecture based on pluggy, the plugin and hook mechanism factored out from pytest. - devpi-client test now support testing of universal wheels IFF you have have an sdist alongside your wheel. python-specific wheels are not supported at this point. - devpi client refresh NAME allows to force a refresh of a pypi package from the command line. - internal refactorings to allow future pypi compatibility (for when it changes to SHA256 checksums). Also we use SHA256 checksumming ourselves now. For many more changes and fixes, please see the respective CHANGELOG of the respective packages. UPGRADE note: devpi-server-2.2 requires to ``--export`` your 2.1 server state and then using ``--import`` with the new version before you can serve your private packages through devpi-server-2.2. UPGRADE note: if you use ``updatetrigger_jenkins``, you have to install the devpi-jenkins plugin. You will get an error during import if you forget it. For docs and quickstart tutorials see http://doc.devpi.net many thanks to Florian Schulze who co-implemented many of the new features. And special thanks go to the two companies who funded major parts of the above work. have fun, holger krekel, merlinux GmbH -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-2.0.0: plugin support, platforms, env isolation
tox-2.0: plugins, platform, env isolation == tox-2.0 was released to pypi, a major new release with *mostly* backward-compatible enhancements and fixes: - experimental support for plugins, see https://testrun.org/tox/dev/plugins.html which includes also a refined internal registration mechanism for new testenv ini options. You can now ask tox which testenv ini parameters exist with ``tox --help-ini``. - ENV isolation: only pass through very few environment variables from the tox invocation to the test environments. This may break test runs that previously worked with tox-1.9 -- you need to either use the ``setenv`` or ``passenv`` ini variables to set appropriate environment variables. - PLATFORM support: you can set ``platform=REGEX`` in your testenv sections which lets tox skip the environment if the REGEX does not match ``sys.platform``. - tox now stops execution of test commands if the first of them fails unless you set ``ignore_errors=True``. Thanks to Volodymyr Vitvitski, Daniel Hahler, Marc Abramowitz, Anthon van der Neuth and others for contributions. More documentation about tox in general: http://tox.testrun.org/ Installation: pip install -U tox code hosting and issue tracking on bitbucket: https://bitbucket.org/hpk42/tox What is tox? tox standardizes and automates tedious test activities driven from a simple ``tox.ini`` file, including: * 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 best, Holger Krekel, merlinux GmbH -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu 2.0.0 --- - (new) introduce environment variable isolation: tox now only passes the PATH and PIP_INDEX_URL variable from the tox invocation environment to the test environment and on Windows also ``SYSTEMROOT``, ``PATHEXT``, ``TEMP`` and ``TMP`` whereas on unix additionally ``TMPDIR`` is passed. If you need to pass through further environment variables you can use the new ``passenv`` setting, a space-separated list of environment variable names. Each name can make use of fnmatch-style glob patterns. All environment variables which exist in the tox-invocation environment will be copied to the test environment. - a new ``--help-ini`` option shows all possible testenv settings and their defaults. - (new) introduce a way to specify on which platform a testenvironment is to execute: the new per-venv platform setting allows to specify a regular expression which is matched against sys.platform. If platform is set and doesn't match the platform spec in the test environment the test environment is ignored, no setup or tests are attempted. - (new) add per-venv ignore_errors setting, which defaults to False. If ``True``, a non-zero exit code from one command will be ignored and further commands will be executed (which was the default behavior in tox 2.0). If ``False`` (the default), then a non-zero exit code from one command will abort execution of commands for that environment. - show and store in json the version dependency information for each venv - remove the long-deprecated distribute option as it has no effect these days. - fix issue233: avoid hanging with tox-setuptools integration example. Thanks simonb. - fix issue120: allow substitution for the commands section. Thanks Volodymyr Vitvitski. - fix issue235: fix AttributeError with --installpkg. Thanks Volodymyr Vitvitski. - tox has now somewhat pep8 clean code, thanks to Volodymyr Vitvitski. - fix issue240: allow to specify empty argument list without it being rewritten to .. Thanks Daniel Hahler. - introduce experimental (not much documented yet) plugin system based on pytest's externalized pluggy system. See tox/hookspecs.py for the current hooks. - introduce parser.add_testenv_attribute() to register an ini-variable for testenv sections. Can be used from plugins through the tox_add_option hook. - rename internal files -- tox offers no external API except for the experimental plugin hooks, use tox internals at your own risk. - DEPRECATE distshare in documentation -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-client-2.1.0/devpi-server-2.1.5: maintenance releases
We just released devpi-server-2.1.5 and devpi-client-2.1.0 as maintenance and minor improvement releases. devpi is a system for managing packaging, documentation, test and installation workflows for private Python packages. See http://doc.devpi.net for documentation and tutorials and below for the changelog. many thanks to Florian Schulze who did most of the heavy-lifting for this release and of course to the issue/PR creators! best, holger krekel changelogs -- devpi-server-2.1.5 (compared to 2.1.4): - fix devpi-ldap issue17: the push command directly used the username instead of using a general permission check, that caused groups in acl_upload to not be honored. - fix issue171: devpi push of an existing package fails on non volatile index and overwrites on volatile. - before devpi-server 2.1.5 it was possible to upload multiple documentation zip files for the same package version if the filename differed in case, this broke export and replication of server state and the documentation view. Now the newest upload will be used and older ones ignored. devpi-client-2.1.0 (compared to 2.0.5): - fix issue199: devpi upload and devpi test can now handle packages with dashes in their name. - change: the following fixes change behavior if used in scripts - fix issue174: ask for confirmation when deleting an index or user. - fix issue156 and issue199: devpi push now uses pkgname==version like list and test. This also fixes usage with packages containing dashes in their name. -- about me:http://holgerkrekel.net/about-me/ contracting: http://merlinux.eu -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Re: [Distutils] Call for information - What assumptions can I make about Unix users' access to Windows?
On Sat, Nov 15, 2014 at 10:45 +, Paul Moore wrote: On 7 November 2014 15:46, Paul Moore p.f.mo...@gmail.com wrote: To that end, I'd like to get an idea of what sort of access to Windows a typical Unix developer would have. Thanks to all who contributed to this thread. Based on the feedback, I think it's going to be useful to provide two options. First of all, an EC2 AMI that can be used by people without access to a local Windows system. While other cloud providers are a possibility, EC2 provides a free tier (for the first year) and is well-known, so it's probably the easiest to get started with (at least it was for me!) Also, I will provide a script that can be used to automatically build the environment on a newly-installed machine. The idea is that you can use this on a Windows VM (something that a number of people have said they have access to). The script may be usable on an existing machine, but it's hard to make it robust, as there are too many failure modes to consider (software already installed, configuration and/or permission differences, etc). So while such use may be possible, I probably won't consider it as supported. Thanks Paul for going through this! Looking forward to the link/code. holger Thanks again, Paul ___ Distutils-SIG maillist - distutils-...@python.org https://mail.python.org/mailman/listinfo/distutils-sig -- https://mail.python.org/mailman/listinfo/python-list
pytest-2.6.4: bugfix release
Hi all, just pushed pytest-2.6.4 to pypi, a small bug fix release. pytest is a popular and mature Python testing tool with more than a 1100 tests against itself, passing on many different interpreters and platforms. This release is drop-in compatible to 2.5.2 and 2.6.X. See below for the changes and see docs at: http://pytest.org Thanks to all who contributed, among them: Bruno Oliveira Floris Bruynooghe Dinu Gherman Anatoly Bubenkoff best, holger krekel, merlinux GmbH 2.6.4 -- - Improve assertion failure reporting on iterables, by using ndiff and pprint. - removed outdated japanese docs from source tree. - docs for pytest_addhooks hook. Thanks Bruno Oliveira. - updated plugin index docs. Thanks Bruno Oliveira. - fix issue557: with -k we only allow the old style - for negation at the beginning of strings and even that is deprecated. Use not instead. This should allow to pick parametrized tests where - appeared in the parameter. - fix issue604: Escape % character in the assertion message. - fix issue620: add explanation in the --genscript target about what the binary blob means. Thanks Dinu Gherman. - fix issue614: fixed pastebin support. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-{server-2.1.2,web-2.2.1}: bugfixes, streamlined web templates
devpi-server-2.1.2 and devpi-web-2.2.1 bring a host of fixes to the private pypi server system. You can upgrade without migrating your data if you run already with devpi-server-2.1.X. Find docs as usual at: http://doc.devpi.net Many thanks to Florian Schulze who did most of the changes in devpi-web. Have fun, holger krekel, merlinux GmbH devpi-server-2.1.2 -- - fix issue172: avoid traceback when user/index/name/version is accessed. - fix issue170: ensure that we parse the prospective pip-6.0 user agent string properly so that using the username/index url works with pip. Thanks Donald Stufft and Florian Schulze. - fix issue158: redirect to normalized projectname for all GET views. - fix issue169: change /+status to expose event_serial as the last event serial that was processed. document serial and event-serial and also refine internals wrt to event-serial so that it means the last serial for which events have been processed devpi-web-2.2.1 --- - require devpi-server=2.1.2 - fix issue175: use normalized name of projects, so redirects from unnormalized names works. NOTE that if you had issues with documentation uploads not appearing because of normalization issues (- or _ appearing in the name for example) you need to re-upload the docs or do a full export/import cycle. - fix view when tox results can not be parsed. - version.pt: removed code tag around overwrite count. - macros.pt: added footer tag around the whole footer part. - version.pt: moved file type, python version and size info from their own columns into the file column. - version.pt: moved history column from before the tox results column to behind the tox results. - version.pt: removed last modified from history column - version.pt: removed timestamp from replaced action in history column - version.pt: add link to PyPI page if applicable. - fix project page view if there are downloads with filenames which can't be parsed as packages with version number - fix notfound-redirect when serving under an outside URL with a sub path -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.6.3: some fixes
pytest-2.6.3: fixes and little improvements === pytest is a mature Python testing tool with more than a 1100 tests against itself, passing on many different interpreters and platforms. This release is drop-in compatible to 2.5.2 and 2.6.X. See below for the changes and see docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to all who contributed, among them: Floris Bruynooghe Oleg Sinyavskiy Uwe Schmitt Charles Cloud Wolfgang Schnerring have fun, holger krekel Changes 2.6.3 == - fix issue575: xunit-xml was reporting collection errors as failures instead of errors, thanks Oleg Sinyavskiy. - fix issue582: fix setuptools example, thanks Laszlo Papp and Ronny Pfannschmidt. - Fix infinite recursion bug when pickling capture.EncodedFile, thanks Uwe Schmitt. - fix issue589: fix bad interaction with numpy and others when showing exceptions. Check for precise maximum recursion depth exceed exception instead of presuming any RuntimeError is that one (implemented in py dep). Thanks Charles Cloud for analysing the issue. - fix conftest related fixture visibility issue: when running with a CWD outside a test package pytest would get fixture discovery wrong. Thanks to Wolfgang Schnerring for figuring out a reproducable example. - Introduce pytest_enter_pdb hook (needed e.g. by pytest_timeout to cancel the timeout when interactively entering pdb). Thanks Wolfgang Schnerring. - check xfail/skip also with non-python function test items. Thanks Floris Bruynooghe. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.8: parametrized/generative environments
tox 1.8: Generative/combinatorial environments specs = I am happy to announce tox 1.8 which implements parametrized environments and should otherwise be fully backward compatible to tox-1.7.2. See https://tox.testrun.org/latest/config.html#generating-environments-conditional-settings for examples and the new backward compatible syntax in your tox.ini file. Many thanks to Alexander Schepanovski for implementing and refining it based on the specifcation draft. More documentation about tox in general: http://tox.testrun.org/ Installation: pip install -U tox code hosting and issue tracking on bitbucket: https://bitbucket.org/hpk42/tox What is tox? tox standardizes and automates tedious test activities driven from a simple ``tox.ini`` file, including: * 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 best, Holger Krekel, merlinux GmbH Changes 1.8 (compared to 1.7.2) --- - new multi-dimensional configuration support. Many thanks to Alexander Schepanovski for the complete PR with docs. And to Mike Bayer and others for testing and feedback. - fix issue148: remove __PYVENV_LAUNCHER__ from os.environ when starting subprocesses. Thanks Steven Myint. - fix issue152: set VIRTUAL_ENV when running test commands, thanks Florian Ludwig. - better report if we can't get version_info from an interpreter executable. Thanks Floris Bruynooghe. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-xdist-1.11: restarting crash nodes, fixture cache fix
I just released pytest-xdist-1.11, the distributed testing plugin for pytest. It introduces automatic restarting of crashed nodes, courtesy of a complete PR from Floris Bruynooghe. This also works well together with pytest-timeout by the same author: When one or more test functions hang or crash, the overall test run will still complete and report about the incidents. See the changelog below for more changes and the pypi project page for what pytest-xdist offers in general: https://pypi.python.org/pypi/pytest-xdist/ Thanks also to an undisclosed company who partly funded the work and to Andreas Pelme for contributing analysis of a fixture caching failure including a test. best, Holger Krekel 1.11 - - fix pytest/xdist issue485 (also depends on py-1.4.22): attach stdout/stderr on --boxed processes that die. - fix pytest/xdist issue503: make sure that a node has usually two items to execute to avoid scoped fixtures to be torn down pre-maturely (fixture teardown/setup is nextitem sensitive). Thanks to Andreas Pelme for bug analysis and failing test. - restart crashed nodes by internally refactoring setup handling of nodes. Also includes better code documentation. Many thanks to Floris Bruynooghe for the complete PR. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-{server-2.1,web-2.2}: upload history, deploy status, groups
devpi-{server-2.1,web-2.2}: upload history, deploy status, groups == With devpi-server-2.1 and devpi-web-2.2 you'll get a host of fixes and improvements as well as some major new features for the private pypi system: - upload history: release/tests/doc files now carry metadata for by whom, when and to which index something was uploaded - deployment status: the new json /+status gives detailed information about a replica or master's internal state - a new authentication hook supports arbitrary external authentication systems which can also return group membership information. An initial separately released devpi-ldap plugin implements verification accordingly. You can specify groups in ACLs with the :GROUPNAME syntax. - a new --restrict-modify=ACL option to start devpi-server such that only select accounts can create new or modify users or indexes For many more changes and fixes, please see the CHANGELOG information below. UPGRADE note: devpi-server-2.1 requires to ``--export`` your 2.0 server state and then using ``--import`` with the new version before you can serve your private packages through devpi-server-2.1. Please checkout the web plugin if you want to have a web interface:: http://doc.devpi.net/2.1/web.html Here is a Quickstart tutorial for efficient pypi-mirroring on your laptop:: http://doc.devpi.net/2.1/quickstart-pypimirror.html And if you want to manage your releases or implement staging as an individual or within an organisation:: http://doc.devpi.net/2.1/quickstart-releaseprocess.html If you want to host a devpi-server installation with nginx/supervisor and access it from clients from different hosts:: http://doc.devpi.net/2.1/quickstart-server.html More documentation here:: http://doc.devpi.net/2.1/ many thanks to Florian Schulze who co-implemented many of the new features. And special thanks go to the two companies who funded major parts of the above work. have fun, Holger Krekel, merlinux GmbH devpi-server-2.1.0 (compared to 2.0.6) - make replication more precise: if a file cannot be replicated, fail with an error log and try again in a few seconds. This helps to maintain a consistent replica and discover the potential remaining bugs in the replication code. - add who/when metadata to release files, doczips and test results and preserve it during push operations so that any such file provides some history which can be visualized via the web-plugin. The metadata is also exposed via the json API (/USER/INDEX/PROJECTNAME[/VERSION]) - fix issue113: provide json status information at /+status including roles and replica polling status, UUIDs of the repository. See new server status docs for more info. - support for external authentication plugins: new devpiserver_auth_user hook which plugins can implement for user/password validation and for providing group membership. - support groups for acl_upload via the :GROUPNAME syntax. This requires an external authentication plugin that provides group information. - on replicas return auth status for +api requests by relaying to the master instead of using own key. - add --restrict-modify option to specify users/groups which can create, delete and modify users and indices. - make master/replica configuration more permanent and a bit safer against accidental errors: introduce --role=auto option, defaulting to determine the role from a previous invocation or the presence of the --master-url option if there was no previous invocation. Also verify that a replica talks to the same master UUID as with previous requests. - replaced hack from nginx template which abused try_files in location / with the recommended error_page/return combo. Thanks Jürgen Hermann - change command line option --master to --master-url - fix issue97: remove already deprecated --upgrade option in favor of just using --export/--import - actually store UTC in last_modified attribute of release files instead of the local time disguising as UTC. preserve last_modified when pushing a release. - fix exception when a static resource can't be found. - address issue152: return a proper 400 not registered message instead of 500 when a doczip is uploaded without prior registration. - add OSX/launchd example configuration when --gen-config is issued. thanks Sean Fisk. - fix replica proxying: don't pass original host header when relaying a modifying request from replica to master. - fix export error when a private project doesnt exist on pypi - fix pushing of a release when it contains multiple tox results. - fix refresh button on simple pages on replica sites - fix an internal link code issue
pytest-2.6.2: fixes and freeze support
pytest-2.6.2: few fixes and cx_freeze support === pytest is a mature Python testing tool with more than a 1100 tests against itself, passing on many different interpreters and platforms. This release is drop-in compatible to 2.5.2 and 2.6.X. It also brings support for including pytest with cx_freeze or similar freezing tools into your single-file app distribution. For details see the CHANGELOG below. See docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to all who contributed, among them: Floris Bruynooghe Benjamin Peterson Bruno Oliveira have fun, holger krekel 2.6.2 --- - Added function pytest.freeze_includes(), which makes it easy to embed pytest into executables using tools like cx_freeze. See docs for examples and rationale. Thanks Bruno Oliveira. - Improve assertion rewriting cache invalidation precision. - fixed issue561: adapt autouse fixture example for python3. - fixed issue453: assertion rewriting issue with __repr__ containing \n{, \n} and \n~. - fix issue560: correctly display code if an else: or finally: is followed by statements on the same line. - Fix example in monkeypatch documentation, thanks t-8ch. - fix issue572: correct tmpdir doc example for python3. - Do not mark as universal wheel because Python 2.6 is different from other builds due to the extra argparse dependency. Fixes issue566. Thanks sontek. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-2.0.3: fix for plain setup.py register
Florian Schulze and me just released devpi-server-2.0.3 fixing a regression from the 1.X series preventing a plain python setup.py register -r NAME to succeed. have fun, holger On Wed, Aug 06, 2014 at 21:41 +, holger krekel wrote: The new devpi releases (devpi-server-2.0.2, devpi-web-2.0.1, devpi-client-2.0.1) contain several fixes for the private github-style pypi caching server, see the changelog below for details. Find all the documentation at http://doc.devpi.net/latest with tutorials and quickstart documents for particular scenarios. Note that no export/import procedure is needed if you are already running a 2.X devpi-server. If upgrading from a 1.2 devpi-server install, you need to upgrade using these instructions: http://doc.devpi.net/latest/quickstart-server.html#versioning-exporting-and-importing-server-state many thanks to Florian Schulze who again helped a lot with this release. have fun, holger krekel devpi-2.0.1 (metapackage) - devpi-server-2.0.2: - fix issue120: link to upgrade section from main index page. - preserve http reason string for setup.py submit through replica proxying - proper error message when devpi push X uses an X that comes from a base index or is not existent - fix issue121: depend on py-1.4.23 to fix python3.4 compatibility for a venusian/py34/py interaction import oddity. - fix issue126: handle deletion of pypi project cache entries correctly (i.e. ones that are triggered by refresh on simple page). - Add special handling of :ANONYMOUS: user in acl_upload to allow anonymous submit. - fix nginx template so that when used in a replica setting the master always answers HEAD requests without nginx short-cirtcuiting it. - increase internal cache size to improve performance when many indexes and projects are served. devpi-web-2.0.1: - fix issue125: javascript for embedded doc view didn't work correctly. - fix issue118: rendering of description with unicode. devpi-client-2.0.1: - fix a test to expect a 403 instead of a 401 from devpi server from unauthorized access - fix error message on API version client/server mismatch - fix issue124: package name url matching for the devpi test command ___ Distutils-SIG maillist - distutils-...@python.org https://mail.python.org/mailman/listinfo/distutils-sig -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
new devpi-2.0.1/2 releases: fixes, new anonymous upload
The new devpi releases (devpi-server-2.0.2, devpi-web-2.0.1, devpi-client-2.0.1) contain several fixes for the private github-style pypi caching server, see the changelog below for details. Find all the documentation at http://doc.devpi.net/latest with tutorials and quickstart documents for particular scenarios. Note that no export/import procedure is needed if you are already running a 2.X devpi-server. If upgrading from a 1.2 devpi-server install, you need to upgrade using these instructions: http://doc.devpi.net/latest/quickstart-server.html#versioning-exporting-and-importing-server-state many thanks to Florian Schulze who again helped a lot with this release. have fun, holger krekel devpi-2.0.1 (metapackage) - devpi-server-2.0.2: - fix issue120: link to upgrade section from main index page. - preserve http reason string for setup.py submit through replica proxying - proper error message when devpi push X uses an X that comes from a base index or is not existent - fix issue121: depend on py-1.4.23 to fix python3.4 compatibility for a venusian/py34/py interaction import oddity. - fix issue126: handle deletion of pypi project cache entries correctly (i.e. ones that are triggered by refresh on simple page). - Add special handling of :ANONYMOUS: user in acl_upload to allow anonymous submit. - fix nginx template so that when used in a replica setting the master always answers HEAD requests without nginx short-cirtcuiting it. - increase internal cache size to improve performance when many indexes and projects are served. devpi-web-2.0.1: - fix issue125: javascript for embedded doc view didn't work correctly. - fix issue118: rendering of description with unicode. devpi-client-2.0.1: - fix a test to expect a 403 instead of a 401 from devpi server from unauthorized access - fix error message on API version client/server mismatch - fix issue124: package name url matching for the devpi test command -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.6.1: fixes and expecting exceptions in xfail
pytest-2.6.1: fixes and new xfail marker feature === pytest is a mature Python testing tool with an extensive self-test test suite, passing on many different interpreters and platforms. The 2.6.1 release is drop-in compatible to 2.5.2 and actually fixes some regressions introduced with 2.6.0. It also brings a little feature to the xfail marker which now recognizes expected exceptions, see the CHANGELOG below. See docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to all who contributed, among them: Floris Bruynooghe Bruno Oliveira Nicolas Delaby have fun, holger krekel Changes 2.6.1 = - No longer show line numbers in the --verbose output, the output is now purely the nodeid. The line number is still shown in failure reports. Thanks Floris Bruynooghe. - fix issue437 where assertion rewriting could cause pytest-xdist slaves to collect different tests. Thanks Bruno Oliveira. - fix issue555: add errors attribute to capture-streams to satisfy some distutils and possibly other code accessing sys.stdout.errors. - fix issue547 capsys/capfd also work when output capturing (-s) is disabled. - address issue170: allow pytest.mark.xfail(...) to specify expected exceptions via an optional raises=EXC argument where EXC can be a single exception or a tuple of exception classes. Thanks David Mohr for the complete PR. - fix integration of pytest with unittest.mock.patch decorator when it uses the new argument. Thanks Nicolas Delaby for test and PR. - fix issue with detecting conftest files if the arguments contain :: node id specifications (copy pasted from -v output) - fix issue544 by only removing @NUM at the end of :: separated parts and if the part has an .py extension - don't use py.std import helper, rather import things directly. Thanks Bruno Oliveira. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.6: shorter TBs, new warning system, better nose/mock support
pytest-2.6.0: shorter tracebacks, new warning system, test runner compat === pytest is a mature Python testing tool with more than a 1000 tests against itself, passing on many different interpreters and platforms. The 2.6.0 release should be drop-in backward compatible to 2.5.2 and fixes a number of bugs and brings some new features, mainly: - shorter tracebacks by default: only the first (test function) entry and the last (failure location) entry are shown, the ones between only in short format. Use ``--tb=long`` to get back the old behaviour of showing long entries everywhere. - a new warning system which reports oddities during collection and execution. For example, ignoring collecting Test* classes with an ``__init__`` now produces a warning. - various improvements to nose/mock/unittest integration Note also that 2.6.0 departs with the zero reported bugs policy because it has been too hard to keep up with it, unfortunately. Instead we are for now rather bound to work on upvoted issues in the https://bitbucket.org/hpk42/pytest/issues?status=newstatus=opensort=-votes issue tracker. See docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to all who contributed, among them: Benjamin Peterson Jurko Gospodnetić Floris Bruynooghe Marc Abramowitz Marc Schlaich Trevor Bekolay Bruno Oliveira Alex Groenholm have fun, holger krekel 2.6.0 --- - fix issue537: Avoid importing old assertion reinterpretation code by default. Thanks Benjamin Peterson. - fix issue364: shorten and enhance tracebacks representation by default. The new --tb=auto option (default) will only display long tracebacks for the first and last entry. You can get the old behaviour of printing all entries as long entries with --tb=long. Also short entries by default are now printed very similarly to --tb=native ones. - fix issue514: teach assertion reinterpretation about private class attributes Thanks Benjamin Peterson. - change -v output to include full node IDs of tests. Users can copy a node ID from a test run, including line number, and use it as a positional argument in order to run only a single test. - fix issue 475: fail early and comprehensible if calling pytest.raises with wrong exception type. - fix issue516: tell in getting-started about current dependencies. - cleanup setup.py a bit and specify supported versions. Thanks Jurko Gospodnetic for the PR. - change XPASS colour to yellow rather then red when tests are run with -v. - fix issue473: work around mock putting an unbound method into a class dict when double-patching. - fix issue498: if a fixture finalizer fails, make sure that the fixture is still invalidated. - fix issue453: the result of the pytest_assertrepr_compare hook now gets it's newlines escaped so that format_exception does not blow up. - internal new warning system: pytest will now produce warnings when it detects oddities in your test collection or execution. Warnings are ultimately sent to a new pytest_logwarning hook which is currently only implemented by the terminal plugin which displays warnings in the summary line and shows more details when -rw (report on warnings) is specified. - change skips into warnings for test classes with an __init__ and callables in test modules which look like a test but are not functions. - fix issue436: improved finding of initial conftest files from command line arguments by using the result of parse_known_args rather than the previous flaky heuristics. Thanks Marc Abramowitz for tests and initial fixing approaches in this area. - fix issue #479: properly handle nose/unittest(2) SkipTest exceptions during collection/loading of test modules. Thanks to Marc Schlaich for the complete PR. - fix issue490: include pytest_load_initial_conftests in documentation and improve docstring. - fix issue472: clarify that ``pytest.config.getvalue()`` cannot work if it's triggered ahead of command line parsing. - merge PR123: improved integration with mock.patch decorator on tests. - fix issue412: messing with stdout/stderr FD-level streams is now captured without crashes. - fix issue483: trial/py33 works now properly. Thanks Daniel Grana for PR. - improve example for pytest integration with python setup.py test which now has a generic -a or --pytest-args option where you can pass additional options as a quoted string. Thanks Trevor Bekolay. - simplified internal capturing mechanism and made it more robust against tests or setups changing FD1/FD2, also better integrated now with pytest.pdb() in single tests. - improvements to pytest's own test-suite leakage detection, courtesy of PRs from Marc Abramowitz - fix issue492: avoid leak in test_writeorg. Thanks Marc Abramowitz. - fix issue493: don't
devpi-server 2.0.1 bugfixes
Hi again, a small follow up release of devpi-server is out to fix setup.py register/upload commands with basic auth. best, holger devpi-server-2.0.1 - fix regression which prevented the basic authentication for the setuptools upload/register commands to fail. Thanks Florian Schulze. - fix issue106: better error messages on upload failures. And better allow auto-registration when uploading release files. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.7.2: few fixes / posargs parsing change
Hi everybody, Just released tox-1.7.2 to PYPI, see the changelog below. Note: if you need bugs fixed or features implemented please submit PRs. Docs about tox: http://tox.testrun.org And repos and issues at: https://bitbucket.org/hpk42/tox have fun, holger 1.7.2 --- - fix issue150: parse {posargs} more like we used to do it pre 1.7.0. The 1.7.0 behaviour broke a lot of OpenStack projects. See PR85 and the issue discussions for (far) more details, hopefully resulting in a more refined behaviour in the 1.8 series. And thanks to Clark Boylan for the PR. - fix issue59: add a config variable ``skip-missing-interpreters`` as well as command line option ``--skip-missing-interpreters`` which won't fail the build if Python interpreters listed in tox.ini are missing. Thanks Alexandre Conrad for PR104. - fix issue164: better traceback info in case of failing test commands. Thanks Marc Abramowitz for PR92. - support optional env variable substitution, thanks Morgan Fainberg for PR86. - limit python hashseed to 1024 on Windows to prevent possible memory errors. Thanks March Schlaich for the PR90. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-2.0.0: web/search UI, replication, fixes
devpi-2.0.0: web, search, replication for PyPI indexes == The devpi system in version 2.0 brings tons of fixes and new features for the private github-style pypi caching server, most notably: - a new web interface featuring search of metadata and documentation as well as easier navigation and showing of test results per release file. - a new transactional storage system (based on sqlite) supporting real-time replication over http. - a new (experimental) hook system for extending server-side functionality. - ported to a solid web framework and wsgi-server: pyramid and waitress. Upgrade note: devpi-server-2.0 requires to ``--export`` your 1.2 server state and then using ``--import`` with the new version before you can serve your private packages through devpi-server-2.0.0. Also, please checkout the web plugin if you want to have a web interface:: http://doc.devpi.net/2.0/web.html Here is a Quickstart tutorial for efficient pypi-mirroring on your laptop:: http://doc.devpi.net/2.0/quickstart-pypimirror.html And if you want to manage your releases or implement staging as an individual or within an organisation:: http://doc.devpi.net/2.0/quickstart-releaseprocess.html If you want to host a devpi-server installation with nginx/supervisor and access it from clients from different hosts:: http://doc.devpi.net/2.0/quickstart-server.html More documentation here:: http://doc.devpi.net/2.0/ many many thanks to Florian Schulze who implemented the new ``devpi-web`` package and helped with many other improvements. have fun, Holger Krekel, merlinux GmbH 2.0.0 -- devpi-server: - major revamp of the internal core of devpi to support replication (both master and server code), a plugin architecture with the new devpi-web plugin providing a new web interface. Mostly done by Florian Schulze and Holger Krekel. - moved all html views except for files and the simple index to new devpi-web package. Thanks to Florian Schulze for the PR. - implement issue103: By default if you register a package in an index, no lookup on pypi is made for that package anymore. You have to add the package to the pypi_whitelist of the index to let pypi releases be mixed in. This is to prevent malicious uploads on pypi to overwrite private packages. - change json api to get rid of the different meaning of URLs with and without a trailing slash. /{user}/ is now the same as /user and always lists indices. /{user}/{index} and /{user}/{index}/ now always lists the index config and the contained per-stage projects (not inherited ones). - switch the wsgi app to use Pyramid and waitress for WSGI serving. - don't refresh releaselinks from the mirroring thread but rather rely on the next access to do it. - fix issue98: deleting a project config or a project version now accepts names which map to the canonical name of a project. - fix issue82 and fix issue81: root/pypi now provides the same attributes as normal indexes and results in a 409 MethodNotAllowed http code when trying to change the config. - fix issue91: make serverport available as well. Thanks David Bonner. - fix issue100: support large file uploads. As we switched away from bottle to pyramid, the body-size limit is gone. - fix issue99: make devpi-server --start etc work when devpi-server is not itself on PATH (by using sys.argv[0] for finding the binary) - fix issue84: uploading of wheels where the registered package name has an underscore works despite a wheel's metadata carrying hyphens instead. At submit-file time we now lookup the registered name and use that instead of assuming the one coming with the wheel is the correct one. - add refresh button on root/pypi project simple index pages which clears the internal cache to force a refetch from PyPI. - implement issue75: We use the custom X-Devpi-Auth header for authentication now, instead of overwriting the Authentication header. - added experimental support for using client certificates when running as a replica of a server running behind a proxy devpi-client: - Compatibility with devpi-server = 2.0.0 - introduce patchjson PATH JSONFILE command which allows to send a request containing a json data structure to a specified path - fix issue85: devpi list -v now shows package names
devpi client/server 1.2.2 releases
Hi all, finally i got around to do 1.2.2 releases of the devpi pypi server tools with a few fixes and improvements. See http://doc.devpi.net for docs and instructions and below for the changelog. cheers, holger krekel 1.2.2 devpi-server: - fix issue78: create less directories for pypi package files by splitting the md5 part into two. Avoids TooManyLinks errors in large installations. - fix --stop on windows. Thanks to Christian Ullrich for the PR. - fix issue79: interoperate with pip-1.5 by interpreting accept header as */* as html_preferred. Thanks Richard Jones. - use latest virtualenv-1.11.2 when bootstrapping on jenkins - fix issue89: adapt for bottle changes in 0.12.1. Thanks Alexey Sveshnikov. devpi-client: - depend on pkginfo1.2b1 for wheel metadata reading support, remove twine dependency. Thanks Tres Seaver. - new: also write buildout configuration file with --set-cfg. Thanks Christian Ullrich for the PR. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-xdist-1.10 released (distributed testing plugin)
Hi all, also released pytest-xdist-1.11 with some little improvements and speedups regarding overheads for distributing tests (maybe 10%, not too much). Install it with: pip install -U pytest-xdist and checkout the pypi page: https://pypi.python.org/pypi/pytest-xdist best, holger 1.10 - - add glob support for rsyncignores, add command line option to pass additional rsyncignores. Thanks Anatoly Bubenkov. - fix pytest issue382 - produce pytest_runtest_logstart event again in master. Thanks Aron Curzon. - fix pytest issue419 by sending/receiving indices into the test collection instead of node ids (which are not neccessarily unique for functions parametrized with duplicate values) - send multiple to test indices in one network message to a slave and improve heuristics for sending chunks where the chunksize depends on the number of remaining tests rather than fixed numbers. This reduces the number of master - node messages (but not the reverse direction) -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.7.0: many bug fixes and little improvements
Just released tox-1.7.0 (finally), the generic virtualenv-based test runner for Python. It contains a lot of fixes and improvements although there are some bugs remaining. While a lot of pull requests are thankfully offered i could use some more co-maintaining/reviewing to allow for some faster progress. Anyway, to install to 1.7.0 : pip install -U tox and to look at the docs: https://testrun.org/tox/latest/ have fun, holger 1.7.0 - - don't lookup pip-script anymore but rather just pip on windows as this is a pip implementation detail and changed with pip-1.5. It might mean that tox-1.7 is not able to install a different pip version into a virtualenv anymore. - drop Python2.5 compatibility because it became too hard due to the setuptools-2.0 dropping support. tox now has no support for creating python2.5 based environments anymore and all internal special-handling has been removed. - merged PR81: new option --force-dep which allows to override tox.ini specified dependencies in setuptools-style. For example --force-dep 'django1.6' will make sure that any environment using django as a dependency will get the latest 1.5 release. Thanks Bruno Oliveria for the complete PR. - merged PR125: tox now sets PYTHONHASHSEED to a random value and offers a --hashseed option to repeat a test run with a specific seed. You can also use --hashsheed=notset to instruct tox to leave the value alone. Thanks Chris Jerdonek for all the work behind this. - fix issue132: removing zip_safe setting (so it defaults to false) to allow installation of tox via easy_install/eggs. Thanks Jenisys. - fix issue126: depend on virtualenv=1.11.2 so that we can rely (hopefully) on a pip version which supports --pre. (tox by default uses to --pre). also merged in PR84 so that we now call virtualenv directly instead of looking up interpreters. Thanks Ionel Maries Cristian. This also fixes issue140. - fix issue130: you can now set install_command=easy_install {opts} {packages} and expect it to work for repeated tox runs (previously it only worked when always recreating). Thanks jenisys for precise reporting. - fix issue129: tox now uses Popen(..., universal_newlines=True) to force creation of unicode stdout/stderr streams. fixes a problem on specific platform configs when creating virtualenvs with Python3.3. Thanks Jorgen Schäfer or investigation and solution sketch. - fix issue128: enable full substitution in install_command, thanks for the PR to Ronald Evers - rework and simplify commands parsing and in particular posargs substitutions to avoid various win32/posix related quoting issues. - make sure that the --installpkg option trumps any usedevelop settings in tox.ini or - introduce --no-network to tox's own test suite to skip tests requiring networks - introduce --sitepackages to force sitepackages=True in all environments. - fix issue105 -- don't depend on an existing HOME directory from tox tests. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.5.2: fixes, plugin index, contribution guide
pytest-2.5.2: fixes, plugin page, contribution guide === pytest is a mature Python testing tool with more than a 1000 tests against itself, passing on many different interpreters and platforms. The 2.5.2 release fixes a few bugs with two maybe-bugs remaining and actively being worked on (and waiting for the bug reporter's input). We also have a new contribution guide thanks to Piotr Banaszkiewicz and an improved 3rd party plugin overview (including py2/py3 tests) page thanks to Bruno Oliveira. See docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to the following people who contributed to this release: Anatoly Bubenkov Ronny Pfannschmidt Floris Bruynooghe Bruno Oliveira Andreas Pelme Jurko Gospodnetić Piotr Banaszkiewicz Simon Liedtke lakka Lukasz Balcerzak Philippe Muller Daniel Hahler have fun, holger krekel 2.5.2 --- - fix issue409 -- better interoperate with cx_freeze by not trying to import from collections.abc which causes problems for py27/cx_freeze. Thanks Wolfgang L. for reporting and tracking it down. - fixed docs and code to use pytest instead of py.test almost everywhere. Thanks Jurko Gospodnetic for the complete PR. - fix issue425: mention at end of py.test -h that --markers and --fixtures work according to specified test path (or current dir) - fix issue413: exceptions with unicode attributes are now printed correctly also on python2 and with pytest-xdist runs. (the fix requires py-1.4.20) - copy, cleanup and integrate py.io capture from pylib 1.4.20.dev2 (rev 13d9af95547e) - address issue416: clarify docs as to conftest.py loading semantics - fix issue429: comparing byte strings with non-ascii chars in assert expressions now work better. Thanks Floris Bruynooghe. - make capfd/capsys.capture private, its unused and shouldnt be exposed -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
execnet-1.2 released: gevent/eventlet support, many improvements
Hi all, just released execnet-1.2, the tool for writing distributed zero-install python programs. The release contains lots of improvements and fixes. Most notably execnet now supports to use gevent/eventlet models on each of the initiating side and the remote side (configurable separately). See the changelog below for details. Install it via: pip install -U execnet Read the docs here: http://codespeak.net/execnet/ have fun playing, holger 1.2 - fix issue22 -- during interpreter shutdown don't throw an exception when we can't send a termination sequence anymore as we are about to die anyway. - fix issue24 -- allow concurrent creation of gateways by guarding automatic id creation by a look. Thanks tlecomte. - majorly refactor internal thread and IO handling. execnet can now operate on different thread models, defaults to thread but allows for eventlet and gevent if it is installed. - gateway.remote_exec() will now execute in multiple threads on the other side by default. The previous neccessity of running gateway.remote_init_threads() to allow for such concurrency is gone. The latter method is now a no-op and will be removed in future versions of execnet. - fix issue20: prevent AttributError at interpreter shutdown by not trying to send close/last_message messages if the world around is half destroyed. - fix issue21: allow to create local gateways with sudo aka makegateway(popen//python=sudo python). Thanks Alfredo Deza for the PR. - streamline gateway termination and simplify proxy implementation. add more internal tracing. - if execution hangs in computation, we now try to send a SIGINT to ourselves on Unix platforms instead of just calling thread.interrupt_main() - change license from GPL to MIT - introduce execnet.dump/load variants of dumps/loads serializing/unserializing mechanism. - improve channel.receive() communication latency on python2 by changing the default timeout of the underlying Queue.get to a regular None instead of the previous default -1 which caused an internal positive timeout value (a hack probably introduced to allow CTRL-C to pass through for python2.5 versions). - extended ssh-syntax to allow passing of command line args, e.g. ssh= -p 50 hostname. The options are passed to the underlying ssh client binary. Thanks tundish. - fix issue15: interoperability with inspect.getstack(). Thanks Peter Feiner. - fix issue10 : skip PYTHONDONTWRITEBYTECODE test if it we are running with PYTHONDONTWRITEBYTECODE set. - dont try the jython pid fixup on a RemoteIO - avoid accidentally setting exc_info() in gateway_base.py -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.5.1: fixes and new home page styling
pytest-2.5.1: fixes and new home page styling === pytest is a mature Python testing tool with more than a 1000 tests against itself, passing on many different interpreters and platforms. The 2.5.1 release maintains the zero-reported-bugs promise by fixing the three bugs reported since the last release a few days ago. It also features a new home page styling implemented by Tobias Bieniek, based on the flask theme from Armin Ronacher: http://pytest.org If you have anything more to improve styling and docs, we'd be very happy to merge further pull requests. On the coding side, the release also contains a little enhancement to fixture decorators allowing to directly influence generation of test ids, thanks to Floris Bruynooghe. Other thanks for helping with this release go to Anatoly Bubenkoff and Ronny Pfannschmidt. As usual, you can upgrade from pypi via:: pip install -U pytest have fun and a nice remaining bug-free time of the year :) holger krekel 2.5.1 --- - merge new documentation styling PR from Tobias Bieniek. - fix issue403: allow parametrize of multiple same-name functions within a collection node. Thanks Andreas Kloeckner and Alex Gaynor for reporting and analysis. - Allow parameterized fixtures to specify the ID of the parameters by adding an ids argument to pytest.fixture() and pytest.yield_fixture(). Thanks Floris Bruynooghe. - fix issue404 by always using the binary xml escape in the junitxml plugin. Thanks Ronny Pfannschmidt. - fix issue407: fix addoption docstring to point to argparse instead of optparse. Thanks Daniel D. Wright. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.5.0: many fixes. ZERO reported bugs left.
pytest-2.5.0: many fixes ... now down to ZERO reported bugs! === pytest-2.5.0 is a big bug fixing release, the result of two community bug fixing days plus numerous additional works from many people and reporters. The release should be fully compatible to 2.4.2, existing plugins and test suites. We aim at maintaining this level of ZERO reported bugs because it's no fun if your testing tool has bugs, is it? Under a condition, though: when submitting a bug report please provide clear information about the circumstances and a simple example which reproduces the problem. The issue tracker is of course not empty now. We have many remaining enhancement issues which we'll hopefully can tackle in 2014 with your help. For those who use older Python versions, please note that pytest is itself not automatically tested anymore on python2.5 due to virtualenv, setuptools and tox not supporting it anymore. Manual verification shows that it works fine still but that might change in the future. As usual, current docs are at http://pytest.org and you can upgrade from pypi via:: pip install -U pytest Particular thanks for helping with this release go to Anatoly Bubenkoff, Floris Bruynooghe, Marc Abramowitz, Ralph Schmitt, Ronny Pfannschmidt, Donald Stufft, James Lan, Rob Dennis, Jason R. Coombs, Mathieu Agopian, Virgil Dupras, Bruno Oliveira, Alex Gaynor and others. have fun, holger krekel 2.5.0 --- - dropped python2.5 from automated release testing of pytest itself which means it's probably going to break soon (but still works with this release we believe). - simplified and fixed implementation for calling finalizers when parametrized fixtures or function arguments are involved. finalization is now performed lazily at setup time instead of in the teardown phase. While this might sound odd at first, it helps to ensure that we are correctly handling setup/teardown even in complex code. User-level code should not be affected unless it's implementing the pytest_runtest_teardown hook and expecting certain fixture instances are torn down within (very unlikely and would have been unreliable anyway). - PR90: add --color=yes|no|auto option to force terminal coloring mode (auto is default). Thanks Marc Abramowitz. - fix issue319 - correctly show unicode in assertion errors. Many thanks to Floris Bruynooghe for the complete PR. Also means we depend on py=1.4.19 now. - fix issue396 - correctly sort and finalize class-scoped parametrized tests independently from number of methods on the class. - refix issue323 in a better way -- parametrization should now never cause Runtime Recursion errors because the underlying algorithm for re-ordering tests per-scope/per-fixture is not recursive anymore (it was tail-call recursive before which could lead to problems for more than 966 non-function scoped parameters). - fix issue290 - there is preliminary support now for parametrizing with repeated same values (sometimes useful to to test if calling a second time works as with the first time). - close issue240 - document precisely how pytest module importing works, discuss the two common test directory layouts, and how it interacts with PEP420-namespace packages. - fix issue246 fix finalizer order to be LIFO on independent fixtures depending on a parametrized higher-than-function scoped fixture. (was quite some effort so please bear with the complexity of this sentence :) Thanks Ralph Schmitt for the precise failure example. - fix issue244 by implementing special index for parameters to only use indices for paramentrized test ids - fix issue287 by running all finalizers but saving the exception from the first failing finalizer and re-raising it so teardown will still have failed. We reraise the first failing exception because it might be the cause for other finalizers to fail. - fix ordering when mock.patch or other standard decorator-wrappings are used with test methods. This fixues issue346 and should help with random xdist collection failures. Thanks to Ronny Pfannschmidt and Donald Stufft for helping to isolate it. - fix issue357 - special case -k expressions to allow for filtering with simple strings that are not valid python expressions. Examples: -k 1.3 matches all tests parametrized with 1.3. -k None filters all tests that have None in their name and conversely -k 'not None'. Previously these examples would raise syntax errors. - fix issue384 by removing the trial support code since the unittest compat enhancements allow trial to handle it on its own - don't hide an ImportError when importing a plugin produces one. fixes issue375. - fix issue275 - allow usefixtures and autouse fixtures for running doctest text files. - fix issue380 by making --resultlog only rely on longrepr instead
devpi-{server,client}-1.2.1: bug fixes + refinement to test
devpi-1.2.1: bug fixes and improved test command == The devpi-{server,client}-1.2.1 releases bring important bug fixes and refinements. See Changelog below. For getting started with deploying your own pypi server on a laptop or on company server and for using the devpi workflow tool (optional), see: http://doc.devpi.net If you want to upgrade an existing installation, you should be able to execute:: $ pip install -U devpi $ devpi-server --upgrade-state [--serverdir YOUR_SERVER_DIR] Have fun, holger krekel Changelog 1.2.1 -- devpi-server: - fix an import issue for doc files which were wrongly tied to a newer version of a base index. now version auto detection for storing doc files only works within a stage. Thanks Laurent Brack for bringing it up and providing the repo. - fix issue66: api endpoints now also respect --outside-url setting so that you can serve devpi from a subpath. Thanks for Fabian Snovna for reporting and analysis. - fix issue63: skip egg links that go to a directory (this requires doing a SVN checkout which devpi-server does not do). Thanks Ken Jung for analyzing the problem. - fix issue68: don't derive metadata from filename but instead look it up in metadata or submitted form. - fix cache-invalidation when normalized_project_name != real_name (e.g. for Django but also many others). addresses issue59. - add newline to simple list output for better human readability of the page (thanks Brandon Maister) - make xmlrpc calls to pypi's changelog API use requests sessions so that http proxies are respected there as well (fixes issue58). thanks to riehlm for identifying the problem and testing the fix. - internally refactor and consolidate mocking against requests library - --upgrade-state will upgrade now between major.minor/major.minor+1 changes. devpi-client: - fix python -m devpi invocation. Thanks Sebastian Ralph. - fix issue66: devpi use user/index can now switch between URLs if user/index is mounted on a subpath. - fix issue71: allow pip/setuptools like requirements specs with the test subcommand, e.g. devpi test 'pkg=1.0'. Thanks Sebastian Rahlf for the PR. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi 1.2 releases: many improvements + py33 support
The devpi-{server,client}-1.2 releases bring a lot of refinements and improvements for serving and interacting with your own pypi indexes: - devpi-server serves release files from URLs containing a MD5 hash allowing safe serving of those files through nginx - devpi-server's USER/INDEX urls can now be used directly with pip/easy_install without the previously required (and still valid) ``+simple/`` suffix. - ``devpi use --set-cfg`` reads and writes pip/easy_install configuration files, making those installers pick up the in-use index seemlessly. You can even do ``devpi use --always-set-cfg`` to always set those config files when issuing a devpi use afterwards. - ``devpi upload`` got many improvements: - versioned files (git and hg) will be exported to a clean directory prior to the build step - distutils/setup.py is now only used for building a package - documentation upload is tied to a version now - you can directly upload distribution files, including wheel files - both devpi-server and devpi-client are python3.3 compatible now and depend on a new devpi-common package which consolidates various pypi-interaction aspects to avoid code duplication. Also, global http proxy settings are honoured. If you have an existing devpi-server-1.1 installation serving your own packages you can install devpi-server=1.2 and migrate the data with:: devpi-server --upgrade-state [--serverdir your_server_dir] This upgrades your server state in-place. Please make sure you backup your serverdir ahead of doing the upgrade (default location is ~/.devpi/server). WARNING: ``devpi-server --gendeploy`` is deprecated and will be removed probably in favor of just generating example config files for nginx/supervisor/cron. Also ``devpi install`` is deprecated now in favor of using pip/easy_install directly (see also the --set-cfg and --always-set-cfg options). For more information please refer to the extensive documentation at: http://doc.devpi.net/ or check the CHANGELOG below. have fun, holger krekel 1.2 devpi-server: - serve links to files on simple pages and index root as relative paths so that it works more nicely with proxy-pass server setups. fixes issue56. - make devpi-server and devpi-common python3.3 compatible, addresses issue57 - use system http/s proxy settings from devpi-server. fixes issue58. - refactor locations to allow nginx serving static files more directly. Also updated nginx template accordingly. - rework --upgrade-state to detect the state version of the server dir and create an appropriate virtualenv with a devpi-server install in order to export data, and then import that version. - allow to use /user/index as indexserver url for pip/easy_install by redirecting non-json queries to /user/index/PROJ[/] to /user/index/+simple/PROJ/ - fix submission of multi-value fields like classifiers or platform (previously they would be wrongly collapsed to become the last value of a list) - fix normalization import/export issue: pypi names take precendence for defining the real name of a project. - always store uploaded documentation with a version. While devpi upload will make sure to pass in the version, setup.py upload_docs will not pass in a version. In the latter case, devpi-server assumes the documentation belongs to the highest yet registered release. This change requires exporting with devpi-1.1 and importing with devpi-1.2 in order to properly store versioned docs internally. - use types/url/metadata/validation functionality of new depdency devpi_common - internal cleanup using pytest-flakes - make devpi-server use a proper UserAgent string devpi-client: - devpi list and devpi remove now accept a pip/setuptools style requirement like pkg=1.0 instead of the former for limited pkg-1.0. - make devpi-client fully work with python3.3 and fix test bugs - use system http/s proxy settings. fixes issue58. - add devpi test -c tox.ini package to use a particular (external) tox.ini for running tox with the unpackaged package. also add --fallback-ini tox.ini option which will only be used if the download package has no tox.ini. - new devpi use --set-cfg option to set pip/easy_install configuration files when changing indexes. Also new devpi use --always-set-cfg=yes option if you want to imply --set-cfg on future devpi use invocations and devpi use --always-st-cfg=no to disable this implication. - support git and hg for exporting all versioned files of a directory before performing the build step when uploading - improve how upload works: setup.py is only used for building docs and release files but not for the remote upload part. This gets rid of a number of hacks that were done trying to get the Python shipped distutils to pick the proper devpi index and allows proper SSL verification on Python2.6 onwards. - upload: show response when uploading
pytest-2.4.2: colorama on win32, plugin/tmpdir/other fixes
pytest-2.4.2 is another bug-fixing release of the 2.4 series bringing another few fixes and little improvements: - on Windows require colorama and a newer py lib so that py.io.TerminalWriter() now uses colorama instead of its own ctypes hacks. (fixes issue365) thanks Paul Moore for bringing it up. - fix -k matching of tests where repr and attr and other names would cause wrong matches because of an internal implementation quirk (don't ask) which is now properly implemented. fixes issue345. - avoid tmpdir fixture to create too long filenames especially when parametrization is used (issue354) - fix pytest-pep8 and pytest-flakes / pytest interactions (collection names in mark plugin was assuming an item always has a function which is not true for those plugins etc.) Thanks Andi Zeidler. - introduce node.get_marker/node.add_marker API for plugins like pytest-pep8 and pytest-flakes to avoid the messy details of the node.keywords pseudo-dicts. Adapated docs. - remove attempt to dup stdout at startup as it's icky. the normal capturing should catch enough possibilities of tests messing up standard FDs. - add pluginmanager.do_configure(config) as a link to config.do_configure() for plugin-compatibility as usual, docs at http://pytest.org and upgrades via:: pip install -U pytest have fun, holger krekel -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.4.1: fix three regressions (of 2.4 compared to 2.3.5)
pytest-2.4.1 is a quick follow up release to fix three regressions compared to 2.3.5 before they hit more people: - When using parser.addoption() unicode arguments to the type keyword should also be converted to the respective types. thanks Floris Bruynooghe, @dnozay. (fixes issue360 and issue362) - fix dotted filename completion when using argcomplete thanks Anthon van der Neuth. (fixes issue361) - fix regression when a 1-tuple (arg,) is used for specifying parametrization (the values of the parametrization were passed nested in a tuple). Thanks Donald Stufft. - also merge doc typo fixes, thanks Andy Dirnberger as usual, docs at http://pytest.org and upgrades via:: pip install -U pytest have fun and keep bug reports coming! holger krekel -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.4: may better fixtures be with you
The just released pytest-2.4.0 brings many improvements and numerous bug fixes while remaining plugin- and test-suite compatible apart from a few supposedly very minor incompatibilities. See below for a full list of details. A few feature highlights: - new yield-style fixtures `pytest.yield_fixture http://pytest.org/latest/yieldfixture.html`_, allowing to use existing with-style context managers in fixture functions. - improved pdb support: ``import pdb ; pdb.set_trace()`` now works without requiring prior disabling of stdout/stderr capturing. Also the ``--pdb`` options works now on collection and internal errors and we introduced a new experimental hook for IDEs/plugins to intercept debugging: ``pytest_exception_interact(node, call, report)``. - shorter monkeypatch variant to allow specifying an import path as a target, for example: ``monkeypatch.setattr(requests.get, myfunc)`` - better unittest/nose compatibility: all teardown methods are now only called if the corresponding setup method succeeded. - integrate tab-completion on command line options if you have `argcomplete http://pypi.python.org/pypi/argcomplete`_ configured. - allow boolean expression directly with skipif/xfail if a reason is also specified. - a new hook ``pytest_load_initial_conftests`` allows plugins like `pytest-django http://pypi.python.org/pypi/pytest-django`_ to influence the environment before conftest files import ``django``. - reporting: color the last line red or green depending if failures/errors occured or everything passed. The documentation has been updated to accomodate the changes, see `http://pytest.org http://pytest.org`_ To install or upgrade pytest:: pip install -U pytest # or easy_install -U pytest **Many thanks to all who helped, including Floris Bruynooghe, Brianna Laugher, Andreas Pelme, Anthon van der Neut, Anatoly Bubenkoff, Vladimir Keleshev, Mathieu Agopian, Ronny Pfannschmidt, Christian Theunert and many others.** may passing tests be with you, holger krekel Changes between 2.3.5 and 2.4 --- known incompatibilities: - if calling --genscript from python2.7 or above, you only get a standalone script which works on python2.7 or above. Use Python2.6 to also get a python2.5 compatible version. - all xunit-style teardown methods (nose-style, pytest-style, unittest-style) will not be called if the corresponding setup method failed, see issue322 below. - the pytest_plugin_unregister hook wasn't ever properly called and there is no known implementation of the hook - so it got removed. - pytest.fixture-decorated functions cannot be generators (i.e. use yield) anymore. This change might be reversed in 2.4.1 if it causes unforeseen real-life issues. However, you can always write and return an inner function/generator and change the fixture consumer to iterate over the returned generator. This change was done in lieu of the new ``pytest.yield_fixture`` decorator, see below. new features: - experimentally introduce a new ``pytest.yield_fixture`` decorator which accepts exactly the same parameters as pytest.fixture but mandates a ``yield`` statement instead of a ``return statement`` from fixture functions. This allows direct integration with with-style context managers in fixture functions and generally avoids registering of finalization callbacks in favour of treating the after-yield as teardown code. Thanks Andreas Pelme, Vladimir Keleshev, Floris Bruynooghe, Ronny Pfannschmidt and many others for discussions. - allow boolean expression directly with skipif/xfail if a reason is also specified. Rework skipping documentation to recommend condition as booleans because it prevents surprises when importing markers between modules. Specifying conditions as strings will remain fully supported. - reporting: color the last line red or green depending if failures/errors occured or everything passed. thanks Christian Theunert. - make import pdb ; pdb.set_trace() work natively wrt capturing (no -s needed anymore), making ``pytest.set_trace()`` a mere shortcut. - fix issue181: --pdb now also works on collect errors (and on internal errors) . This was implemented by a slight internal refactoring and the introduction of a new hook ``pytest_exception_interact`` hook (see next item). - fix issue341: introduce new experimental hook for IDEs/terminals to intercept debugging: ``pytest_exception_interact(node, call, report)``. - new monkeypatch.setattr() variant to provide a shorter invocation for patching out classes/functions from modules: monkeypatch.setattr(requests.get, myfunc) will replace the get function of the requests module with ``myfunc``. - fix issue322: tearDownClass is not run if setUpClass failed. Thanks Mathieu Agopian for the initial fix. Also make all of pytest/nose finalizer mimick the same generic behaviour: if a setupX exists
devpi-1.1: improved pypi cache, data migration, wheels, ...
The devpi-{server,client}-1.1 releases bring a lot of refinements and improvements for serving standalone pypi mirrors or company/private indexes which seemlessly merge in PyPI releases, mainly: - improved speed and semantics of pypi cache. devpi-server has been tested to correctly mirror all ~34000 projects on pypi.python.org now, and minimizes upstream interactions by fully exploiting the existing mirroring protocols. - data migration: new --upgrade/import/export options. versioning of serverstate and API calls so that future changes can be detected by clients. - better support for .whl files and many other little improvements and bug fixes, see the changelog below for more info. Note that devpi-1.1 will require to ``--upgrade`` your 1.0 server state before you can serve with devpi-server-1.1 release. Docs also were updated. Here is a Quickstart tutorial for efficient pypi-mirroring on your laptop:: http://doc.devpi.net/1.1/quickstart-pypimirror.html And if you want to manage your releases or implement staging as an individual or within an organisation:: http://doc.devpi.net/1.1/quickstart-releaseprocess.html If you want to permanently install devpi-server and potentially access it from many clients:: http://doc.devpi.net/1.1/quickstart-server.html More documentation and the beginning of an exhaustive user manual:: http://doc.devpi.net/latest/ have fun, holger CHANGELOG 1.1 devpi-server: - systematically test pypi/mirror code against all 34K pypi projects so that we know that all http/https installable archive links that pypi offers are correctly recognized by devpi-server's root/pypi index. - if no pypi mirror state is known, devpi-server now calls pypi to obtain names/serials. It will fail to start if no such initial connection is possible. Once a first mirror state is known, subsequent devpi-server starts will not perform this initial query. - speed up and make more reliable all operations on private packages which have no pypi.python.org release: we can now determine if a project exists on pypi and under which name exactly without remote queries or redirects to pypi.python.org. - fix issue45: register/upload package names are now properly validated and redirects take place if e.g. a project was registered as name-sub and +simple/name_sub is queried. - new --upgrade-state command to allow for easy and safe in-place upgrading of server state. This is not guranteed to be possible for all future releases which might require using --export with an older version and --import with a newer version. - new --export/--import options to dump and import server contents: users, indexes, docs, release files and (test) attachments. Note that root/pypi (PyPI-caching information) will not be exported/imported. (maybe in the future if there is demand). - fix issue49: both push and import/export now support docfiles. Note, however, that docfiles relate to a project as a whole and are not tied to a particular version. This property is inherited from the PyPI standard upload_docs action and cannot be changed without interfering or replacing the upload_docs protocol of setuptools/sphinx. - fix issue51: return 200 code if release file is successfully uploaded but jenkins could not be triggered (previously returned 500) - reject simple/NAME if NAME contains non-ascii characters (PEP426 naming rules) - devpi-server now returns a X-DEVPI-API-VERSION and X-DEVPI-SERVER-VERSION header. For future incompatible changes these versions allow clients to reject interactions. - also add .serverversion file and write it if it does not exist, and make devpi-server use it to verify if operating on a compatible server data layout, otherwise bail out. - address issue43: --gendeploy now uses pip without --pre and explicitely instructs pip to install the exact same version of devpi-server with which --gendeploy is issued. - fix issue46 -- for GET /root/pypi/ only show a link to the simple page instead of computing latest in-stage packages which is only useful for devpi's user indices. - fix issue37: upload with expired login causes proper 401 devpi-client: - detect X-DEVPI-API-VERSION header and check for compatibility. devpi-client currently supports version 1 and warns if no version is known (defaulting to 1). -
tox-1.6.1 / detox-0.9.3: some fixes
I just pushed tox-1.6.1 to PyPI which fixes a number of issues Also detox-0.9.3, the parallelizing tox runner, is out. tox aims to automate and standardize testing in Python, see docs: http://tox.testrun.org If you want to support tox development other than through contributions or feedback, you may send gifts to my gittip account: https://www.gittip.com/hpk42/ Oh, and a NOTE on Python2.5 support: support for running tox/detox themselves on python2.5 will be dropped anytime now while _creating_ python2.5 environments (through tox.ini) will remain supported still for some time (but not indefinitely). have fun, holger krekel tox 1.6.1 --- - fix issue119: {envsitepackagesdir} is now correctly computed and has a better test to prevent regression. - fix issue116: make 1.6 introduced behaviour of changing to a per-env HOME directory during install activities dependent on --set-home for now. Should re-establish the old behaviour when no option is given. - fix issue118: correctly have two tests use realpath(). Thanks Barry Warsaw. - fix test runs on environments without a home directory (in this case we use toxinidir as the homedir) - fix issue117: python2.5 fix: don't use ``--insecure`` option because its very existence depends on presence of ssl. If you want to support python2.5/pip1.3.1 based test environments you need to install ssl and/or use PIP_INSECURE=1 through ``setenv``. section. - fix issue102: change to {toxinidir} when installing dependencies. this allows to use relative path like in -rrequirements.txt. detox-0.9.3 --- - fix issue6: quickly make detox work with tox-1.6 again (although not all 1.6 features supported, e.g. --develop does not work) - fix issue3: don't claim a TROVE identifier of python3 because detox itself depends on eventlet which does not work on py3 yet. (Nevertheless detox will create py3 environments through tox of course) - fix issue1: support python2.5 again (although we might drop it in the future -- it's enough of tox/detox can _create_ and handle py25 environments, they don't neccessarily need to support running themselv on py25) -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-0.9.2: uploading existing archives files
devpi, the caching pypi server and its optional upload/test/install helper tool, just got a devpi-0.9.2 release. See the full updated docs here: http://doc.devpi.net Apart from some streamlining, there is a new upload option:: devpi upload --from-dir path/to/dir [--only-latest] which uploads existing release files to a devpi index, optionally only the latest versions. This is achieved with the help of ``pkginfo`` extracting PKGINFO files and, for the few where it's missing, using the filename to determine name/version data. Thanks to Anthon van der Neut for his related PRs. See below for a more detailed changelog. best, holger 0.9.2 (compared to 0.9.1) server: - fix /USER/INDEXNAME root views to contain only latest in-stage packages - make +api calls return bases so that devpi use can show them client: - introduce devpi upload --fromdir for uploading archives in bulk mode, thanks to Anthon van der Neut for helping with this! (resolved issue5) - improve automatic server handling via devpi use - for devpi server you now need to specify --log to see log lines - make devpi use also show base indexes by default - fix issue4: auto-server data stored in non-dot dir -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-0.9.1: pushing tested releases to pypi
Hi all, devpi-0.9.1 is out which fixes bugs and introduces support for pushing a tested release candidate from a private index to pypi. See http://doc.devpi.net on the ease of doing devpi upload, test and push commands as well as general information on the devpi-server and devpi tools. Thanks to all issue reporters and to Andi Albrecht for his pull request. best, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-0.8.5: fixes, fewer dependencies for pypi caching server
Hi all, just did a quick release of devpi-server 0.8.5, the pypi.python.org caching server. This should fix some cases of uninstallable packages and removes pip and virtualenv from its dependencies. See https://pypi.python.org/pypi/devpi-server for details. Thanks to Markus Zapke-Gruendemann for some help and to everybody for reporting issues. cheers, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-0.8.4: using pip's link parser now
hi all, devpi-server, the self-updatding pypi.python.org caching proxy, just saw a new 0.8.4 release. Instead of BeautifulSoup it now uses pip's link parsing. This should serve as a shortcut to avoid real life crawling issues. IOW, whatever pip can install, should also be installable through the devpi-server cache. More info, getting started, deployment info on devpi-server: http://pypi.python.org/pypi/devpi-server thanks to Markus Zapke-Gruendemann for cleaning up some internals. cheers, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.3.5: bug fixes and little improvements
pytest-2.3.5: bug fixes and little improvements === pytest-2.3.5 is a maintenance release with many bug fixes and little improvements. See the changelog below for details. No backward compatibility issues are foreseen and all plugins which worked with the prior version are expected to work unmodified. Speaking of which, a few interesting new plugins saw the light last month: - pytest-instafail: show failure information while tests are running - pytest-qt: testing of GUI applications written with QT/Pyside - pytest-xprocess: managing external processes across test runs - pytest-random: randomize test ordering And several others like pytest-django saw maintenance releases. For a more complete list, check out https://pypi.python.org/pypi?%3Aaction=searchterm=pytestsubmit=search. For general information see: http://pytest.org/ To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest Particular thanks to Floris, Ronny, Benjamin and the many bug reporters and fix providers. may the fixtures be with you, holger krekel Changes between 2.3.4 and 2.3.5 --- - never consider a fixture function for test function collection - allow re-running of test items / helps to fix pytest-reruntests plugin and also help to keep less fixture/resource references alive - put captured stdout/stderr into junitxml output even for passing tests (thanks Adam Goucher) - Issue 265 - integrate nose setup/teardown with setupstate so it doesnt try to teardown if it did not setup - issue 271 - dont write junitxml on slave nodes - Issue 274 - dont try to show full doctest example when doctest does not know the example location - issue 280 - disable assertion rewriting on buggy CPython 2.6.0 - inject getfixture() helper to retrieve fixtures from doctests, thanks Andreas Zeidler - issue 259 - when assertion rewriting, be consistent with the default source encoding of ASCII on Python 2 - issue 251 - report a skip instead of ignoring classes with init - issue250 unicode/str mixes in parametrization names and values now works - issue257, assertion-triggered compilation of source ending in a comment line doesn't blow up in python2.5 (fixed through py=1.4.13.dev6) - fix --genscript option to generate standalone scripts that also work with python3.3 (importer ordering) - issue171 - in assertion rewriting, show the repr of some global variables - fix option help for -k - move long description of distribution into README.rst - improve docstring for metafunc.parametrize() - fix bug where using capsys with pytest.set_trace() in a test function would break when looking at capsys.readouterr() - allow to specify prefixes starting with _ when customizing python_functions test discovery. (thanks Graham Horler) - improve PYTEST_DEBUG tracing output by puting extra data on a new lines with additional indent - ensure OutcomeExceptions like skip/fail have initialized exception attributes - issue 260 - don't use nose special setup on plain unittest cases - fix issue134 - print the collect errors that prevent running specified test items - fix issue266 - accept unicode in MarkEvaluator expressions -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server: lightning fast pypi.python.org proxy (0.7 initial release)
devpi-server: lightning-fast pypi.python.org proxy (0.7 initial) = This is the initial release of devpi-server, an easy-to-use caching proxy server for pypi.python.org, providing fast and reliable installs when used by pip or easy_install. devpi-server offers features not found in other PyPI proxy servers: - transparent caching of pypi.python.org index and release files on first access, including indexes and files from 3rd party sites. - pip/easy_install/buildout are shielded from the typical client-side crawling, thus providing lightning-fast and reliable installation (on second access of a package). - ``devpi-server`` moreover automatically updates its main index cache using pypi's changelog protocol, making sure you'll always see an up-to-date view of what's available. devpi-server is designed to satisfy all needs arising from pip/easy_install installation operations and can thus act as the sole entry point for all package installation interactions. It will manage all outbound traffic for installing packages. Getting started Simply install ``devpi-server`` via for example:: pip install devpi-server # or easy_install devpi-server Make sure you have the ``redis-server`` binary available and issue:: devpi-server after which a http server is running on ``localhost:3141`` and you can use the following index url with pip or easy_install:: pip install -i http://localhost:3141/ext/pypi/simple/ ... easy_install -i http://localhost:3141/ext/pypi/simple/ ... To avoid having to re-type the URL, you can configure pip by either setting the environment variable ``PIP_INDEX_URL`` to ``http://localhost:3141/ext/pypi/simple/`` or by putting an according entry in your ``$HOME/.pip/pip.conf`` (posix) or ``$HOME/pip/pip.conf`` (windows):: [global] index-url == http://localhost:3141/ext/pypi/simple/ Example timing Here is a little screen session when using a fresh ``devpi-server`` instance, installing itself in a fresh virtualenv:: hpk@teta:~/p/devpi-server$ virtualenv devpi /dev/null hpk@teta:~/p/devpi-server$ source devpi/bin/activate (devpi) hpk@teta:~/p/devpi-server$ time pip install -q \ -i http://localhost:3141/ext/pypi/simple/ devpi-server real 21.971s user 1.564s system 0.420s So that took 21 seconds. Now lets remove the virtualenv, recreate it and install a second time:: (devpi) hpk@teta:~/p/devpi-server$ rm -rf devpi (devpi) hpk@teta:~/p/devpi-server$ virtualenv devpi /dev/null (devpi)hpk@teta:~/p/devpi-server$ time pip install -q -i http://localhost:3141/ext/pypi/simple/ devpi-server real 1.716s user 1.152s system 0.472s Ok, that was more than 10 times faster. The install of ``devpi-server`` (0.7) involves five packages btw: ``beautifulsoup4, bottle, py, redis, requests``. Compatibility ``devpi-server`` works with python2.6 and python2.7 on both Linux and Windows environments. Windows support is somewhat experimental -- better don't run a company wide server with it. OSX is untested as of now but no issues are expected -- please report back how things work in reality. ``devpi-server`` requires ``redis-server`` with versions 2.4 or later. Earlier versions may or may not work (untested). Deployment notes By default, devpi-server configures and starts its own redis instance. For this it needs to find a ``redis-server`` executable. On windows it will, in addition to the PATH variable, also check for ``c:\\program files\redis\redis-server.exe`` which is the default install location for the `windows redis fork installer https://github.com/rgl/redis/downloads`_. In a consolidated setting you might want to use the ``--redismode=manual`` and ``--redisport NUM`` options to rather control the setup of redis yourself. You might also want to use the ``--datadir`` option to specify where release files will be cached. Lastly, if you run ``devpi-server`` in a company network, you can for example proxy-serve the application through an nginx site configuration like this:: # sample nginx conf server { server_name your.server.name; listen 80; root /home/devpi/.devpi/httpfiles/; # arbitrary for now location / { proxy_pass http://localhost:3141; proxy_set_header X-Real-IP $remote_addr; } } command line options - A list of all devpi-server options:: $ devpi-server -h Usage: devpi-server [options] Options: -h, --helpshow this help message and exit main options: --version show devpi_version (0.7) --datadir=DIR data directory for devpi-server [~/.devpi/serverdata] --port=PORT port to listen for http requests [3141]
devpi-server-0.8: better deployment, fixes
devpi-server-0.8: fast'n easy-to-deploy pypi.python.org proxy === devpi-server is an easy-to-deploy caching proxy server for pypi.python.org, providing fast and reliable installs when used by pip or easy_install. devpi-server-0.8 brings three improvements: - fixed issue4: bug fixed in pypi.python.org to better survive network outage. - a new way to bootstrap a self-contained pre-configured virtualenv directory, guiding you to set it up on your laptop: devpi-server --gendeploy=TARGETDIR --port=3200 --redisport=3201 will create all that is neccessary for controled deployment on your laptop. - the project page / README has been reworked a bit: http://pypi.python.org/pypi/devpi-server If you have questions or issues, you may also drop by the brand new IRC channel #devpi on freenode. have a nice weekend, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server 0.8.1: better devpi-ctl behaviour / fixed --gendeploy quirk
Hi again, just 12 hours after 0.8, i released devpi-server-0.8.1, a slightly improved version of the fast pypi caching proxy server. In particular after devpi-ctl now works more according to docs. In particular after a: devpi-ctl shutdown You won't accidentally start the servers again with: devpi-ctl help|status|... which is what 0.8 did (doh!). Also, --gendeploy now takes more care to create a supervisord.conf which starts the devpi-server binary installed into the venv. Keep up the issue reporting! :) See http://pypi.python.org/pypi/devpi-server for more ... cheers, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
devpi-server-0.8.2: bug fixes for the pypi.python.org caching server
just did a release of devpi-server-0.8.2, the fast pypi.python.org caching server. 0.8.2 fixes a bug which prevented the installation of some packages. If you encounter any such problems, please report it at: https://bitbucket.org/hpk42/devpi-server/issues or on #pylib on freenode. A new release will quickly fix it - we had four releases in six days now :) More information on installing and deploying devpi-server here: http://pypi.python.org/pypi/devpi-server best, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.4.3: quickstart command, -l option and fixes
tox 1.4.3: the Python virtualenv-based testing automatizer = tox 1.4.3 fixes some bugs and introduces a new script and two new options: - tox-quickstart - run this script, answer a few questions, and get a tox.ini created for you (thanks Marc Abramowitz) - tox -l lists configured environment names (thanks Lukasz Balcerzak) - (experimental) --installpkg=localpath option which will skip the sdist-creation of a package and instead install the given localpath package. - use pip-script.py instead of pip.exe on win32 to avoid windows locking the .exe Note that the sister project detox should continue to work - it's a separately released project which drives tox test runs on multiple CPUs in parallel. More documentation: http://tox.testrun.org/ Installation: pip install -U tox repository hosting and issue tracking on bitbucket: https://bitbucket.org/hpk42/tox What is tox? tox standardizes and automates tedious python driven test activities driven from a simple ``tox.ini`` file, including: * 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 best, Holger Krekel CHANGELOG 1.4.3 (compared to 1.4.2) - introduce -l|--listenv option to list configured environments (thanks Lukasz Balcerzak) - fix downloadcache determination to work according to docs: Only make pip use a download cache if PIP_DOWNLOAD_CACHE or a downloadcache=PATH testenv setting is present. (The ENV setting takes precedence) - fix issue84 - pypy on windows creates a bin not a scripts venv directory (thanks Lukasz Balcerzak) - experimentally introduce --installpkg=PATH option to install a package rather than create/install an sdist package. This will still require and use tox.ini and tests from the current working dir (and not from the remote package). - substitute {envsitepackagesdir} with the package installation directory (closes #72) (thanks g2p) - issue #70 remove PYTHONDONTWRITEBYTECODE workaround now that virtualenv behaves properly (thanks g2p) - merged tox-quickstart command, contributed by Marc Abramowitz, which generates a default tox.ini after asking a few questions - fix #48 - win32 detection of pypy and other interpreters that are on PATH (thanks Gustavo Picon) - fix grouping of index servers, it is now done by name instead of indexserver url, allowing to use it to separate dependencies into groups even if using the same default indexserver. - look for tox.ini files in parent dirs of current dir (closes #34) - the py environment now by default uses the current interpreter (sys.executable) make tox' own setup.py test execute tests with it (closes #46) - change tests to not rely on os.path.expanduser (closes #60), also make mock session return args[1:] for more precise checking (closes #61) thanks to Barry Warszaw for both. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue16997] subtests
holger krekel added the comment: On Sun, Feb 10, 2013 at 12:41 PM, Antoine Pitrou rep...@bugs.python.orgwrote: Antoine Pitrou added the comment: Please don't commit I think we still need a discussion as to whether subtests or paramaterized tests are a better approach. I certainly don't think we need both and there are a lot of people asking for parameterized tests. I think they don't cater to the same crowd. I see parameterized tests as primarily used by people who like adding formal complexity to their tests in the name of architectural elegance (decorators, non-intuitive constructs and other additional boilerplate). Subtests are meant to not get in the way. IMHO, this makes them more suitable for stdlib inclusion, while the testing-in-python people can still rely on their additional frameworks. Parametrized testing wasn't introduced because I or others like formal complexity. I invented the yield syntax that both pytest and nose still support and it was enhanced for several years until it was deemed not fit for a general purpose testing approach. More specifically, if you have functional parametrized tests, they each run relatively slow. People often want to re-run a single failing test or otherwise select tests which use a certain fixture, or send tests to different CPUs to speed up execution. That's all not possible with subtests or am i missing something? That being said, I have plans to support some form of subtests for pytest as well, as there are indeed cases where a more lightweight approach fits well, especially for unit- or integration tests where one doesn't care if a group of tests need to be re-run when working on fixing a failure to a single subtest. And where it's usually more about reporting, getting nice debuggable output on failures. I suspect the cases which Antoine refers satisfy this pattern. best, holger -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16997 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16997] subtests
holger krekel added the comment: On Sun, Feb 10, 2013 at 12:43 PM, Nick Coghlan rep...@bugs.python.orgwrote: Nick Coghlan added the comment: You can use subtests to build parameterized tests, you can't use parameterized tests to build subtests. I doubt you can implement parametrized tests via subtests especially for functional testing and its fixture needs. The standard library can also be converted to using subtests *far* more readily than it could be converted to parameterized tests. I can see that and for this reason and the stdlib's use cases it might make sense to support it. The unittest module is also used in many other contexts so it shouldn't be the only verification criterium. best, holger -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16997 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
pytest-2.3.4: bugfixes and extended selection with -k expr
pytest-2.3.4: stabilization, more flexible selection via -k expr === pytest-2.3.4 is a small stabilization release of the py.test tool which offers uebersimple assertions, scalable fixture mechanisms and deep customization for testing with Python. This release comes with the following fixes and features: - make -k option accept an expressions the same as with -m so that one can write: -k name1 or name2 etc. This is a slight usage incompatibility if you used special syntax like TestClass.test_method which you now need to write as -k TestClass and test_method to match a certain method in a certain test class. - allow to dynamically define markers via item.keywords[...]=assignment integrating with -m option - yielded test functions will now have autouse-fixtures active but cannot accept fixtures as funcargs - it's anyway recommended to rather use the post-2.0 parametrize features instead of yield, see: http://pytest.org/latest/example/parametrize.html - fix autouse-issue where autouse-fixtures would not be discovered if defined in a a/conftest.py file and tests in a/tests/test_some.py - fix issue226 - LIFO ordering for fixture teardowns - fix issue224 - invocations with 256 char arguments now work - fix issue91 - add/discuss package/directory level setups in example - fixes related to autouse discovery and calling Thanks in particular to Thomas Waldmann for spotting and reporting issues. See http://pytest.org/ for general information. To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest best, holger krekel -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.3.3: integration fixes, py24 suport, */** args shown in traceback
pytest-2.3.3: integration fixes, py24 suport, *args shown in traceback === pytest-2.3.3 is a another stabilization release of the py.test tool which offers uebersimple assertions, scalable fixture mechanisms and deep customization for testing with Python. Particularly, this release provides: - integration fixes and improvements related to flask, numpy, nose, unittest, mock - makes pytest work on py24 again (yes, people sometimes still need to use it) - show *,** args in pytest tracebacks Thanks to Manuel Jacob, Thomas Waldmann, Ronny Pfannschmidt, Pavel Repin and Andreas Taumoefolau for providing patches and all for the issues. See http://pytest.org/ for general information. To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest best, holger krekel Changes between 2.3.2 and 2.3.3 --- - fix issue214 - parse modules that contain special objects like e. g. flask's request object which blows up on getattr access if no request is active. thanks Thomas Waldmann. - fix issue213 - allow to parametrize with values like numpy arrays that do not support an __eq__ operator - fix issue215 - split test_python.org into multiple files - fix issue148 - @unittest.skip on classes is now recognized and avoids calling setUpClass/tearDownClass, thanks Pavel Repin - fix issue209 - reintroduce python2.4 support by depending on newer pylib which re-introduced statement-finding for pre-AST interpreters - nose support: only call setup if its a callable, thanks Andrew Taumoefolau - fix issue219 - add py2.4-3.3 classifiers to TROVE list - in tracebacks *,** arg values are now shown next to normal arguments (thanks Manuel Jacob) - fix issue217 - support mock.patch with pytest's fixtures - note that you need either mock-1.0.1 or the python3.3 builtin unittest.mock. - fix issue127 - improve documentation for pytest_addoption() and add a ``config.getoption(name)`` helper function for consistency. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.3.2: bug fixes, unittest/trial compat, speed
pytest-2.3.2: some fixes and more traceback-printing speed === pytest-2.3.2 is another stabilization release with a few improvements: - issue 205: fixes a regression with conftest detection - issue 208/29: fixes traceback-printing speed in some bad cases - fix teardown-ordering for parametrized setups - fix unittest and trial compat behaviour with respect to runTest() methods - issue 206 and others: some improvements to packaging - fix issue127 and others: improve some docs See http://pytest.org/ for general information. To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest best, holger krekel Changes between 2.3.1 and 2.3.2 --- - fix issue208 and fix issue29 use new py version to avoid long pauses when printing tracebacks in long modules - fix issue205 - conftests in subdirs customizing pytest_pycollect_makemodule and pytest_pycollect_makeitem now work properly - fix teardown-ordering for parametrized setups - fix issue127 - better documentation for pytest_addoption and related objects. - fix unittest behaviour: TestCase.runtest only called if there are test methods defined - improve trial support: don't collect its empty unittest.TestCase.runTest() method - python setup.py test now works with pytest itself - fix/improve internal/packaging related bits: - exception message check of test_nose.py now passes on python33 as well - issue206 - fix test_assertrewrite.py to work when a global PYTHONDONTWRITEBYTECODE=1 is present - add tox.ini to pytest distribution so that ignore-dirs and others config bits are properly distributed for maintainers who run pytest-own tests -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.3: improved fixtures/funcargs and unittest support
pytest-2.3: improved fixtures / better unittest integration = pytest-2.3 comes with many major improvements for fixture/funcarg management and parametrized testing in Python. It is now easier, more efficient and more predicatable to re-run the same tests with different fixture instances. Also, you can directly declare the caching scope of fixtures so that dependent tests throughout your whole test suite can re-use database or other expensive fixture objects with ease. Lastly, it's possible for fixture functions (formerly known as funcarg factories) to use other fixtures, allowing for a completely modular and re-useable fixture design. For detailed info and tutorial-style examples, see: http://pytest.org/latest/fixture.html Moreover, there is now support for using pytest fixtures/funcargs with unittest-style suites, see here for examples: http://pytest.org/latest/unittest.html Besides, more unittest-test suites are now expected to simply work with pytest. All changes are backward compatible and you should be able to continue to run your test suites and 3rd party plugins that worked with pytest-2.2.4. If you are interested in the precise reasoning (including examples) of the pytest-2.3 fixture evolution, please consult http://pytest.org/latest/funcarg_compare.html For general info on installation and getting started: http://pytest.org/latest/getting-started.html Docs and PDF access as usual at: http://pytest.org and more details for those already in the knowing of pytest can be found in the CHANGELOG below. Particular thanks for this release go to Floris Bruynooghe, Alex Okrushko Carl Meyer, Ronny Pfannschmidt, Benjamin Peterson and Alex Gaynor for helping to get the new features right and well integrated. Ronny and Floris also helped to fix a number of bugs and yet more people helped by providing bug reports. have fun, holger krekel Changes between 2.2.4 and 2.3.0 --- - fix issue202 - better automatic names for parametrized test functions - fix issue139 - introduce @pytest.fixture which allows direct scoping and parametrization of funcarg factories. Introduce new @pytest.setup marker to allow the writing of setup functions which accept funcargs. - fix issue198 - conftest fixtures were not found on windows32 in some circumstances with nested directory structures due to path manipulation issues - fix issue193 skip test functions with were parametrized with empty parameter sets - fix python3.3 compat, mostly reporting bits that previously depended on dict ordering - introduce re-ordering of tests by resource and parametrization setup which takes precedence to the usual file-ordering - fix issue185 monkeypatching time.time does not cause pytest to fail - fix issue172 duplicate call of pytest.setup-decoratored setup_module functions - fix junitxml=path construction so that if tests change the current working directory and the path is a relative path it is constructed correctly from the original current working dir. - fix python setup.py test example to cause a proper errno return - fix issue165 - fix broken doc links and mention stackoverflow for FAQ - catch unicode-issues when writing failure representations to terminal to prevent the whole session from crashing - fix xfail/skip confusion: a skip-mark or an imperative pytest.skip will now take precedence before xfail-markers because we can't determine xfail/xpass status in case of a skip. see also: http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get - always report installed 3rd party plugins in the header of a test run - fix issue160: a failing setup of an xfail-marked tests should be reported as xfail (not xpass) - fix issue128: show captured output when capsys/capfd are used - fix issue179: propperly show the dependency chain of factories - pluginmanager.register(...) now raises ValueError if the plugin has been already registered or the name is taken - fix issue159: improve http://pytest.org/latest/faq.html especially with respect to the magic history, also mention pytest-django, trial and unittest integration. - make request.keywords and node.keywords writable. All descendant collection nodes will see keyword values. Keywords are dictionaries containing markers and other info. - fix issue 178: xml binary escapes are now wrapped in py.xml.raw - fix issue 176: correctly catch the builtin AssertionError even when we replaced AssertionError with a subclass on the python level - factory discovery no longer fails with magic global callables that provide no sane __code__ object (mock.call for example) - fix issue 182: testdir.inprocess_run now considers passed plugins - fix issue 188: ensure sys.exc_info is clear on python2 before calling into a test - fix issue 191: add
execnet-1.1: cross-interpreter distributed execution library
execnet-1.1 is a backward compatible beta release of the popular (53000 pypi downloads of 1.0.9) cross-interpreter execution library. If you are in need of connecting Python2 and Python3 and/or want to throw PyPy in your deployment mix, then you might want to join Quora and many others and try out execnet. execnet provides a share-nothing model with channel-send/receive communication and distributed execution across many Python interpreters across version, platform and network barriers. See below for changes and see here for extensive documentation and tested examples: http://codespeak.net/execnet Particular thanks to Ronny Pfannschmidt for a lot of internal cleanups and to Alex Gaynor for providing feature patches. Have fun, holger 1.1 (compared to 1.0.9) - introduce execnet.dumps/loads providing serialization between python interpreters, see http://codespeak.net/execnet/basics.html#dumps-loads - group.remote_exec now supports kwargs as well - support per channel string coercion configuration, helping with dealing with mixed Python2/Python3 environments. - Popen2IO.read now reads correct amounts of bytes from nonblocking fd's - added a ``dont_write_bytecode`` option to Popen gateways, this sets the ``sys.dont_write_bytecode`` flag on the spawned process, this only works on CPython 2.6 and higher. Thanks to Alex Gaynor. - added a pytest --broken-isp option to skip tests that assume DNS queries for unknown hosts actually are resolved as such (Thanks Alex Gaynor) - fix issue 1 - decouple string coercion of channels and gateway - fix issue #2 - properly reconfigure the channels string coercion for rsync, so it can send from python2 to python3 - refactor socketserver, so it can be directly remote_exec'd for starting a socket gateway on a remote -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
new cache and pep8 pytest plugin releases
i just released two new plugins: * pytest-cache-0.9 (initial) for easy caching of values across test runs and a new --lf option to rerun the failing tests of a previous run. Install, basic example and API (for use by other plugins) is here: http://packages.python.org/pytest-cache/readme.html * pytest-pep8-1.0 a flexible pep8 checker which allows to keep your project PEP8 compliant with your choice of ignore-options on a per-file basis. It avoids checking files that haven't changed. Examples and docs at: http://pypi.python.org/pypi/pytest-pep8 have fun, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Re: [py-dev] new cache and pep8 pytest plugin releases
I quickly released a pytest-pep8-1.0.1 which includes an explicit dependency on pytest-cache. Thanks to Hynek Schlawack for reporting. On Wed, Jun 20, 2012 at 20:52 +, holger krekel wrote: i just released two new plugins: * pytest-cache-0.9 (initial) for easy caching of values across test runs and a new --lf option to rerun the failing tests of a previous run. Install, basic example and API (for use by other plugins) is here: http://packages.python.org/pytest-cache/readme.html * pytest-pep8-1.0 a flexible pep8 checker which allows to keep your project PEP8 compliant with your choice of ignore-options on a per-file basis. It avoids checking files that haven't changed. Examples and docs at: http://pypi.python.org/pypi/pytest-pep8 have fun, holger ___ py-dev mailing list py-...@codespeak.net http://codespeak.net/mailman/listinfo/py-dev -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
execnet-1.1: cross-interpreter distributed execution library
execnet-1.1 is a backward compatible beta release of the popular (53000 pypi downloads of 1.0.9) cross-interpreter execution library. If you are in need of connecting Python2 and Python3 and/or want to throw PyPy in your deployment mix, then you might want to join Quora and many others and try out execnet. execnet provides a share-nothing model with channel-send/receive communication and distributed execution across many Python interpreters across version, platform and network barriers. See below for changes and see here for extensive documentation and tested examples: http://codespeak.net/execnet Particular thanks to Ronny Pfannschmidt for a lot of internal cleanups and to Alex Gaynor for providing feature patches. Have fun, holger 1.1 (compared to 1.0.9) - introduce execnet.dumps/loads providing serialization between python interpreters, see http://codespeak.net/execnet/basics.html#dumps-loads - group.remote_exec now supports kwargs as well - support per channel string coercion configuration, helping with dealing with mixed Python2/Python3 environments. - Popen2IO.read now reads correct amounts of bytes from nonblocking fd's - added a ``dont_write_bytecode`` option to Popen gateways, this sets the ``sys.dont_write_bytecode`` flag on the spawned process, this only works on CPython 2.6 and higher. Thanks to Alex Gaynor. - added a pytest --broken-isp option to skip tests that assume DNS queries for unknown hosts actually are resolved as such (Thanks Alex Gaynor) - fix issue 1 - decouple string coercion of channels and gateway - fix issue #2 - properly reconfigure the channels string coercion for rsync, so it can send from python2 to python3 - refactor socketserver, so it can be directly remote_exec'd for starting a socket gateway on a remote -- http://mail.python.org/mailman/listinfo/python-list
pytest-2.2.4 - bugfixes and better junitxml/unittest/python3 compat
pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat === pytest-2.2.4 is a minor backward-compatible release of the versatile py.test testing tool. It contains bug fixes and a few refinements to junitxml reporting, better unittest- and python3 compatibility. For general information see here: http://pytest.org/ To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest Special thanks for helping on this release to Ronny Pfannschmidt and Benjamin Peterson and the contributors of issues. best, holger krekel Changes between 2.2.3 and 2.2.4 --- - fix error message for rewritten assertions involving the % operator - fix issue 126: correctly match all invalid xml characters for junitxml binary escape - fix issue with unittest: now @unittest.expectedFailure markers should be processed correctly (you can also use @pytest.mark markers) - document integration with the extended distribute/setuptools test commands - fix issue 140: propperly get the real functions of bound classmethods for setup/teardown_class - fix issue #141: switch from the deceased paste.pocoo.org to bpaste.net - fix issue #143: call unconfigure/sessionfinish always when configure/sessionstart where called - fix issue #144: better mangle test ids to junitxml classnames - upgrade distribute_setup.py to 0.6.27 -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.2.2: bug fixes, collectonly improvements
pytest-2.2.2 is a minor backward-compatible release of the py.test testing tool. It contains bug fixes and a few refinements particularly to reporting with --collectonly, see below for betails. For general information see here: http://pytest.org/ To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest Special thanks for helping on this release to Ronny Pfannschmidt and Ralf Schmitt and the contributors of issues. best, holger krekel Changes between 2.2.1 and 2.2.2 - fix issue101: wrong args to unittest.TestCase test function now produce better output - fix issue102: report more useful errors and hints for when a test directory was renamed and some pyc/__pycache__ remain - fix issue106: allow parametrize to be applied multiple times e.g. from module, class and at function level. - fix issue107: actually perform session scope finalization - don't check in parametrize if indirect parameters are funcarg names - add chdir method to monkeypatch funcarg - fix crash resulting from calling monkeypatch undo a second time - fix issue115: make --collectonly robust against early failure (missing files/directories) - -qq --collectonly now shows only files and the number of tests in them - -q --collectonly now shows test ids - allow adding of attributes to test reports such that it also works with distributed testing (no upgrade of pytest-xdist needed) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.3: virtualenv-based test run automizer
tox 1.3: the virtualenv-based test run automatizer === I am happy to announce tox 1.3, containing a few improvements over 1.2. TOX automates tedious test activities driven from a simple ``tox.ini`` file, including: * 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 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.3 - - fix: allow to specify wildcard filesystem paths when specifiying dependencies such that tox searches for the highest version - fix issue21: clear PIP_REQUIRES_VIRTUALENV which avoids pip installing to the wrong environment, thanks to bb's streeter - make the install step honour a testenv's setenv setting (thanks Ralf Schmitt) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue7897] Support parametrized tests in unittest
Changes by holger krekel holger.kre...@gmail.com: -- nosy: +hpk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7897 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13490] broken downloads counting on pypi.python.org
New submission from holger krekel holger.kre...@gmail.com: Seems like pypi.python.org does not properly maintain download counters anymore, at least for a few packages i looked at like pytest,execnet,tox,nose. -- components: None messages: 148447 nosy: hpk priority: normal severity: normal status: open title: broken downloads counting on pypi.python.org type: behavior ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13490 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
pytest-2.1.3: just some fixes
py.test 2.1.3: just some fixes === pytest-2.1.3 is a minor backward compatible maintenance release of the popular py.test testing tool. It is commonly used for unit, functional- and integration testing. See extensive docs with examples here: http://pytest.org/ The release contains a fix to the perfected assertions introduced with the 2.1 series as well as the new possibility to customize the detailed reporting for assertion expressions on a per-directory level. If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest Thanks to the bug reporters and to Ronny Pfannschmidt, Benjamin Peterson and Floris Bruynooghe who implemented the fixes. best, holger krekel Changes between 2.1.2 and 2.1.3 - fix issue79: assertion rewriting failed on some comparisons in boolops, - correctly handle zero length arguments (a la pytest '') - fix issue67 / junitxml now contains correct test durations - fix issue75 / skipping test failure on jython - fix issue77 / Allow assertrepr_compare hook to apply to a subset of tests -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.1.2: bug fixes and fixes for jython
pytest-2.1.2 is a minor backward compatible maintenance release of the popular py.test testing tool. pytest is commonly used for unit, functional- and integration testing. See extensive docs with examples here: http://pytest.org/ Most bug fixes address remaining issues with the perfected assertions introduced in the 2.1 series - many thanks to the bug reporters and to Benjamin Peterson for helping to fix them. pytest should also work better with Jython-2.5.1 (and Jython trunk, but not Jython-2.5.2). If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest best, holger krekel / http://merlinux.eu Changes between 2.1.1 and 2.1.2 - fix assertion rewriting on files with windows newlines on some Python versions - refine test discovery by package/module name (--pyargs), thanks Florian Mayer - fix issue69 / assertion rewriting fixed on some boolean operations - fix issue68 / packages now work with assertion rewriting - fix issue66: use different assertion rewriting caches when the -O option is passed - don't try assertion rewriting on Jython, use reinterp -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.1.1: assertion fixes and improved junitxml output
pytest-2.1.1 is a backward compatible maintenance release of the popular py.test testing tool. See extensive docs with examples here: http://pytest.org/ Most bug fixes address remaining issues with the perfected assertions introduced with 2.1.0 - many thanks to the bug reporters and to Benjamin Peterson for helping to fix them. Also, junitxml output now produces system-out/err tags which lead to better displays of tracebacks with Jenkins. Also a quick note to package maintainers and others interested: there now is a pytest man page which can be generated with make man in doc/. If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest best, holger krekel / http://merlinux.eu Changes between 2.1.0 and 2.1.1 -- - fix issue64 / pytest.set_trace now works within pytest_generate_tests hooks - fix issue60 / fix error conditions involving the creation of __pycache__ - fix issue63 / assertion rewriting on inserts involving strings containing '%' - fix assertion rewriting on calls with a ** arg - don't cache rewritten modules if bytecode generation is disabled - fix assertion rewriting in read-only directories - fix issue59: provide system-out/err tags for junitxml output - fix issue61: assertion rewriting on boolean operations with 3 or more operands - you can now build a man page with cd doc ; make man -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.1.0: perfected assertions/bug fixes
Welcome to the relase of pytest-2.1, a mature testing tool for Python, supporting CPython 2.4-3.2, Jython and latest PyPy interpreters. See the improved extensive docs (now also as PDF!) with tested examples here: http://pytest.org/ The single biggest news about this release are **perfected assertions** courtesy of Benjamin Peterson. You can now safely use ``assert`` statements in test modules without having to worry about side effects or python optimization (-OO) options. This is achieved by rewriting assert statements in test modules upon import, using a PEP302 hook. See http://pytest.org/assert.html#advanced-assertion-introspection for detailed information. The work has been partly sponsored by my company, merlinux GmbH. For further details on bug fixes and smaller enhancements see below. If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest best, holger krekel / http://merlinux.eu Changes between 2.0.3 and 2.1.0 -- - fix issue53 call nosestyle setup functions with correct ordering - fix issue58 and issue59: new assertion code fixes - merge Benjamin's assertionrewrite branch: now assertions for test modules on python 2.6 and above are done by rewriting the AST and saving the pyc file before the test module is imported. see doc/assert.txt for more info. - fix issue43: improve doctests with better traceback reporting on unexpected exceptions - fix issue47: timing output in junitxml for test cases is now correct - fix issue48: typo in MarkInfo repr leading to exception - fix issue49: avoid confusing error when initizaliation partially fails - fix issue44: env/username expansion for junitxml file path - show releaselevel information in test runs for pypy - reworked doc pages for better navigation and PDF generation - report KeyboardInterrupt even if interrupted during session startup - fix issue 35 - provide PDF doc version and download link from index page -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-1.1: bug fixes and improved workflow
Hey all, i just released tox-1.1, the virtualenv/test/CI automation tool. See here for general information and install info: http://codespeak.net/~hpk/tox or http://tox.readthedocs.org (which is missing some navigation links at time of sending email) The release incorporates a number of bug fixes and an enhanced work flow: repeatedly calling tox without increasing version numbers now works (by calling pip -U --nodeps). With this release i consider tox pretty stable and fit for general use. best thanks to all contributors, holger krekel 1.1 - - fix issue5 - don't require argparse for python versions that have it - fix issue6 - recreate virtualenv if installing dependencies failed - fix issue3 - fix example on frontpage - fix issue2 - warn if a test command does not come from the test environment - fixed/enhanced: except for initial install always call -U --no-deps for installing the sdist package to ensure that a package gets upgraded even if its version number did not change. (reported on TIP mailing list and IRC) - inline virtualenv.py (1.6.1) script to avoid a number of issues, particularly failing to install python3 environents from a python2 virtualenv installation. - rework and enhance docs for display on readthedocs.org -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox 1.0 - rapid multi-python test automation
tox 1.0: the rapid multi-python test automation === I am happy to announce tox 1.0, a stabilization and maintenance release with some small improvements. tox automates tedious test activities driven from a simple ``tox.ini`` file, including: * 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 Docs and examples are now hosted at: http://tox.readthedocs.org Installation or upgrade with: pip install -U tox Note that code hosting and issue tracking has moved from Google to Bitbucket: http://bitbucket.org/hpk42/tox The 1.0 release includes contributions and is based on feedback and work from Chris Rose, Ronny Pfannschmidt, Jannis Leidel, Jakob Kaplan-Moss, Sridhar Ratnakumar, Carl Meyer and others. Many thanks! best, Holger Krekel CHANGES - - fix issue24: introduce a way to set environment variables for for test commands (thanks Chris Rose) - fix issue22: require virtualenv-1.6.1, obsoleting virtualenv5 (thanks Jannis Leidel) and making things work with pypy-1.5 and python3 more seemlessly - toxbootstrap.py (used by jenkins build slaves) now follows the latest release of virtualenv - fix issue20: document format of URLs for specifying dependencies - fix issue19: substitute Hudson for Jenkins everywhere following the renaming of the project. NOTE: if you used the special [tox:hudson] section it will now need to be named [tox:jenkins]. - fix issue 23 / apply some ReST fixes - change the positional argument specifier to use {posargs:} syntax and fix issues #15 and #10 by refining the argument parsing method (Chris Rose) - remove use of inipkg lazy importing logic - the namespace/imports are anyway very small with tox. - fix a fspath related assertion to work with debian installs which uses symlinks - show path of the underlying virtualenv invocation and bootstrap virtualenv.py into a working subdir - added a CONTRIBUTORS file -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.0.3: bug fixes and speed ups
py.test 2.0.3: bug fixes and speed ups === Welcome to pytest-2.0.3, a maintenance and bug fix release of pytest, a mature testing tool for Python, supporting CPython 2.4-3.2, Jython and latest PyPy interpreters. See the extensive docs with tested examples here: http://pytest.org/ If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest There also is a bugfix release 1.6 of pytest-xdist, the plugin that enables seemless distributed and looponfail testing for Python. best, holger krekel Changes between 2.0.2 and 2.0.3 -- - fix issue38: nicer tracebacks on calls to hooks, particularly early configure/sessionstart ones - fix missing skip reason/meta information in junitxml files, reported via http://lists.idyll.org/pipermail/testing-in-python/2011-March/003928.html - fix issue34: avoid collection failure with test prefixed classes deriving from object. - don't require zlib (and other libs) for genscript plugin without --genscript actually being used. - speed up skips (by not doing a full traceback represenation internally) - fix issue37: avoid invalid characters in junitxml's output -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.0.2: bug fixes, improved xfail/skip expressions, speedups
Welcome to pytest-2.0.2, a maintenance and bug fix release. py.test is a mature testing tool for Python, supporting CPython 2.4-3.2, Jython and latest PyPy interpreters. See the extensive docs with tested examples here: http://pytest.org/ If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest Many thanks to all issue reporters and people asking questions or complaining, particularly Jurko for his insistence, Laura, Victor and Brianna for helping with improving and Ronny for his general advise. best, holger krekel Changes between 2.0.1 and 2.0.2 -- - tackle issue32 - speed up test runs of very quick test functions by reducing the relative overhead - fix issue30 - extended xfail/skipif handling and improved reporting. If you have a syntax error in your skip/xfail expressions you now get nice error reports. Also you can now access module globals from xfail/skipif expressions so that this for example works now:: import pytest import mymodule @pytest.mark.skipif(mymodule.__version__[0] == 1) def test_function(): pass This will not run the test function if the module's version string does not start with a 1. Note that specifying a string instead of a boolean expressions allows py.test to report meaningful information when summarizing a test run as to what conditions lead to skipping (or xfail-ing) tests. - fix issue28 - setup_method and pytest_generate_tests work together The setup_method fixture method now gets called also for test function invocations generated from the pytest_generate_tests hook. - fix issue27 - collectonly and keyword-selection (-k) now work together Also, if you do py.test --collectonly -q you now get a flat list of test ids that you can use to paste to the py.test commandline in order to execute a particular test. - fix issue25 avoid reported problems with --pdb and python3.2/encodings output - fix issue23 - tmpdir argument now works on Python3.2 and WindowsXP Starting with Python3.2 os.symlink may be supported. By requiring a newer py lib version the py.path.local() implementation acknowledges this. - fixed typos in the docs (thanks Victor Garcia, Brianna Laugher) and particular thanks to Laura Creighton who also revieved parts of the documentation. - fix slighly wrong output of verbose progress reporting for classes (thanks Amaury) - more precise (avoiding of) deprecation warnings for node.Class|Function accesses - avoid std unittest assertion helper code in tracebacks (thanks Ronny) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pylib-1.4.1: bug fixes
py-1.4.1: cross-python lib for fs path, code, io, ... manipulations === This is a bug fix release of the py lib, see below for detailed changes. The py lib is a small library comprising APIs for filesystem and svn path manipulations, dynamic code construction and introspection, a Py2/Py3 compatibility namespace (py.builtin), IO capturing, terminal colored printing (on windows and linux), ini-file parsing and a lazy import mechanism. It runs unmodified on all Python interpreters compatible to Python2.4 up until Python 3.2, PyPy and Jython. The general goal with py is to provide stable APIs for some common tasks that are continously tested against many Python interpreters and thus also to help transition. Here are some docs: http://pylib.org NOTE: The prior py-1.3.X versions contained py.test which since py-1.4.0 comes as its own separate pytest distribution, see: http://pytest.org Also, the py.cleanup|py.lookup|py.countloc helpers are now part of the pycmd distribution, see http://pypi.python.org/pypi/pycmd Changes between 1.4.0 and 1.4.1 == - fix issue1 - py.error.* classes to be pickleable - fix issue2 - on windows32 use PATHEXT as the list of potential extensions to find find binaries with py.path.local.sysfind(commandname) - fix (pytest-) issue10 and refine assertion reinterpretation to avoid breaking if the __nonzero__ of an object fails - fix (pytest-) issue17 where python3 does not like star-imports, leading to misrepresentation of import-errors in test modules - fix ``py.error.*`` attribute pypy access - allow path.samefile(arg) to succeed when arg is a relative filename - fix (pytest-) issue20 path.samefile(relpath) works as expected now -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.0.1: bug fixes and better asserts
py.test 2.0.1: bug fixes and better asserts === Welcome to pytest-2.0.1, a maintenance and bug fix release of pytest, a mature testing tool for Python, supporting CPython 2.4-3.2, Jython and latest PyPy interpreters. See extensive docs with tested examples here: http://pytest.org/ If you want to install or upgrade pytest, just type one of:: pip install -U pytest # or easy_install -U pytest Many thanks to all issue reporters and people asking questions or complaining. Particular thanks to Floris Bruynooghe and Ronny Pfannschmidt for their great coding contributions and many others for feedback and help. best, holger krekel Changes between 2.0.0 and 2.0.1 -- - refine and unify initial capturing so that it works nicely even if the logging module is used on an early-loaded conftest.py file or plugin. - fix issue12 - show plugin versions with --version and --traceconfig and also document how to add extra information to reporting test header - fix issue17 (import-* reporting issue on python3) by requiring py1.4.0 (1.4.1 is going to include it) - fix issue10 (numpy arrays truth checking) by refining assertion interpretation in py lib - fix issue15: make nose compatibility tests compatible with python3 (now that nose-1.0 supports python3) - remove somewhat surprising same-conftest detection because it ignores conftest.py when they appear in several subdirs. - improve assertions (not in), thanks Floris Bruynooghe - improve behaviour/warnings when running on top of python -OO (assertions and docstrings are turned off, leading to potential false positives) - introduce a pytest_cmdline_processargs(args) hook to allow dynamic computation of command line arguments. This fixes a regression because py.test prior to 2.0 allowed to set command line options from conftest.py files which so far pytest-2.0 only allowed from ini-files now. - fix issue7: assert failures in doctest modules. unexpected failures in doctests will not generally show nicer, i.e. within the doctest failing context. - fix issue9: setup/teardown functions for an xfail-marked test will report as xfail if they fail but report as normally passing (not xpassing) if they succeed. This only is true for direct setup/teardown invocations because teardown_class/ teardown_module cannot closely relate to a single test. - fix issue14: no logging errors at process exit - refinements to collecting output on non-ttys - refine internal plugin registration and --traceconfig output - introduce a mechanism to prevent/unregister plugins from the command line, see http://pytest.org/plugins.html#cmdunregister - activate resultlog plugin by default - fix regression wrt yielded tests which due to the collection-before-running semantics were not setup as with pytest 1.3.4. Note, however, that the recommended and much cleaner way to do test parametraization remains the pytest_generate_tests mechanism, see the docs. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue10548] Error in setUp not reported as expectedFailure (unittest)
holger krekel holger.kre...@gmail.com added the comment: Michael, if you have it i'd like to see the original post/concrete use case. thanks, holger -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10548 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
pytest-pep8 0.6: configurable PEP8 checking in py.test runs
just released an initial version 0.6 of the pytest-pep8 plugin, integrating the ``pep8`` module into py.test runs, allowing full per-project customization and configuration. See http://pypi.python.org/pypi/pytest-pep8 for installation and configuration instructions. best, holger Usage - install pytest-pep8 via:: easy_install pytest-pep8 # or pip install pytest-pep8 and then type:: py.test --pep8 to activate source code checking. Every file ending in ``.py`` will be discovered and checked, starting from the command line arguments. For example, if you have a file like this:: # content of myfile.py somefunc( 123,456) you can run it with:: $ py.test --pep8 === test session starts platform linux2 -- Python 2.6.5 -- pytest-2.0.1.dev1 pep8 ignore opts: E202 E221 E222 E241 E301 E302 E401 E501 E701 W293 W391 W601 W602 collecting ... collected 1 items myfile.py F = FAILURES = PEP8-check /tmp/doc-exec-12/myfile.py:2:10: E201 whitespace after '(' somefunc( 123,456) ^ /tmp/doc-exec-12/myfile.py:2:14: E231 missing whitespace after ',' somefunc( 123,456) ^ = 1 failed in 0.01 seconds = Note that in the testing header you see the current list of default ignores. For the meaning of these error and warning codes, see the error output when running against your files or checkout `pep8.py https://github.com/jcrocholl/pep8/blob/master/pep8.py`_. Configuring PEP8 options per-project - Lastly, you may configure PEP8-checking options for your project by adding an ``pep8options`` entry to your ``pytest.ini`` or ``setup.cfg`` file like this:: [pytest] pep8options = +W293 -E200 Running PEP8 checks and no other tests - You can also restrict your test run to only perform pep8 tests and not any other tests by typing:: py.test --pep8 -k pep8 This will only run tests that are marked with the pep8 keyword which is added for the pep8 test items added by this plugin. Notes - The repository of this plugin is at http://bitbucket.org/hpk42/pytest-pep8 For more info on py.test see http://pytest.org The code is partially based on Ronny Pfannschmidt's pytest-codecheckers plugin. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue10548] Error in setUp not reported as expectedFailure (unittest)
Changes by holger krekel holger.kre...@gmail.com: -- nosy: +hpk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10548 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10548] Error in setUp not reported as expectedFailure (unittest)
holger krekel holger.kre...@gmail.com added the comment: FWIW i tend to agree and would probably prefer setup/teardown to result in an error rather than be subsumed in an expected-to-fail marked test. I guess if one regards setup/teardown as a place to implement pre/post-conditions than the changes suggested by Michael make more sense. I'd like to see a more real use case / user than the abstract case provided here. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10548 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
py-1.4.0: cross python lib for localpath/io/dynamic/... code functionality
py-1.4.0: cross-python lib for path, code, io, ... manipulations === py is a small library comprising APIs for filesystem and svn path manipulations, dynamic code construction and introspection, a Py2/Py3 compatibility namespace (py.builtin), IO capturing, terminal colored printing (on windows and linux), ini-file parsing and a lazy import mechanism. It runs unmodified on all Python interpreters compatible to Python2.4 up until Python 3.2. The general goal with py is to provide stable APIs for some common tasks that are continously tested against many Python interpreters and thus also to help transition. Here are some docs: http://pylib.org NOTE: The prior py-1.3.X versions contained py.test which now comes as its own separate pytest distribution and was just released as pytest-2.0.0, see here for the revamped docs: http://pytest.org And py.cleanup|py.lookup|py.countloc etc. helpers are now part of the pycmd distribution, see http://pypi.python.org/pypi/pycmd This makes py-1.4.0 a simple library which does not install any command line utilities anymore. cheers, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pycmd-1.0: tools for managing/searching Python related files
Hi all, i released pycmd-1.0, some tools for working with Python source code: py.cleanup: remove .pyc and $py.class etc. files py.lookup: grep in python files py.countloc: give Lines of Code for code and tests py.which: print location of an importable package or module All tools have command line options with help strings and have automated tests running against them. see also: http://pypi.python.org/pypi/pycmd cheers, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
execnet-1.0.9: small refinements
Hi all, just released execnet-1.0.9, the rapid multi-Python deployment library. 1.0. contains some small additions and refinements, mostly implemented by Ronny Pfannschmidt. See the docs fore more info: http://codespeak.net/execnet cheers, holger 1.0.9 - add gw.reconfigure() to configure per gateway options. Currently supported: py2str_as_py3str and py3str_as_py2str to configure string deserialization - channel.makefile() objects now have a isatty() returning False - group.allocate_id(spec) allows to early-determine an (automatic) id - internal refactorings and cleanups (thanks Ronny Pfannschmidt): - refactor message types into received handler functions - refactor b(chr(opcode)) to bchr(opcode) - reorder Message ctor args, rename msgtype to msgcode - refactor gateway.send to take message's init args instead of a message - inline and remove Message.writeto/readfrom - refactor collection loading to avoid the indirection over tuple - remove the unused NamedThreadPool -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pytest-2.0: asserts++, unittest++, reporting++, config++, docs++
py.test 2.0.0: asserts++, unittest++, reporting++, config++, docs++ === Welcome to pytest-2.0.0, a major new release of py.test, the rapid easy Python testing tool. There are many new features and enhancements, see below for summary and detailed lists. A lot of long-deprecated code has been removed, resulting in a much smaller and cleaner implementation. See the new docs with examples here: http://pytest.org/ I also just released pytest-xdist-1.5, the plugin for distributed testing - which was successfully used to speed up a real-life unittest suite 4-times written for (twisted) trial, thanks to the generic unittest integration improvements. See here for docs and install instructions: http://pypi.python.org/pypi?:action=displayname=pytest-xdist A note on packaging: pytest used to part of the py distribution up until version py-1.3.4 but this has changed now: pytest-2.0.0 only contains py.test related code and is expected to be backward-compatible to existing test code. If you want to install pytest, just type one of:: pip install -U pytest easy_install -U pytest Many thanks to all issue reporters and people asking questions or complaining. Particular thanks to Floris Bruynooghe and Ronny Pfannschmidt for their great coding contributions and many others for feedback and help. best, holger krekel New Features --- - new invocations through Python interpreter and from Python:: python -m pytest # on all pythons = 2.5 or from a python program:: import pytest ; pytest.main(arglist, pluginlist) see http://pytest.org/2.0.0/usage.html for details. - new and better reporting information in assert expressions if comparing lists, sequences or strings. see http://pytest.org/2.0.0/assert.html#newreport - new configuration through ini-files (setup.cfg or tox.ini recognized), for example:: [pytest] norecursedirs = .hg data* # don't ever recurse in such dirs addopts = -x --pyargs # add these command line options by default see http://pytest.org/2.0.0/customize.html - improved standard unittest support. In general py.test should now better be able to run custom unittest.TestCases like twisted trial or Django based TestCases. Also you can now run the tests of an installed 'unittest' package with py.test:: py.test --pyargs unittest - new -q option which decreases verbosity and prints a more nose/unittest-style dot output. - many many more detailed improvements details Fixes --- - fix issue126 - introduce py.test.set_trace() to trace execution via PDB during the running of tests even if capturing is ongoing. - fix issue124 - make reporting more resilient against tests opening files on filedescriptor 1 (stdout). - fix issue109 - sibling conftest.py files will not be loaded. (and Directory collectors cannot be customized anymore from a Directory's conftest.py - this needs to happen at least one level up). - fix issue88 (finding custom test nodes from command line arg) - fix issue93 stdout/stderr is captured while importing conftest.py - fix bug: unittest collected functions now also can have pytestmark applied at class/module level Important Notes * The usual way in pre-2.0 times to use py.test in python code was to import py and then e.g. use py.test.raises for the helper. This remains valid and is not planned to be deprecated. However, in most examples and internal code you'll find import pytest and pytest.raises used as the recommended default way. * pytest now first performs collection of the complete test suite before running any test. This changes for example the semantics of when pytest_collectstart/pytest_collectreport are called. Some plugins may need upgrading. * The pytest package consists of a 400 LOC core.py and about 20 builtin plugins, summing up to roughly 5000 LOCs, including docstrings. To be fair, it also uses generic code from the pylib, and the new py package to help with filesystem and introspection/code manipulation. (Incompatible) Removals - - py.test.config is now only available if you are in a test run. - the following (mostly already deprecated) functionality was removed: - removed support for Module/Class/... collection node definitions in conftest.py files. They will cause nothing special. - removed support for calling the pre-1.0 collection API of run() and join - removed reading option values from conftest.py files or env variables. This can now be done much much better and easier through the ini-file mechanism and the addopts entry in particular. - removed the disabled attribute in test classes. Use the skipping and pytestmark mechanism to skip or xfail a test class. - py.test.collect.Directory does not exist anymore and it is not possible to provide an own Directory
tox-0.9: better CI bootstrapping / custom PyPI index servers
Hi all, i just released tox-0.9, the generic virtualenv-using test integration automation tool (tm). This release brings a new zero-install way to deploy tox and your test suite on Hudson slaves. Apart from one or more Python interpreters you do not need anything on the slave side, see here for details: http://codespeak.net/tox/example/hudson.html#zero-installation-for-slaves Moreover, you can now work with multiple PyPI index servers which is very nice if you (want to) operate your own in-company servers, see here for details: http://codespeak.net/tox/example/basic.html#using-a-different-default-pypi-url Btw, what kind of custom servers are you successfully using? (tell me on twitter @hpk42 if you like). Oh, and for basic info just go to http://codespeak.net/tox if that wasn't clear yet. have fun, holger Changelog for 0.9 --- - added support for working with different and multiple PYPI indexservers. - fix pip-installation mixups by always unsetting PIP_RESPECT_VIRTUALENV (thanks Armin Ronacher) - issue1: Add a toxbootstrap.py script for tox, thanks to Sridhar Ratnakumar - new option: -r|--recreate to force recreation of virtualenv - show logfile content if there is an error (makes CI output more readable) - depend on py=1.4.0 which does not contain or install the py.test anymore which is now a separate distribution pytest. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
apipkg-1.0 controling exported API + lazy importing
Hi, i just released apipkg-1.0, an around 100 LOC module for easy importing of export-controled namespaces. So far, it's successfully used in tox, pylib and a few other projects. With apipkg you can control the exported namespace of a Python package and greatly reduce the number of imports for your users. It is a `small pure python module`_ that works on virtually all Python versions, including CPython2.3 to Python3.1, Jython and PyPy. It co-operates well with Python's ``help()`` system, custom importers (PEP302) and common command line completion tools. Some more info on the PyPI project page: http://pypi.python.org/pypi/apipkg have fun, holger -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
pylib/py.test 1.3.4: fixes and new native traceback option
pylib/py.test 1.3.4 is a minor maintenance release mostly containing bug fixes and a new --tb=native traceback option to show normal Python standard tracebacks instead of the py.test enhanced tracebacks. See below for more change info and http://pytest.org for more general information on features and configuration of the testing tool. Thanks to the issue reporters and generally to Ronny Pfannschmidt for help. cheers, holger krekel Changes between 1.3.3 and 1.3.4 == - fix issue111: improve install documentation for windows - fix issue119: fix custom collectability of __init__.py as a module - fix issue116: --doctestmodules work with __init__.py files as well - fix issue115: unify internal exception passthrough/catching/GeneratorExit - fix issue118: new --tb=native for presenting cpython-standard exceptions -- -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
execnet-1.0.8 and a green experiment
I just released execnet-1.0.8, see the Changelog for details, below. What is execnet? - execnet is a small pure python library that manages distributed code execution across Python versions and host boundaries. It provides a self-bootstrapping share-nothing model with channels to send/receive data messages. It also helps with managing a cluster of (local or remote) processes and comes with tons of examples and API docs: http://codespeak.net/execnet green version of execnet For those interested i hacked up a green version of execnet which is API-compatible (and less stable) than the main version. It requires the eventlet library and is thus not fully self-bootstrapping (you need to install eventlet on all remote nodes you want to execute code on). There is no release but you can peruse http://code.google.com/p/execnet-green/source/checkout and python setup.py develop to play with it. It will never spawn any operating system threads. Rather remote_exec() will spawn greenlets/micro-threads of which you can easily have a few thousand. It probably only is stable enough for simple scenarios at this point. best, holger Changelog 1.0.8 (compared to 1.0.7): - new ``gateway.remote_exec(func, **kwargs)`` style fo executing a pure function with parameters. The function on the remote side also needs to accept a ``channel`` which allows it to communicate back and forth. Thanks to Ronny Pfannschmidt for implementing it with special kudos to Maciej Fijalkowski for writing a pure-function checker so that on Python2.6 onwards non-pure functions will be rejected. - enhance rsyncing to also sync permissions (stat().st_mode) of directories and files. (should also resolve http://bitbucket.org/hpk42/py-trunk/issue/68/) - fix rsyncing of symlinks, thanks to Charles Solar (should also resolve http://bitbucket.org/hpk42/py-trunk/issue/70/) - update internal usage of apipkg to 1.0b6 - remote_exec(module) now makes sure that the linecache is updated before reading and sending the source. thanks Ronny, Matt. - removed all trailing whitespace from source files -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-0.8 and py.test-1.3.3 released
Hi, just did a two test tool releases, one for tox and one for py.test. The tox-0.8 release provides fixes and workarounds, see changelog below. The py-1.3.3 release mainly provides fixes for terminal output. best thanks to the respective feedbackers/helpers, holger What is tox? -- Tox is a generic test runner, creating virtualenv environments on the fly and executing your test tool of choice. It works conveniently from a developer's terminal as well as from a Continous Integration Server. See http://codespeak.net/tox What is py.test? -- py.test is an easy-to-learn testing tool with many plugins and features for integration and functional tests in Python. See http://pytest.org for more info. CHANGES tox-0.8 - - work around a virtualenv limitation which crashes if PYTHONDONTWRITEBYTECODE is set. - run pip/easy installs from the environment log directory, avoids naming clashes between env names and dependencies (thanks ronny) - require a more recent version of py lib - refactor and refine config detection to work from a single file and to detect the case where a python installation overwrote an old one and resulted in a new executable. This invalidates the existing virtualenvironment now. - change all internal source to strip trailing whitespaces Changes py-1.3.3 -- - fix issue113: assertion representation problem with triple-quoted strings (and possibly other cases) - make conftest loading detect that a conftest file with the same content was already loaded, avoids surprises in nested directory structures which can be produced e.g. by Hudson. It probably removes the need to use --confcutdir in most cases. - fix terminal coloring for win32 (thanks Michael Foord for reporting) - fix weirdness: make terminal width detection work on stdout instead of stdin (thanks Armin Ronacher for reporting) - remove trailing whitespace in all py/text distribution files -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox-0.7: fixes, python3-compat, site-packages
Hi all, thanks to feedback and help from Michael Foord, Sridhar Ratnakumar, Kumar McMillan, Ronny Pfannschmidt and Ralf Schmitt i just released tox-0.7 which includes a couple of fixes, improved Python3 virtualenv support (on non-windows platforms), and a new sitepackages config option that let's you use globally installed packages. See the more detailed changelog below. The web page is here: http://codespeak.net/tox have fun, holger What is Tox? TOX as is a virtualenv management and generic test command line tool you can use for: * checking your package installs correctly with different Python versions and interpreters * running your tests in each of the environments, configuring your test tool of choice * acting as a frontend to Continous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing. Changes 0.7 -- - use virtualenv5 (my own fork of virtualenv3) for now to create python3 environments, fixes a couple of issues and makes tox more likely to work with Python3 (on non-windows environments) - add ``sitepackages`` option for testenv sections so that environments can be created with access to globals (default is not to have access, i.e. create environments with ``--no-site-packages``. - addressing issue4: always prepend venv-path to PATH variable when calling subprocesses - fix issue2: exit with proper non-zero return code if there were errors or test failures. - added unittest2 examples contributed by Michael Foord - only allow 'True' or 'False' for boolean config values (lowercase / uppercase is irrelevant) - recreate virtualenv on changed configurations 0.6 - - fix OSX related bugs that could cause the caller's environment to get screwed (sorry). tox was using the same file as virtualenv for tracking the Python executable dependency and there also was confusion wrt links. this should be fixed now. - fix long description, thanks Michael Foord 0.5 - - initial release -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
tox, a new generic virtualenv/test management tool
I have been talking about it with various people lately and am now happy announce the first release of tox. tox aims to automate tedious Python related test activities driven from a simple ``tox.ini`` file, including: * creation and management of virtualenv environments * installing your Python package into each of them * run your test tool of choice (nose, py.test, unittests, you name it) * testing packages against each other without needing to upload to PyPI tox runs well on Python2.4 up until Python3.1 and integrates well with Continous Integration servers like Hudson. There are many real-life examples and a fair amount of docs. Read up on http://codespeak.net/tox and please report any issues. This is a fresh project and i'd like to drive further improvements from real world needs and feedback. thanks cheers, holger krekel -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/