diff --git a/.travis.yml b/.travis.yml index a107b03b..a447c7f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ addons: - libevent-dev - libev-dev - valgrind + - clang script: - mkdir tests - cd tests diff --git a/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.dsc b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.dsc new file mode 100644 index 00000000..685708a2 --- /dev/null +++ b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.dsc @@ -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: diff --git a/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.post b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.post new file mode 100644 index 00000000..4ad0e7a8 --- /dev/null +++ b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.post @@ -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 + diff --git a/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.pre b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.pre new file mode 100644 index 00000000..14ea1b2a --- /dev/null +++ b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.pre @@ -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 diff --git a/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.test b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.test new file mode 100644 index 00000000..0ed2d6b6 --- /dev/null +++ b/src/test/tpkg/340-event-loops-scan-build.tpkg/340-event-loops-scan-build.test @@ -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