~ubuntu-branches/ubuntu/wily/davix/wily

« back to all changes in this revision

Viewing changes to deps/boost_intern/boost/test/impl/interaction_based.ipp

  • Committer: Package Import Robot
  • Author(s): Mattias Ellert
  • Date: 2015-07-31 13:17:55 UTC
  • mfrom: (5.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20150731131755-mizprbmn7ogv33te
Tags: 0.4.1-1
* Update to version 0.4.1
* Implement Multi-Arch support

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//  (C) Copyright Gennadiy Rozental 2005-2008.
2
 
//  Use, modification, and distribution are subject to the
3
 
//  Boost Software License, Version 1.0. (See accompanying file
4
 
//  http://www.boost.org/LICENSE_1_0.txt)
5
 
 
6
 
//  See http://www.boost.org/libs/test for the library home page.
7
 
//
8
 
//  File        : $RCSfile$
9
 
//
10
 
//  Version     : $Revision: 54633 $
11
 
//
12
 
//  Description : Facilities to perform interaction-based testing
13
 
// ***************************************************************************
14
 
 
15
 
#ifndef BOOST_TEST_INTERACTION_BASED_IPP_112105GER
16
 
#define BOOST_TEST_INTERACTION_BASED_IPP_112105GER
17
 
 
18
 
// Boost.Test
19
 
#include <boost/test/detail/config.hpp>
20
 
 
21
 
#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
22
 
 
23
 
// Boost.Test
24
 
#include <boost/test/detail/config.hpp>
25
 
#include <boost/test/utils/callback.hpp>
26
 
#include <boost/test/interaction_based.hpp>
27
 
#include <boost/test/mock_object.hpp>
28
 
#include <boost/test/framework.hpp>     // for setup_error
29
 
 
30
 
#include <boost/test/detail/suppress_warnings.hpp>
31
 
 
32
 
// STL
33
 
#include <stdexcept>
34
 
#include <string>
35
 
 
36
 
//____________________________________________________________________________//
37
 
 
38
 
namespace boost {
39
 
 
40
 
namespace itest { // interaction-based testing
41
 
 
42
 
// ************************************************************************** //
43
 
// **************                    manager                   ************** //
44
 
// ************************************************************************** //
45
 
 
46
 
manager::manager()
47
 
{
48
 
    instance_ptr( true, this );
49
 
}
50
 
 
51
 
//____________________________________________________________________________//
52
 
 
53
 
manager::~manager()
54
 
{
55
 
    instance_ptr( true );
56
 
}
57
 
 
58
 
//____________________________________________________________________________//
59
 
    
60
 
manager*
61
 
manager::instance_ptr( bool reset, manager* new_ptr )
62
 
{
63
 
    static manager dummy( 0 );
64
 
    
65
 
    static manager* ptr = &dummy;
66
 
    
67
 
    if( reset ) {
68
 
        if( new_ptr ) {
69
 
            BOOST_TEST_SETUP_ASSERT( ptr == &dummy, BOOST_TEST_L( "Can't run two interation based test the same time" ) );
70
 
                
71
 
            ptr = new_ptr;
72
 
        }
73
 
        else
74
 
            ptr = &dummy;
75
 
    }
76
 
    
77
 
    return ptr;
78
 
}
79
 
    
80
 
}  // namespace itest
81
 
 
82
 
}  // namespace boost
83
 
 
84
 
//____________________________________________________________________________//
85
 
 
86
 
#include <boost/test/detail/enable_warnings.hpp>
87
 
 
88
 
#endif // not ancient compiler
89
 
 
90
 
#endif // BOOST_TEST_INTERACTION_BASED_IPP_112105GER