From: Remi Gacogne Date: Thu, 14 Sep 2023 13:03:08 +0000 (+0200) Subject: dnsdist: Properly record clang coverage data when exiting X-Git-Tag: rec-5.0.0-alpha2~20^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b335696564f4d893c68f8241bedd96ea8bfa2959;p=thirdparty%2Fpdns.git dnsdist: Properly record clang coverage data when exiting --- diff --git a/pdns/dnsdist-lua.cc b/pdns/dnsdist-lua.cc index 1896cce32d..902ccf64ac 100644 --- a/pdns/dnsdist-lua.cc +++ b/pdns/dnsdist-lua.cc @@ -57,6 +57,7 @@ #include "dnsdist-web.hh" #include "base64.hh" +#include "coverage.hh" #include "doh.hh" #include "dolog.hh" #include "sodcrypto.hh" @@ -282,13 +283,6 @@ static void LuaThread(const std::string& code) } } -#ifdef COVERAGE -extern "C" -{ - void __gcov_dump(void); -} -#endif - static bool checkConfigurationTime(const std::string& name) { if (!g_configurationDone) { @@ -866,9 +860,7 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck) g_tlslocals.clear(); g_rings.clear(); #endif /* 0 */ -#ifdef COVERAGE - __gcov_dump(); -#endif + pdns::coverage::dumpCoverageData(); _exit(0); }); diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index cde7fd061b..7d6e5bac60 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -68,6 +68,7 @@ #include "base64.hh" #include "capabilities.hh" +#include "coverage.hh" #include "delaypipe.hh" #include "doh.hh" #include "dolog.hh" @@ -2395,11 +2396,6 @@ static void usage() } #ifdef COVERAGE -extern "C" -{ - void __gcov_dump(void); -} - static void cleanupLuaObjects() { /* when our coverage mode is enabled, we need to make @@ -2410,13 +2406,14 @@ static void cleanupLuaObjects() g_selfansweredrespruleactions.setState({}); g_dstates.setState({}); g_policy.setState(ServerPolicy()); + g_pools.setState({}); clearWebHandlers(); } static void sigTermHandler(int) { cleanupLuaObjects(); - __gcov_dump(); + pdns::coverage::dumpCoverageData(); _exit(EXIT_SUCCESS); } #else /* COVERAGE */ diff --git a/pdns/dnsdistdist/Makefile.am b/pdns/dnsdistdist/Makefile.am index e845dcd5bb..db92cc8730 100644 --- a/pdns/dnsdistdist/Makefile.am +++ b/pdns/dnsdistdist/Makefile.am @@ -139,6 +139,7 @@ dnsdist_SOURCES = \ channel.cc channel.hh \ circular_buffer.hh \ connection-management.hh \ + coverage.cc coverage.hh \ credentials.cc credentials.hh \ dns.cc dns.hh \ dns_random.hh \ diff --git a/pdns/dnsdistdist/coverage.cc b/pdns/dnsdistdist/coverage.cc new file mode 120000 index 0000000000..5b8a2c82f4 --- /dev/null +++ b/pdns/dnsdistdist/coverage.cc @@ -0,0 +1 @@ +../coverage.cc \ No newline at end of file diff --git a/pdns/dnsdistdist/coverage.hh b/pdns/dnsdistdist/coverage.hh new file mode 120000 index 0000000000..da12b36c72 --- /dev/null +++ b/pdns/dnsdistdist/coverage.hh @@ -0,0 +1 @@ +../coverage.hh \ No newline at end of file