OTest2
A C++ testing framework
reporterconsole.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Ondrej Starek
3  *
4  * This file is part of OTest2.
5  *
6  * OTest2 is free software: you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, either version 3 of the License,
9  * or (at your option) any later version.
10  *
11  * OTest2 is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14  * License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with OTest2. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef OTest2__INCLUDE_OTEST2_REPORTERCONSOLE_H_
21 #define OTest2__INCLUDE_OTEST2_REPORTERCONSOLE_H_
22 
23 #include <iosfwd>
24 
25 #include <otest2/reporter.h>
26 
27 namespace OTest2 {
28 
34 class ReporterConsole : public Reporter {
35  private:
36  struct Impl;
37  Impl* pimpl;
38 
39  public:
40  /* -- avoid copying */
42  const ReporterConsole&) = delete;
44  const ReporterConsole&) = delete;
45 
55  explicit ReporterConsole(
56  std::ostream* out_,
57  bool verbose_,
58  bool hide_location_);
59 
63  virtual ~ReporterConsole();
64 
65  /* -- reporter interface */
66  virtual void enterTest(
67  const Context& context_,
68  const std::string& name_,
69  const Parameters& params_) override;
70  virtual void enterSuite(
71  const Context& context_,
72  const std::string& name_,
73  const Parameters& params_) override;
74  virtual void enterCase(
75  const Context& context_,
76  const std::string& name_,
77  const Parameters& params_) override;
78  virtual void enterState(
79  const Context& context_,
80  const std::string& name_) override;
82  const Context& context_,
83  bool condition_,
84  const std::string& file_,
85  int lineno_) override;
87  const Context& context_) override;
88  virtual void leaveState(
89  const Context& context_,
90  const std::string& name_,
91  bool result_) override;
92  virtual void leaveCase(
93  const Context& context_,
94  const std::string& name_,
95  const Parameters& params_,
96  bool result_) override;
97  virtual void leaveSuite(
98  const Context& context_,
99  const std::string& name_,
100  const Parameters& params_,
101  bool result_) override;
102  virtual void leaveTest(
103  const Context& context_,
104  const std::string& name_,
105  const Parameters& params_,
106  bool result_) override;
107 };
108 
109 } /* namespace OTest2 */
110 
111 #endif /* OTest2__INCLUDE_OTEST2_REPORTERCONSOLE_H_ */
OTest2::ReporterConsole::enterError
virtual AssertBufferPtr enterError(const Context &context_) override
Enter an error report.
Definition: reporterconsole.cpp:465
OTest2::ReporterConsole::enterAssert
virtual AssertBufferPtr enterAssert(const Context &context_, bool condition_, const std::string &file_, int lineno_) override
Enter an assertion.
Definition: reporterconsole.cpp:452
OTest2::Reporter
Generic test reporter.
Definition: reporter.h:34
reporter.h
OTest2::ReporterConsole::operator=
ReporterConsole & operator=(const ReporterConsole &)=delete
OTest2::ReporterConsole::~ReporterConsole
virtual ~ReporterConsole()
Dtor.
Definition: reporterconsole.cpp:409
OTest2::Parameters
Generic parameters of a run of an testing object.
Definition: parameters.h:30
OTest2
Definition: assertbean.h:25
OTest2::ReporterConsole::enterState
virtual void enterState(const Context &context_, const std::string &name_) override
Enter a state.
Definition: reporterconsole.cpp:446
OTest2::ReporterConsole::ReporterConsole
ReporterConsole(const ReporterConsole &)=delete
OTest2::ReporterConsole::leaveTest
virtual void leaveTest(const Context &context_, const std::string &name_, const Parameters &params_, bool result_) override
Leave entire test.
Definition: reporterconsole.cpp:519
OTest2::ReporterConsole::leaveCase
virtual void leaveCase(const Context &context_, const std::string &name_, const Parameters &params_, bool result_) override
Leave a case.
Definition: reporterconsole.cpp:482
OTest2::Context
OTest2 runtime context.
Definition: context.h:38
OTest2::AssertBufferPtr
std::shared_ptr< AssertBuffer > AssertBufferPtr
Definition: assertbufferptr.h:27
OTest2::ReporterConsole::enterCase
virtual void enterCase(const Context &context_, const std::string &name_, const Parameters &params_) override
Enter a case.
Definition: reporterconsole.cpp:433
OTest2::ReporterConsole
A reporter writing into a console or file.
Definition: reporterconsole.h:34
OTest2::ReporterConsole::leaveSuite
virtual void leaveSuite(const Context &context_, const std::string &name_, const Parameters &params_, bool result_) override
Leave a suite.
Definition: reporterconsole.cpp:499
OTest2::ReporterConsole::enterSuite
virtual void enterSuite(const Context &context_, const std::string &name_, const Parameters &params_) override
Enter a suite.
Definition: reporterconsole.cpp:420
OTest2::ReporterConsole::enterTest
virtual void enterTest(const Context &context_, const std::string &name_, const Parameters &params_) override
Enter entire test.
Definition: reporterconsole.cpp:413
OTest2::ReporterConsole::leaveState
virtual void leaveState(const Context &context_, const std::string &name_, bool result_) override
Leave a state.
Definition: reporterconsole.cpp:475