[X2Go-Commits] [nx-libs] 27/30: travis.yml: Add cppcheck - A tool for static C/C++ code analysis.

git-admin at x2go.org git-admin at x2go.org
Tue Jul 3 22:24:07 CEST 2018


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa
Author: Mario Trangoni <mjtrangoni at gmail.com>
Date:   Sun Mar 11 19:22:22 2018 +0100

    travis.yml: Add cppcheck - A tool for static C/C++ code analysis.
---
 .travis.yml            | 19 +++++++++++++++++--
 run-static-analysis.sh | 14 ++++++++++++++
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index f8806d0..3f36340 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 0000000..0524c46
--- /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

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list