From ed78570c66ce54e4353b0e18326f1405a4feeea2 Mon Sep 17 00:00:00 2001 From: Dmitry-Me Date: Thu, 15 Jun 2017 13:39:53 +0300 Subject: [PATCH] Programmatically check no leaks are reported in the VC++ debug heap --- xmltest.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xmltest.cpp b/xmltest.cpp index b86e5af..d892a9e 100644 --- a/xmltest.cpp +++ b/xmltest.cpp @@ -292,6 +292,10 @@ int main( int argc, const char ** argv ) _CrtMemCheckpoint( &startMemState ); // Enable MS Visual C++ debug heap memory leaks dump on exit _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF); + { + int leaksOnStart = _CrtDumpMemoryLeaks(); + XMLTest( "No leaks on start?", FALSE, leaksOnStart ); + } #endif { @@ -1854,6 +1858,11 @@ int main( int argc, const char ** argv ) _CrtMemState diffMemState; _CrtMemDifference( &diffMemState, &startMemState, &endMemState ); _CrtMemDumpStatistics( &diffMemState ); + + { + int leaksBeforeExit = _CrtDumpMemoryLeaks(); + XMLTest( "No leaks before exit?", FALSE, leaksBeforeExit ); + } #endif printf ("\nPass %d, Fail %d\n", gPass, gFail);