Skip to content

ev-br/testrig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

testrig

Python package integration testing.

Runs the test suite of some package against 'old' and 'new' versions of given dependencies. Failures that appear in 'new' are reported.

Each test suite run is run in a virtualenv constructed from scratch. You should install ccache (and possibly also f90cache) to avoid drinking too much coffee.

Alternatively, binary conda packages can be used --- however, binary incompatibities may arise in this configuration.

Currently, this is POSIX-only, and tested only on Linux.

See Travis-CI for most recent results for latest Numpy maintenance branch. Log in to Travis and press the restart button to re-run the checks for the latest commit / tag.

Usage

Run:

python run.py --help
python run.py pandas                            # run tests, default config
python run.py --config=testrig-conda.ini pandas # use conda packages
python run.py -j                                # run all packages parallel

The runs may take a long time, as it builds everything from source.

Configuration

Configuration is read from testrig.ini by default. It contains sections, one per test environment. Section named DEFAULT can be used to specify (overridable) default values for the configuration items.

An example first (runs scipy test suite against old and new numpy versions):

[DEFAULT]
old=numpy==1.7.2
new=Cython==0.22 git+https://github.com/numpy/numpy@master

[scipy]
base=nose tempita Cython==0.22 scipy==0.17.0
run=python -c 'import numpy; numpy.test("fast", verbose=2)'
parser=nose

The configuration items in each section are:

  • env: which environment to use
    • virtualenv: virtualenv + pip, all packages are built from sources
    • conda: conda, uses binary packages, except for git+ urls and package names prefixed by pip+. Note that you may need to write stuff like numpy git+https://github.com/numpy/numpy.git since conda only understand that packages installed by it are present.
  • old: package specifications for the 'old' configuration.
  • new: package specifications for the 'new' configuration.
  • base: packages for both configurations. These are installed after those specified by old or new.
  • run: command that runs the tests.
  • parser: parser for the test output. Available options:
    • nose: parses nose stdout
    • pytest-log: parses contents from py.test --result-log=pytest.log ...

About

Python package integration testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%