Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
catch_section.h
Go to the documentation of this file.
1/*
2 * Created by Phil on 03/12/2013.
3 * Copyright 2013 Two Blue Cubes Ltd. All rights reserved.
4 *
5 * Distributed under the Boost Software License, Version 1.0. (See accompanying
6 * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 */
8#ifndef TWOBLUECUBES_CATCH_SECTION_H_INCLUDED
9#define TWOBLUECUBES_CATCH_SECTION_H_INCLUDED
10
12#include "catch_section_info.h"
13#include "catch_totals.h"
14#include "catch_timer.h"
15
16#include <string>
17
18namespace Catch {
19
20 class Section : NonCopyable {
21 public:
22 Section( SectionInfo const& info );
23 ~Section();
24
25 // This indicates whether the section should be executed or not
26 explicit operator bool() const;
27
28 private:
29 SectionInfo m_info;
30
31 std::string m_name;
32 Counts m_assertions;
33 bool m_sectionIncluded;
34 Timer m_timer;
35 };
36
37} // end namespace Catch
38
39#define INTERNAL_CATCH_SECTION( ... ) \
40 CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \
41 if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, __VA_ARGS__ ) ) \
42 CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS
43
44#define INTERNAL_CATCH_DYNAMIC_SECTION( ... ) \
45 CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \
46 if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, (Catch::ReusableStringStream() << __VA_ARGS__).str() ) ) \
47 CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS
48
49#endif // TWOBLUECUBES_CATCH_SECTION_H_INCLUDED
Section(SectionInfo const &info)