diff options
Diffstat (limited to 'src/testlib/selfcover.pri')
-rw-r--r-- | src/testlib/selfcover.pri | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/testlib/selfcover.pri b/src/testlib/selfcover.pri new file mode 100644 index 0000000000..7de50ba6e6 --- /dev/null +++ b/src/testlib/selfcover.pri @@ -0,0 +1,28 @@ +# Configuration for testlib and its tests, to instrument with +# FrogLogic's Squish CoCo (cf. testcocoon.prf, which handles similar +# for general code; but testlib needs special handling). + +# Only for use when feature testlib_selfcover is enabled: +!qtConfig(testlib_selfcover): return() + +# This enables verification that testlib itself is adequately tested, +# as a grounds for trusting that testing with it is useful. +# Exclude all non-testlib source from coverage instrumentation: +COVERAGE_OPTIONS = --cs-exclude-file-abs-wildcard=$$QT_SOURCE_TREE/* +COVERAGE_OPTIONS += --cs-include-file-abs-wildcard=*/src/testlib/* +COVERAGE_OPTIONS += --cs-mcc # enable Multiple Condition Coverage +COVERAGE_OPTIONS += --cs-mcdc # enable Multiple Condition / Decision Coverage +# (recommended for ISO 26262 ASIL A, B and C -- highly recommended for ASIL D) +# https://doc.froglogic.com/squish-coco/4.1/codecoverage.html#sec%3Amcdc + +QMAKE_CFLAGS += $$COVERAGE_OPTIONS +QMAKE_CXXFLAGS += $$COVERAGE_OPTIONS +QMAKE_LFLAGS += $$COVERAGE_OPTIONS + +# FIXME: relies on QMAKE_* being just the command-names, with no path prefix +QMAKE_CC = cs$$QMAKE_CC +QMAKE_CXX = cs$$QMAKE_CXX +QMAKE_LINK = cs$$QMAKE_LINK +QMAKE_LINK_SHLIB = cs$$QMAKE_LINK_SHLIB +QMAKE_AR = cs$$QMAKE_AR +QMAKE_LIB = cs$$QMAKE_LIB |