diff --git a/turtle/config.hpp b/turtle/config.hpp index f93bb59..8d9f04d 100644 --- a/turtle/config.hpp +++ b/turtle/config.hpp @@ -12,6 +12,11 @@ #include #include +#ifndef MOCK_ERROR_POLICY +# define MOCK_ERROR_POLICY mock::error +# define MOCK_USE_BOOST_TEST +#endif + #ifndef MOCK_MAX_ARGS # define MOCK_MAX_ARGS 9 #elif BOOST_PP_LESS(9, MOCK_MAX_ARGS) diff --git a/turtle/detail/cleanup.hpp b/turtle/detail/cleanup.hpp new file mode 100644 index 0000000..12605ad --- /dev/null +++ b/turtle/detail/cleanup.hpp @@ -0,0 +1,37 @@ +// http://turtle.sourceforge.net +// +// Copyright Mathieu Champlon 2011 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef MOCK_CLEANUP_HPP_INCLUDED +#define MOCK_CLEANUP_HPP_INCLUDED + +#include "../config.hpp" +#ifdef MOCK_USE_BOOST_TEST +#include "verify.hpp" +#include "reset.hpp" +#include + +namespace mock +{ +namespace detail +{ + struct cleanup + { + ~cleanup() + { + // see https://svn.boost.org/trac/boost/ticket/5563 + //mock::verify(); + mock::reset(); + } + }; + BOOST_GLOBAL_FIXTURE( cleanup ); +} +} // mock + +#endif // MOCK_USE_BOOST_TEST + +#endif // MOCK_CLEANUP_HPP_INCLUDED diff --git a/turtle/error.hpp b/turtle/error.hpp index 216c3be..ba73757 100644 --- a/turtle/error.hpp +++ b/turtle/error.hpp @@ -9,9 +9,8 @@ #ifndef MOCK_ERROR_HPP_INCLUDED #define MOCK_ERROR_HPP_INCLUDED -#ifndef MOCK_ERROR_POLICY -#define MOCK_ERROR_POLICY mock::error - +#include "config.hpp" +#ifdef MOCK_USE_BOOST_TEST #include #include #include @@ -96,25 +95,8 @@ namespace mock fail( "untriggered expectation", context, file, line ); } }; - - bool verify(); - void reset(); - -namespace detail -{ - struct cleanup - { - ~cleanup() - { - // see https://svn.boost.org/trac/boost/ticket/5563 - //mock::verify(); - mock::reset(); - } - }; - BOOST_GLOBAL_FIXTURE( cleanup ); -} } // mock -#endif // MOCK_ERROR_POLICY +#endif // MOCK_USE_BOOST_TEST #endif // MOCK_ERROR_HPP_INCLUDED diff --git a/turtle/mock.hpp b/turtle/mock.hpp index 5c36a39..92c4179 100644 --- a/turtle/mock.hpp +++ b/turtle/mock.hpp @@ -18,6 +18,7 @@ #include "detail/type_name.hpp" #include "detail/signature.hpp" #include "detail/parameter.hpp" +#include "detail/cleanup.hpp" #include #include #include