From 3cc7b4c62382650f9bf00365b25f8fa7f6eed603 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 12 Mar 2018 23:44:04 +0100 Subject: Add a Travis CLang Static Analyzer target --- .travis.yml | 9 +++++++++ travis/csa/after_success.sh | 5 +++++ travis/csa/before_install.sh | 8 ++++++++ travis/csa/install.sh | 11 +++++++++++ 4 files changed, 33 insertions(+) create mode 100755 travis/csa/after_success.sh create mode 100755 travis/csa/before_install.sh create mode 100755 travis/csa/install.sh 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 "" | grep -v ""; then echo "error" && /bin/false; else echo "ok"; fi -- cgit v1.2.3