From 220b9600183ff11d77718aad4bedce308f3a5c08 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Sun, 19 Dec 2021 23:48:46 +0100
Subject: [PATCH] coverage

---
 CMakeLists.txt                     | 7 +++++--
 tests/output/testOutputManager.cpp | 5 +++++
 tests/output/testWriterOff.cpp     | 2 --
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6120681d0..1a3992a0a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -153,11 +153,14 @@ if (CMAKE_BUILD_TYPE STREQUAL Coverage)
   endif ()
 
   set (GCOV gcov CACHE STRING "gcov executable" FORCE)
+
+  
   # collect coverage data
   add_custom_command (
     OUTPUT raw-coverage.info
     COMMAND ${CMAKE_COMMAND} -E echo "Note: you need to run ctest at least once to generate the coverage data"
-    COMMAND ${c8_lcov_bin} --gcov-tool=${GCOV} --directory . --capture --output-file raw-coverage.info
+    COMMAND ${c8_lcov_bin} --gcov-tool=${GCOV} --rc lcov_branch_coverage=1 
+                           --directory . --capture --output-file raw-coverage.info
     )
   # remove uninteresting entries
   add_custom_command (
@@ -174,7 +177,7 @@ if (CMAKE_BUILD_TYPE STREQUAL Coverage)
   # generate html report
   add_custom_command (
     OUTPUT coverage-report
-    COMMAND ${c8_genhtml_bin} --demangle-cpp coverage.info -o coverage-report
+    COMMAND ${c8_genhtml_bin} --branch-coverage --show-details --title "CORSIKA 8 test coverage" --legend --demangle-cpp coverage.info -o coverage-report
     DEPENDS coverage.info
     )
   add_custom_target (coverage DEPENDS coverage-report)
diff --git a/tests/output/testOutputManager.cpp b/tests/output/testOutputManager.cpp
index 5d3d072bd..ee886f526 100644
--- a/tests/output/testOutputManager.cpp
+++ b/tests/output/testOutputManager.cpp
@@ -112,6 +112,11 @@ TEST_CASE("OutputManager") {
     DummyOutput test;
     output->add("test", test);
     output->startOfLibrary();
+
+    // cannot add more after library started
+    DummyOutput test2;
+    CHECK_THROWS(output->add("test2", test2));
+
     output->startOfShower();
 
     // check support for closing automatically
diff --git a/tests/output/testWriterOff.cpp b/tests/output/testWriterOff.cpp
index 5f48f75b3..1f572da3f 100644
--- a/tests/output/testWriterOff.cpp
+++ b/tests/output/testWriterOff.cpp
@@ -35,9 +35,7 @@ TEST_CASE("WriterOff") {
 
   test.startOfLibrary("./output_dir_eloss");
   test.startOfShower(0);
-
   test.endOfShower(0);
-
   test.endOfLibrary();
 
   auto const config = test.getConfig();
-- 
GitLab