From fe322b8e82baab556b764015a75acb7df58a1789 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Thu, 22 Nov 2018 18:07:04 +0100 Subject: [PATCH] test-xml_generator: enable code coverage analysis Issue #3048 --- repos/base/recipes/pkg/test-xml_generator/runtime | 4 +++- repos/base/recipes/src/test-xml_generator/used_apis | 3 +++ repos/base/src/test/xml_generator/main.cc | 7 ++++++- repos/base/src/test/xml_generator/target.mk | 7 ++++--- repos/gems/run/depot_autopilot.run | 2 +- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/repos/base/recipes/pkg/test-xml_generator/runtime b/repos/base/recipes/pkg/test-xml_generator/runtime index 424f46a30e..7faf6c0044 100644 --- a/repos/base/recipes/pkg/test-xml_generator/runtime +++ b/repos/base/recipes/pkg/test-xml_generator/runtime @@ -54,7 +54,8 @@ [init -> test-xml_generator] </level1> [init -> test-xml_generator] </config> [init -> test-xml_generator] - [init -> test-xml_generator] --- XML generator test finished --- + [init -> test-xml_generator] --- XML generator test finished ---* + [init] child "test-xml_generator" exited with exit value 0 Error: @@ -71,6 +72,7 @@ + diff --git a/repos/base/recipes/src/test-xml_generator/used_apis b/repos/base/recipes/src/test-xml_generator/used_apis index df967b96a5..f72ea155b5 100644 --- a/repos/base/recipes/src/test-xml_generator/used_apis +++ b/repos/base/recipes/src/test-xml_generator/used_apis @@ -1 +1,4 @@ base +file_system_session +libgcov +os diff --git a/repos/base/src/test/xml_generator/main.cc b/repos/base/src/test/xml_generator/main.cc index 4dfb757374..545376a8d1 100644 --- a/repos/base/src/test/xml_generator/main.cc +++ b/repos/base/src/test/xml_generator/main.cc @@ -159,6 +159,8 @@ static size_t xml_with_exceptions(char *dst, size_t dst_len) return xml.used(); } +extern void gcov_init(Genode::Env &env); +extern void genode_exit(int status); void Component::construct(Genode::Env &env) { @@ -166,6 +168,9 @@ void Component::construct(Genode::Env &env) log("--- XML generator test started ---"); + env.exec_static_constructors(); + gcov_init(env); + static char dst[1000]; /* @@ -222,6 +227,6 @@ void Component::construct(Genode::Env &env) } log("--- XML generator test finished ---"); - env.parent().exit(0); + genode_exit(0); } diff --git a/repos/base/src/test/xml_generator/target.mk b/repos/base/src/test/xml_generator/target.mk index 325c43cb02..78fa344f8c 100644 --- a/repos/base/src/test/xml_generator/target.mk +++ b/repos/base/src/test/xml_generator/target.mk @@ -1,3 +1,4 @@ -TARGET = test-xml_generator -SRC_CC = main.cc -LIBS = base +TARGET = test-xml_generator +SRC_CC = main.cc +LIBS = base +COVERAGE = yes diff --git a/repos/gems/run/depot_autopilot.run b/repos/gems/run/depot_autopilot.run index f605ef9ce1..88b932c363 100644 --- a/repos/gems/run/depot_autopilot.run +++ b/repos/gems/run/depot_autopilot.run @@ -112,7 +112,7 @@ set avail_test_pkgs { } set avail_test_src_pkgs { - + test-xml_generator } if { $single_test_pkg != "" && [lsearch -exact $avail_test_pkgs $single_test_pkg] == -1} {