forked from osmocom/osmo-ci
coverity: compile tests, but not execute them
Compiling unit tests would allow Coverity to analyze them too and thus find more bugs. The problem is that binaries listed in check_PROGRAMS are not compiled during 'make all', but only during 'make check'. One approach [1] is to run 'make check' in do_build(), however it breaks 'Coverity-Upload' job because some unit tests are failing. This is why I had to revertbf84ba9f69
together withae41942214
that was supposed to fix it. Even if all unit tests were passing, we still don't want to execute them because running tests is beyond the scope of 'Coverity-Upload' job. Another approach is to patch Makefile.am files replacing check_PROGRAMS with noinst_PROGRAMS, so that the test binaries are compiled during 'make all' but not executed. Change-Id: Idf0714a59356633021be21acc47f9471d059b7fe Related: [1] I3f3149a61df96646798c72d0ad31c41b97e6b81f
This commit is contained in:
parent
618f171cb1
commit
aaeab8c976
|
@ -47,6 +47,13 @@ for proj in \
|
|||
else
|
||||
git clone git://git.osmocom.org/$proj
|
||||
fi
|
||||
|
||||
# We want to compile tests, but not execute them. Using 'noinst_PROGRAMS'
|
||||
# instead of 'check_PROGRAMS' allows building test binaries during 'make all'.
|
||||
files="$(git -C $proj grep -l check_PROGRAMS)"
|
||||
if [ -n "$files" ]; then
|
||||
sed -i "s/check_PROGRAMS/noinst_PROGRAMS/" $files
|
||||
fi
|
||||
done
|
||||
|
||||
if ! [ -d layer1-api ]; then
|
||||
|
|
Loading…
Reference in New Issue