summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2016-05-10 00:50:45 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2016-05-10 00:50:45 -0700
commite9c83db42bd0976369c338aa1d9d6d98e63292f1 (patch)
tree9c84e73066c07c563a9623f769b074dd0d7cbabb
parente3115aa505b8fc68893e4ebeaf5e5f152507e693 (diff)
parentc005b5fe9c72c19db92a5459d8c3657d7343aa0a (diff)
downloadspack-e9c83db42bd0976369c338aa1d9d6d98e63292f1.tar.gz
spack-e9c83db42bd0976369c338aa1d9d6d98e63292f1.tar.bz2
spack-e9c83db42bd0976369c338aa1d9d6d98e63292f1.tar.xz
spack-e9c83db42bd0976369c338aa1d9d6d98e63292f1.zip
Merge branch 'qa/coding_standard' of https://github.com/epfl-scitas/spack into epfl-scitas-qa/coding_standard
-rw-r--r--.coveragerc27
-rw-r--r--.gitignore2
-rw-r--r--.style.yapf3
-rw-r--r--.travis.yml18
-rw-r--r--README.md1
-rw-r--r--flake8.ini3
6 files changed, 51 insertions, 3 deletions
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000000..37410a3677
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,27 @@
+# .coveragerc to control coverage.py
+[run]
+branch = True
+
+[report]
+# Regexes for lines to exclude from consideration
+exclude_lines =
+ # Have to re-enable the standard pragma
+ pragma: no cover
+
+ # Don't complain about missing debug-only code:
+ def __repr__
+ if self\.debug
+
+ # Don't complain if tests don't hit defensive assertion code:
+ raise AssertionError
+ raise NotImplementedError
+
+ # Don't complain if non-runnable code isn't run:
+ if 0:
+ if False:
+ if __name__ == .__main__.:
+
+ignore_errors = True
+
+[html]
+directory = htmlcov
diff --git a/.gitignore b/.gitignore
index 4b97de5d50..643e5d9b03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@
/share/spack/dotkit
/share/spack/modules
/TAGS
+/htmlcov
+.coverage
diff --git a/.style.yapf b/.style.yapf
new file mode 100644
index 0000000000..b4a1f688b8
--- /dev/null
+++ b/.style.yapf
@@ -0,0 +1,3 @@
+[style]
+based_on_style = pep8
+column_limit = 120 \ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 1bed6b0874..30dfebf783 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,20 +6,32 @@ python:
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
-# No need to install any deps.
-install: true
+# Install coveralls to obtain code coverage
+install:
+ - "pip install coveralls"
+ - "pip install flake8"
before_install:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
+ # Need this to be able to compute the list of changed files
+ - git fetch origin develop:develop
script:
- . share/spack/setup-env.sh
- spack compilers
- spack config get compilers
- - spack test
- spack install -v libdwarf
+ # Run unit tests with code coverage
+ - coverage run --source=lib --omit=lib/spack/spack/test/*,lib/spack/env/*,lib/spack/docs/*,lib/spack/external/* bin/spack test
+ # Checks if the file that have been changed are flake8 conformant
+ - CHANGED_PYTHON_FILES=`git diff develop... --name-only | perl -ne 'print if /\.py/g'`
+ - if [[ ${CHANGED_PYTHON_FILES} ]] ; then flake8 --format pylint --config flake8.ini ${CHANGED_PYTHON_FILES} ; fi
+
+
+after_success:
+ - coveralls
notifications:
email:
diff --git a/README.md b/README.md
index 1977a4fee9..7797da299c 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
============
[![Build Status](https://travis-ci.org/LLNL/spack.png?branch=develop)](https://travis-ci.org/LLNL/spack)
+[![Coverage Status](https://coveralls.io/repos/github/LLNL/spack/badge.svg?branch=develop)](https://coveralls.io/github/LLNL/spack?branch=develop)
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
diff --git a/flake8.ini b/flake8.ini
new file mode 100644
index 0000000000..757c71705e
--- /dev/null
+++ b/flake8.ini
@@ -0,0 +1,3 @@
+[flake8]
+ignore = W391,F403
+max-line-length = 120 \ No newline at end of file