LCOV - code coverage report
Current view: top level - opt/homebrew/include/boost/test/tree - global_fixture.hpp (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 0 1 0.0 %
Date: 2026-06-25 07:23:43 Functions: 0 1 0.0 %

          Line data    Source code
       1             : //  (C) Copyright Gennadiy Rozental 2001.
       2             : //  Distributed under the Boost Software License, Version 1.0.
       3             : //  (See accompanying file LICENSE_1_0.txt or copy at
       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
       9             : /// Defines global_fixture
      10             : // ***************************************************************************
      11             : 
      12             : #ifndef BOOST_TEST_TREE_GLOBAL_FIXTURE_HPP_091911GER
      13             : #define BOOST_TEST_TREE_GLOBAL_FIXTURE_HPP_091911GER
      14             : 
      15             : // Boost.Test
      16             : #include <boost/test/detail/config.hpp>
      17             : #include <boost/test/detail/global_typedef.hpp>
      18             : 
      19             : #include <boost/test/tree/observer.hpp>
      20             : #include <boost/test/tree/fixture.hpp>
      21             : 
      22             : #include <boost/test/detail/suppress_warnings.hpp>
      23             : 
      24             : 
      25             : //____________________________________________________________________________//
      26             : 
      27             : namespace boost {
      28             : namespace unit_test {
      29             : 
      30             : // ************************************************************************** //
      31             : // **************             global_configuration             ************** //
      32             : // ************************************************************************** //
      33             : 
      34             : class BOOST_TEST_DECL global_configuration : public test_observer {
      35             : 
      36             : public:
      37             :     // Constructor
      38             :     global_configuration();
      39             : 
      40             :     /// Unregisters the global fixture from the framework
      41             :     ///
      42             :     /// This is called by the framework at shutdown time
      43             :     void unregister_from_framework();
      44             : 
      45             :     // Dtor
      46             :     ~global_configuration() BOOST_OVERRIDE;
      47             : 
      48             :     // Happens after the framework global observer init has been done
      49           0 :     int     priority() BOOST_OVERRIDE { return 1; }
      50             : 
      51             : private:
      52             :     bool registered;
      53             : };
      54             : 
      55             : 
      56             : 
      57             : // ************************************************************************** //
      58             : // **************                global_fixture                ************** //
      59             : // ************************************************************************** //
      60             : 
      61             : class BOOST_TEST_DECL global_fixture : public test_unit_fixture {
      62             : 
      63             : public:
      64             :     // Constructor
      65             :     global_fixture();
      66             : 
      67             :     /// Unregisters the global fixture from the framework
      68             :     ///
      69             :     /// This is called by the framework at shutdown time
      70             :     void unregister_from_framework();
      71             : 
      72             :     // Dtor
      73             :     ~global_fixture() BOOST_OVERRIDE;
      74             : 
      75             : private:
      76             :     bool registered;
      77             : };
      78             : 
      79             : //____________________________________________________________________________//
      80             : 
      81             : namespace ut_detail {
      82             : 
      83             : template<typename F>
      84             : struct global_configuration_impl : public global_configuration {
      85             :     // Constructor
      86             :     global_configuration_impl() : m_configuration_observer( 0 )  {
      87             :     }
      88             : 
      89             :     // test observer interface
      90             :     void    test_start( counter_t, test_unit_id ) BOOST_OVERRIDE {
      91             :         m_configuration_observer = new F;
      92             :     }
      93             : 
      94             :     // test observer interface
      95             :     void    test_finish() BOOST_OVERRIDE           {
      96             :         if(m_configuration_observer) {
      97             :             delete m_configuration_observer;
      98             :             m_configuration_observer = 0;
      99             :         }
     100             :     }
     101             : private:
     102             :     // Data members
     103             :     F*  m_configuration_observer;
     104             : };
     105             : 
     106             : template<typename F>
     107             : struct global_fixture_impl : public global_fixture {
     108             :     // Constructor
     109             :     global_fixture_impl() : m_fixture( 0 )  {
     110             :     }
     111             : 
     112             :     // test fixture interface
     113             :     void setup() BOOST_OVERRIDE                    {
     114             :         m_fixture = new F;
     115             :         setup_conditional(*m_fixture);
     116             :     }
     117             : 
     118             :     // test fixture interface
     119             :     void teardown() BOOST_OVERRIDE                 {
     120             :         if(m_fixture) {
     121             :             teardown_conditional(*m_fixture);
     122             :         }
     123             :         delete m_fixture;
     124             :         m_fixture = 0;
     125             :     }
     126             : 
     127             : private:
     128             :     // Data members
     129             :     F*  m_fixture;
     130             : };
     131             : 
     132             : } // namespace ut_detail
     133             : } // namespace unit_test
     134             : } // namespace boost
     135             : 
     136             : #include <boost/test/detail/enable_warnings.hpp>
     137             : 
     138             : #endif // BOOST_TEST_TREE_GLOBAL_FIXTURE_HPP_091911GER
     139             : 

Generated by: LCOV version 1.16