You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2014/09/25 20:56:34 UTC

git commit: Update clang analyzer for jenkins

Repository: trafficserver
Updated Branches:
  refs/heads/master 42271ef64 -> 23fc7ea83


Update clang analyzer for jenkins


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/23fc7ea8
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/23fc7ea8
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/23fc7ea8

Branch: refs/heads/master
Commit: 23fc7ea833e28c766cd48ee9f370788d6a05bd25
Parents: 42271ef
Author: Leif Hedstrom <zw...@apache.org>
Authored: Thu Sep 25 12:56:27 2014 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Sep 25 12:56:27 2014 -0600

----------------------------------------------------------------------
 ci/jenkins/bin/clang-analyzer.sh | 53 +++++++++++++++++++++++------------
 1 file changed, 35 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/23fc7ea8/ci/jenkins/bin/clang-analyzer.sh
----------------------------------------------------------------------
diff --git a/ci/jenkins/bin/clang-analyzer.sh b/ci/jenkins/bin/clang-analyzer.sh
index 0a5cc1b..eb7bd36 100755
--- a/ci/jenkins/bin/clang-analyzer.sh
+++ b/ci/jenkins/bin/clang-analyzer.sh
@@ -17,36 +17,53 @@
 #  limitations under the License.
 
 
+# This disables LuaJIT for now, to avoid all the warnings from it. Maybe we need
+# to talk to the author of it, or ideally, figure out how to get clang-analyzer to
+# ignore them ?
+
+# Options
+options="--status-bugs --keep-empty"
+configure="--enable-experimental-plugins --enable-cppapi --disable-luajit"
+
+# Additional checkers
+# Phil says these are all FP's: -enable-checker alpha.security.ArrayBoundV2
 checkers="-enable-checker alpha.unix.cstring.BufferOverlap \
-         -enable-checker alpha.unix.PthreadLock\
-         -enable-checker alpha.security.ArrayBoundV2 \
-         -enable-checker alpha.core.BoolAssignment \
-         -enable-checker alpha.core.CastSize \
-         -enable-checker alpha.core.SizeofPtr"
+          -enable-checker alpha.unix.PthreadLock\
+          -enable-checker alpha.core.BoolAssignment \
+          -enable-checker alpha.core.CastSize \
+          -enable-checker alpha.core.SizeofPtr"
+
 
 # These shenanigans are here to allow it to run both manually, and via Jenkins
 test -z "${ATS_MAKE}" && ATS_MAKE="make"
 test ! -z "${WORKSPACE}" && cd "${WORKSPACE}/src"
 
-# This disables LuaJIT for now, to avoid all the warnings from it. Maybe we need
-# to talk to the author of it, or ideally, figure out how to get clang-analyzer to
-# ignore them ?
+# Where to store the results, special case for the CI
+output="/tmp"
+test -d "/home/jenkins/clang-analyzer" && output="/home/jenkins/clang-analyzer"
+
 autoreconf -fi
-./configure --enable-experimental-plugins --enable-cppapi --disable-luajit
-scan-build ${checkers} --status-bugs -o /home/jenkins/clang-analyzer --html-title="ATS master branch"  ${ATS_MAKE} -j5
+#scan-build ./configure ${configure}
+./configure ${configure}
+scan-build ${checkers} ${options} -o ${output} --html-title="ATS master branch"  ${ATS_MAKE} -j4
 status=$?
 
 ${ATS_MAKE} distclean
 
-# Cleanup old reports (save the last 10 reports)
-cd /home/jenkins/clang-analyzer || exit -1
-for old in $(\ls -1t | tail -n +11); do
-    rm -rf $old
-done
+# Cleanup old reports (save the last 10 reports), but only for the CI
+if [ "/tmp" !=  "$output" ]; then
+    cd ${output} || exit -1
+    for old in $(/usr/bin/ls -1t | tail -n +11); do
+	rm -rf $old
+    done
+
+    # Setup the symlink to the latest report
+    rm -f latest
+    ln -s $(/usr/bin/ls -1t | head -1) latest
 
-# Setup the symlink to the latest report
-rm -f latest
-ln -s $(\ls -1t | head -1) latest
+    # Purge the cached URL
+    curl -o /dev/null -s -X PURGE https://ci.trafficserver.apache.org/files/clang-analyzer/latest/
+fi
 
 # Exit with the scan-build exit code (thanks to --status-bugs)
 exit $status