How can i check basic exception safety without detecting memory leaks?
Windows version says that the code below isn't exception safe, but linux version says nothing.
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
#include <boost/test/exception_safety.hpp>
#include <boost/test/mock_object.hpp>
using namespace boost::itest;
// Boost
#include <boost/shared_ptr.hpp>
template<class T1, class T2>
void algo(boost::shared_ptr<T1> x,
boost::shared_ptr<T2> y)
{
}
typedef mock_object<> Mock;
typedef boost::shared_ptr<Mock> SharedMock;
BOOST_TEST_EXCEPTION_SAFETY( TestCase1 )
{
algo(SharedMock( new Mock() ), // memory leak in case of second Mock throws exception
SharedMock( new Mock() ));
}
--
Regards, Andrey