aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-03-12 23:44:04 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-03-14 20:25:13 +0100
commit3cc7b4c62382650f9bf00365b25f8fa7f6eed603 (patch)
tree809cbb8d3d5df7cf69a6a4379592a39546ba66c7
parenta9269cc2aca3cd8851e3860d191eec27ae4a7a56 (diff)
downloadPROJ-3cc7b4c62382650f9bf00365b25f8fa7f6eed603.tar.gz
PROJ-3cc7b4c62382650f9bf00365b25f8fa7f6eed603.zip
Add a Travis CLang Static Analyzer target
-rw-r--r--.travis.yml9
-rwxr-xr-xtravis/csa/after_success.sh5
-rwxr-xr-xtravis/csa/before_install.sh8
-rwxr-xr-xtravis/csa/install.sh11
4 files changed, 33 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index e9eeb033..b33d4c2f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,7 @@ cache:
matrix:
fast_finish: true
include:
+
- os: linux
compiler: gcc
language: c
@@ -39,6 +40,14 @@ matrix:
- BUILD_NAME=mingw32
- DETAILS="mingw32"
+ - os: linux
+ compiler: gcc
+ language: c
+ dist: trusty
+ env:
+ - BUILD_NAME=csa
+ - DETAILS="CLang Static Analyzer"
+
allow_failures:
- env: BUILD_NAME=mingw32
diff --git a/travis/csa/after_success.sh b/travis/csa/after_success.sh
new file mode 100755
index 00000000..9618f673
--- /dev/null
+++ b/travis/csa/after_success.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+set -e
+
+# nothing
diff --git a/travis/csa/before_install.sh b/travis/csa/before_install.sh
new file mode 100755
index 00000000..b8c7260b
--- /dev/null
+++ b/travis/csa/before_install.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e
+
+./travis/before_install.sh
+
+wget http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+tar xJf clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
diff --git a/travis/csa/install.sh b/travis/csa/install.sh
new file mode 100755
index 00000000..4b82606f
--- /dev/null
+++ b/travis/csa/install.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -e
+
+# prepare build files
+./autogen.sh
+
+./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build -o scanbuildoutput -plist -v ./configure
+./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build -o scanbuildoutput -plist -v make -j3
+
+if grep -r "\.c" scanbuildoutput | grep "<string>" | grep -v "<key>"; then echo "error" && /bin/false; else echo "ok"; fi