diff options
author | Mario Trangoni <mjtrangoni@gmail.com> | 2018-03-11 19:22:22 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2018-07-03 16:40:06 +0200 |
commit | c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa (patch) | |
tree | 33f2b05337fe7596ea9c193a98d607afb9e80ca7 | |
parent | fd9de0086d10ee236dd24d51d93f60edf52cd89c (diff) | |
download | nx-libs-c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa.tar.gz nx-libs-c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa.tar.bz2 nx-libs-c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa.zip |
travis.yml: Add cppcheck - A tool for static C/C++ code analysis.
-rw-r--r-- | .travis.yml | 19 | ||||
-rwxr-xr-x | run-static-analysis.sh | 14 |
2 files changed, 31 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml index f8806d063..3f36340fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,10 +10,20 @@ matrix: apt: sources: - ubuntu-toolchain-r-test + env: + - MATRIX_EVAL="CC=gcc && CXX=g++" + - STATIC_ANALYSIS="yes" + fail_fast: true + + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test packages: - g++-4.9 env: - - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" + - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - os: linux addons: @@ -47,10 +57,15 @@ matrix: before_install: - sudo apt-get update -qq + # cppcheck tool + - sudo apt-get install -y cppcheck/trusty-backports # imake - sudo apt-get install -y xutils-dev # X11 libaries - sudo apt-get install -y libxcomposite-dev libxfont-dev libxinerama-dev libxrandr-dev libxtst-dev x11proto-fonts-dev - eval "${MATRIX_EVAL}" script: - - make + # run static analysis tools + - ./run-static-analysis.sh + # build all packages + - make diff --git a/run-static-analysis.sh b/run-static-analysis.sh new file mode 100755 index 000000000..0524c469a --- /dev/null +++ b/run-static-analysis.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +if [[ "${STATIC_ANALYSIS}" == "yes" ]]; then + # cppcheck + if ! [ -x "$(command -v cppcheck)" ]; then + echo 'Error: cppcheck is not installed.' >&2 + exit 1 + fi + CPPCHECK_OPTS='--error-exitcode=0 --force --quiet' + # we exclude some external projects + CPPCHECK_EXCLUDES='-i ./nx-X11/extras/Mesa* -i ./nx-X11/extras/Mesa_* -i nx-X11/programs/Xserver/GL/mesa*' + echo "$(cppcheck --version):"; + cppcheck $CPPCHECK_OPTS $CPPCHECK_EXCLUDES .; +fi |