tox / ISSUES.txt

Full commit
introduce package and less sdist creation

Example sections for tox itself::

    basename = pytest
    description = virtualenv-based automation of test activities
    authors = holger krekel <>
    url =
    entry_points = console_scripts: tox=tox:cmdline
    requires = py
    packages = 
    preuploadenvs = sphinx 

        Development Status :: 6 - Mature
        Intended Audience :: Developers
        License :: OSI Approved :: MIT License
        Topic :: Software Development :: Testing
        Topic :: Software Development :: Libraries
        Topic :: Utilities

This would generate three different packages:

- the main one containing the app with the specified description, etc.
  It has a test-requires pointing to the test package,
  which classifiers
- the test package only containing the tests and
  depending on the main package and all requirements collected from the
- the doc package containing generated html and txt files
  (to be installable via a as well?)

Here is what happens when tox is invoked now:

- version gets auto-incremented (in and $PACKAGE/ files)
- main generated, files copied, sdist generated
- test generated, files copied, sdist generated
- doc generated, doc environment run, files copied, sdist generated

- if --upload is specified, all packages are uploaded under 
  their respective names:

- tox --sync creates a test result file for the tests-tox-VER run
  and uploads it to -- .tox/projectkeys contains a file that
  was created by visiting and registering/logging in.

- download toxslave and execute it:

    toxslave --userkey=... [--project tox]

  which will query for outstanding testruns
  [for the tox project], download packages, execute them 
  and report back to the server

merge tox and detox?

maybe it's time to merge it?
pyc files / test distributions

investigate pyc cleaning, see

allow config overlays

tags: 1.5 feature

You can specify wildcards in section titles.

    commands=py.test {posargs}
    use2to3 = True

    deps =

Configuration values are now looked up in a stricter-matches-first
manner: If environment "py32" is considered then first the 
section under py32, then py3*, then testenv. 

support 2to3 configurations / test file postprocessing

tags: 1.5 feature

Tests should be copied and transformed before being executed.
Setup a test definition::

    commands=py.test {posargs}
    use2to3 = True

would transform all specified test files for all py3 environments 
such that a subsequent test run::

    $ tox -e py25,py32 testing/

causes a transformation of the test files to prepare test runs on
Python3 interpreters.  The ``posargs`` specified files will be rewritten
to point to the transformed test files.

export support for travis
tag: 1.6 feature

look into ways to support integration of tox with travis.

- run tox from travis
- let tox read commands from travis config
- generate .travis.yml from tox.ini
- generate tox.ini from .travis.yml

For the last two, take a look at

allow user-specific python interpreters

users should be able to define their set of python executables
to be used for creating virtualenvs.

non-cached test dependencies

if there is a dependency on a URL whose content changes
the download-cache mechanism will prevent it from being reloaded.
Introduce a 'nocache:' prefix which will inhibit using the cache.
Also make and document a guarantee on the deps order so that
one can influence the exact configuration (e.g. use a dev-version
of some package which a later dependency or the original
package depends upon - i.e. deps should be installed first).

test and make "in-pkg" tests work

it is common to put tests into pkg subdirs, possibly
even with an __init__.  See if/how this can be made
to work.  Maybe also re-consider how py.test does its
importing, maybe add a pytest_addsyspath(testmodule)
and look how nose does it in detail.