E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gtest.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2001-2018 Graeme Walker <graeme_walker@users.sourceforge.net>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 // ===
17 ///
18 /// \file gtest.h
19 ///
20
21 #ifndef G_TEST_H
22 #define G_TEST_H
23
24 #include "gdef.h"
25 #include <string>
26
27 namespace G
28 {
29 class Test ;
30 }
31
32 /// \class G::Test
33 /// A static interface for enabling test features at run-time. Typically does
34 /// nothing in a release build. Test are enabled by a specification string
35 /// that is a comma-separated list of test names. The test specification
36 /// is taken from an environment variable by default, or it can be set
37 /// programatically.
38 ///
39 /// Eg:
40 /// \code
41 /// for(..)
42 /// {
43 /// if( G::Test::enabled("run-loop-extra-slowly") )
44 /// sleep(1) ;
45 /// ...
46 /// }
47 /// \endcode
48 ///
49 class G::Test
50 {
51 public:
52 static void set( const std::string & ) ;
53 ///< Sets the test specification string.
54
55 static bool enabled() ;
56 ///< Returns true if test features are enabled.
57
58 static bool enabled( const char * name ) ;
59 ///< Returns true if the specified test feature is enabled.
60 } ;
61
62 #if defined(_DEBUG) || defined(G_TEST_ENABLED)
63 //
64 #else
65 inline bool G::Test::enabled( const char * )
66 {
67 return false ;
68 }
69 #endif
70
71 #endif
G::Test::set
static void set(const std::string &)
Sets the test specification string.
Definition: gtest.cpp:66
G
Low-level classes.
Definition: garg.h:29
G::Test::enabled
static bool enabled()
Returns true if test features are enabled.
Definition: gtest.cpp:69
G::Test
A static interface for enabling test features at run-time.
Definition: gtest.h:49