From 558cd77b9358b8703947ffc2ac04e25543e93854 Mon Sep 17 00:00:00 2001
From: bangerth
- If you have set up a good portion of the testsuite you'll notice that a
+ If you have set up the testsuite (or at least a few hundred tests by
+ providing a sufficiently general regular expression
+ as
- Alternatively, you can use
+ The testsuite can also be used to provide coverage information,
+ i.e., data that shows which lines of the library are executed how many
+ times by running through all of the tests in the testsuite. This is of
+ interest in finding places in the library that are not covered by
+ the testsuite and, consequently, are prone to the inadvertent
+ introduction of bugs since existing functionality is not subject to
+ existing tests.
+
+ To run the testsuite in this mode, essentially, you have to do three
+ things:
+
@@ -334,10 +335,12 @@ xx: =============================== OUTPUT END ============================
-
Parallelize testsuite configuration
+ Parallelizing testsuite configuration
TEST_PICKUP_REGEX
) you'll notice that a
reconfiguration of the build directory takes a noticeable time (in the
order of minutes instead of seconds) with
Reconfiguring testsuite subprojects
.
@@ -348,7 +351,59 @@ xx: =============================== OUTPUT END ============================
variable.
Ninja
.
+ Alternatively, you can use Ninja
as your build tool instead
+ of make
.
+ Generating coverage information
+
+
+
+ In order to achieve the first two, configure the library with
+
+ cmake -DCMAKE_BUILD_TYPE=Debug -DDEAL_II_SETUP_COVERAGE=YES <...>
+
+ You can then build the library and run the tests as usual.
+
+ For the last point, one can in principal use whatever tool one + wants. That said, the deal.II ctest driver already has builtin + functionality to gather all profiling files and submit them to cdash + where we already gather testsuite results + (see below). You can do so by invoking +
+ ctest -DCOVERAGE=YES <...> -S ../tests/run_testsuite.cmake ++ when running the testsuite, or directly by +
+ ctest <...> -S ../tests/run_coverage.cmake +-- 2.39.5