Commit 53638cf2 authored by Dylan Baker's avatar Dylan Baker

framework: add tox testing support

tox is a python test manager that runs the tests in isolated
environments with their own copies of dependent libraries, and can be
used to test against multiple versions of python. This allows us to
easily test the framework with and without the acceleration modules it
can optionally use (simplejson and lxml), it will also allow us to test
against multiple versions of python 3.x (which we support for the
generators, and presumably will support in the future)

This uses the coverage module, and uses nose's cover-tests option.
Unfortunately nose assumes that anything /[Tt]est/ is a test, and hides
the tests for the test package. This might be resolvable by modifying
the regex, but it isn't something straightforward to fix. Using
--cover-tests will get us the test package, but it also gets us the
tests package.
Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
parent 94292862
......@@ -24,6 +24,7 @@ tests/glslparsertest/glslcompiler
generated_tests/cl
.makotmp
.tox/
*.css
*.html
......
......@@ -42,6 +42,8 @@ Optionally, you can install the following:
- nose. A python test framework, used for running the python framework
test suite. (https://nose.readthedocs.org/en/latest/)
- tox. A tool for testing python packages against multiple configurations of
python (https://tox.readthedocs.org/en/latest/index.html)
- lxml. An accelerated python xml library using libxml2 (http://lxml.de/)
- simplejson. A fast C based implementation of the python json library.
(https://simplejson.readthedocs.org/en/latest/)
......
[tox]
envlist = py27-{noaccel,accel}
skipsdist=True
[testenv]
deps =
mako
numpy
six
nose
coverage
accel: simplejson
accel: lxml
accel: backports.lzma
passenv=HOME
commands = nosetests framework/tests --attr="!privliged" --with-cover --cover-package=framework --cover-tests
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment