Browse Source

Add clang analyzer check using scan-build

Marc Di Luzio 5 years ago
parent
commit
23dd471f6b
2 changed files with 19 additions and 1 deletions
  1. 5 1
      .travis.yml
  2. 14 0
      scripts/static-analyser-check.sh

+ 5 - 1
.travis.yml

@@ -2,15 +2,18 @@ dist: xenial
 language: c
 compiler: gcc
 sudo: false
-
 addons:
   apt:
     packages:
+      - clang
       - clang-format
       - python3-pip
       - python3-setuptools
       - libsystemd-dev
       - ninja-build
+  artifacts:
+    paths:
+    - $(git ls-files -o | tr "\n" ":")
 
 before_script:
   - pip3 install wheel
@@ -21,3 +24,4 @@ script:
   - ./scripts/format-check.sh
   - ./bootstrap.sh -Dwith-examples=true
   - gamemoded -v
+  - ./scripts/static-analyser-check.sh 

+ 14 - 0
scripts/static-analyser-check.sh

@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# Exit on failure
+set -e
+
+# Build directly
+cd build/
+
+# Collect scan-build output
+ninja scan-build | tee /tmp/scan-build-results.txt
+
+# Invert the output - if this string exists it's a fail
+! grep -E '[0-9]+ bugs? found.' /tmp/scan-build-results.txt
+