Use coverage and tox for testing
authorOleg Broytman <phd@phdru.name>
Tue, 20 Sep 2016 23:56:33 +0000 (02:56 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 20 Sep 2016 23:56:33 +0000 (02:56 +0300)
cookiecutter
project_template/.gitignore
project_template/tox.ini [new file with mode: 0644]

index 31c323b..34e5cfe 100755 (executable)
@@ -15,7 +15,7 @@ cd "$HOME/tmp/$project_name" &&
 mv project "$project_name" &&
 
 replace -i "template project" "$project_name" README.txt setup.py &&
-replace project "$project_name" docs/genapidocs mk-distr publish-docs setup.py &&
+replace project "$project_name" docs/genapidocs mk-distr publish-docs setup.py tox.ini &&
 
 sphinx-quickstart --project="$project_name" --author="Oleg Broytman" \
    -v0.0 -r0.0.1 --ext-autodoc --makefile --no-batchfile -q docs &&
diff --git a/project_template/tox.ini b/project_template/tox.ini
new file mode 100644 (file)
index 0000000..01864e4
--- /dev/null
@@ -0,0 +1,40 @@
+[tox]
+minversion = 1.8
+envlist = {py26,py27,py34},{py27,py34}-flake8
+
+# Base test environment settings
+[testenv]
+deps =
+    pytest
+    pytest-cov
+    py26: argparse
+    py26,py27: m_lib>=2.0
+    py34: m_lib>=3.0
+sitepackages = True
+# Don't fail or warn on uninstalled commands
+whitelist_externals =
+    flake8
+    py.test
+
+[general]
+commands =
+    python /usr/local/bin/py.test --cov={envsitepackagesdir}/project
+
+[testenv:py26]
+commands = {[general]commands}
+
+[testenv:py27]
+commands = {[general]commands}
+
+[testenv:py34]
+commands = {[general]commands}
+
+[testenv:py27-flake8]
+deps =
+    flake8
+commands = flake8 project scripts tests
+
+[testenv:py34-flake8]
+deps =
+    flake8
+commands = flake8 project scripts tests