Prep work for Coverity upload processing via Jenkins

Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2017-01-04 17:24:32 -05:00
committed by Damjan Marion
parent e1ae29a3f7
commit 3ad7704fbb
4 changed files with 73 additions and 0 deletions

View File

@ -75,6 +75,7 @@ help:
@echo " wipe-release - wipe all products of release build "
@echo " build - build debug binaries"
@echo " build-release - build release binaries"
@echo " build-coverity - build coverity artifacts"
@echo " rebuild - wipe and build debug binares"
@echo " rebuild-release - wipe and build release binares"
@echo " run - run debug binary"
@ -287,6 +288,9 @@ run-release:
debug:
$(call run, $(BR)/install-$(PLATFORM)_debug-native,$(GDB) $(GDB_ARGS) --args)
build-coverity:
$(call make,$(PLATFORM)_coverity,install-packages)
debug-release:
$(call run, $(BR)/install-$(PLATFORM)-native,$(GDB) $(GDB_ARGS) --args)

View File

@ -70,3 +70,9 @@ vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
-fPIC -Werror -fprofile-arcs -ftest-coverage
vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
-fPIC -Werror -coverage
vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
-fPIC -Werror -D__COVERITY__
vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
-fPIC -Werror -D__COVERITY__

View File

@ -0,0 +1,53 @@
#!/bin/bash
set -ex
token=${COVERITY_TOKEN}
email=dbarach@cisco.com
project="fd.io VPP"
project_encoded="fd.io+VPP"
url=https://scan.coverity.com
export COV_HOST=$(hostname -f)
export COV_USER=vpp
# Location of various directories
# run script from .../build-root
build_dir=`pwd`
covdir="${build_dir}/cov-int"
COVTOOLS="${COVTOOLS-/scratch/cov-analysis-latest}"
# Before we run the build, check that we can submit one
check=$(curl -s --form project="${project}" \
--form token="${token}" "${url}/api/upload_permitted")
if [ "${check}" = "Access denied" ]; then
echo "Bad token or project name."
exit 1
fi
if [ "${check}" != '{"upload_permitted":true}' ]; then
echo "Upload not permitted; stop now..."
exit 1
fi
version=$(git describe)
# Run the build
cd ..
"${COVTOOLS}/bin/cov-build" --dir "${covdir}" make bootstrap build-coverity
cd ${build_dir}
# Tar the build artifacts that scan wants
tar -czf fd.io-vpp.tgz "$(basename ${covdir})"
# rm -rf "${covdir}"
# Submit the build
echo curl --form token="${token}" \
--form email="${email}" \
--form file=@fd.io-vpp.tgz \
--form version="${version}" \
--form description="master:${version}" \
"${url}/builds?project=${project_encoded}"
# All done!

View File

@ -190,6 +190,16 @@ do { \
_error_assert; \
})
/*
* If we're running under Coverity, don't die on
* failed static assertions.
*/
#ifdef __COVERITY__
#ifndef _Static_assert
#define _Static_assert(x,y)
#endif
#endif
#endif /* included_error_h */
/*