New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable unit test run with valgrind #2540
Enable unit test run with valgrind #2540
Conversation
@@ -73,6 +75,14 @@ BOOST_AUTO_TEST_CASE(vw_dll_parsed_and_constructed_example_parity) | |||
|
|||
BOOST_AUTO_TEST_CASE(vw_dll_parse_escaped) | |||
{ | |||
for (size_t i = 0; i < framework::master_test_suite().argc; i++) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the reason we have to skip it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This specific test explicitly throws and valgrind reports memory blocks lost from the std::set<std::string> m_defined_options
set (defined in options_boost_po.h
) which I can only account to aborting with an exception causing destructors not being called rather than an actual memory leak
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems odd that boost test doesn't let the destructors run though. Oh well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed offline, this is actually due to the fact the the options_i
pointer created when the vw
object is initialized leaks since the test throws on initialize
and options
is not cleaned up. Will leave as-is for now and look into making the options_i options
pointer a unique_ptr
/azp run |
Azure Pipelines successfully started running 5 pipeline(s). |
This PR