Static checking with the clang analyzer

This commit is contained in:
Willem Toorop 2016-04-29 11:47:20 +02:00
parent 102d55d4a5
commit 84570a5f0a
5 changed files with 77 additions and 0 deletions

View File

@ -12,6 +12,7 @@ addons:
- libevent-dev
- libev-dev
- valgrind
- clang
script:
- mkdir tests
- cd tests

View File

@ -0,0 +1,16 @@
BaseName: 340-event-loops-scan-build
Version: 1.0
Description: Compile
CreationDate: do 28 apr 2016 16:50:43 CEST
Maintainer: Willem Toorop
Category:
Component:
CmdDepends: scan-build
Depends: 300-event-loops-configure.tpkg
Help:
Pre: 340-event-loops-scan-build.pre
Post: 340-event-loops-scan-build.post
Test: 340-event-loops-scan-build.test
AuxFiles:
Passed:
Failure:

View File

@ -0,0 +1,20 @@
# #-- 340-event-loops-scan-build.post --#
# source the master var file when it's there
if [ -f ../.tpkg.var.master ]
then
source ../.tpkg.var.master
else
(
cd ..
[ -f "${TPKG_SRCDIR}/setup-env.sh" ] \
&& sh "${TPKG_SRCDIR}/setup-env.sh"
) && source ../.tpkg.var.master
fi
# use .tpkg.var.test for in test variable passing
[ -f .tpkg.var.test ] && source .tpkg.var.test
for f in `cat restore-srcdir-configure-settings`
do
mv "${SRCROOT}/${f}.build-event-loops" "${SRCROOT}/${f}"
done

View File

@ -0,0 +1,24 @@
# #-- 340-event-loops-scan-build.pre--#
# source the master var file when it's there
if [ -f ../.tpkg.var.master ]
then
source ../.tpkg.var.master
else
(
cd ..
[ -f "${TPKG_SRCDIR}/setup-env.sh" ] \
&& sh "${TPKG_SRCDIR}/setup-env.sh"
) && source ../.tpkg.var.master
fi
# use .tpkg.var.test for in test variable passing
[ -f .tpkg.var.test ] && source .tpkg.var.test
echo "" > restore-srcdir-configure-settings
for f in `grep 'CONFIG_[FH][IE][LA][ED][SE]' "${SRCROOT}/configure.ac" | sed -e 's/^.*(\[//g' -e 's/\])//g'`
do
if [ -f "${SRCROOT}/$f" ]
then
mv "${SRCROOT}/${f}" "${SRCROOT}/${f}.build-event-loops" && \
echo "$f" >> restore-srcdir-configure-settings
fi
done

View File

@ -0,0 +1,16 @@
# #-- 340-event-loops-scan-build.test --#
# source the master var file when it's there
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
# use .tpkg.var.test for in test variable passing
[ -f .tpkg.var.test ] && source .tpkg.var.test
(
cd "${BUILDDIR}/build-event-loops"
make clean
scan-build -o ../scan-build-reports -v make everything
) && if grep "No bugs found" result.340-event-loops-scan-build
then
exit 0
else
exit 1
fi