Sacado Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
test
GTestSuite
googletest
googletest
test
googletest-list-tests-unittest_.cc
Go to the documentation of this file.
1
// Copyright 2006, Google Inc.
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are
6
// met:
7
//
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above
11
// copyright notice, this list of conditions and the following disclaimer
12
// in the documentation and/or other materials provided with the
13
// distribution.
14
// * Neither the name of Google Inc. nor the names of its
15
// contributors may be used to endorse or promote products derived from
16
// this software without specific prior written permission.
17
//
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30
31
// Unit test for Google Test's --gtest_list_tests flag.
32
//
33
// A user can ask Google Test to list all tests that will run
34
// so that when using a filter, a user will know what
35
// tests to look for. The tests will not be run after listing.
36
//
37
// This program will be invoked from a Python unit test.
38
// Don't run it directly.
39
40
#include "
gtest/gtest.h
"
41
42
// Several different test cases and tests that will be listed.
43
TEST
(Foo, Bar1) {
44
}
45
46
TEST
(Foo, Bar2) {
47
}
48
49
TEST
(Foo, DISABLED_Bar3) {
50
}
51
52
TEST
(Abc, Xyz) {
53
}
54
55
TEST
(Abc, Def) {
56
}
57
58
TEST
(FooBar, Baz) {
59
}
60
61
class
FooTest
:
public
testing::Test
{
62
};
63
64
TEST_F
(FooTest, Test1) {
65
}
66
67
TEST_F
(FooTest, DISABLED_Test2) {
68
}
69
70
TEST_F
(FooTest, Test3) {
71
}
72
73
TEST
(FooDeathTest, Test1) {
74
}
75
76
// A group of value-parameterized tests.
77
78
class
MyType
{
79
public
:
80
explicit
MyType
(
const
std::string& a_value) :
value_
(a_value) {}
81
82
const
std::string&
value
()
const
{
return
value_
; }
83
84
private
:
85
std::string
value_
;
86
};
87
88
// Teaches Google Test how to print a MyType.
89
void
PrintTo
(
const
MyType
& x, std::ostream* os) {
90
*os << x.
value
();
91
}
92
93
class
ValueParamTest
:
public
testing::TestWithParam
<MyType> {
94
};
95
96
TEST_P
(
ValueParamTest
, TestA) {
97
}
98
99
TEST_P
(
ValueParamTest
, TestB) {
100
}
101
102
INSTANTIATE_TEST_SUITE_P
(
103
MyInstantiation,
ValueParamTest
,
104
testing::Values
(
MyType
(
"one line"
),
105
MyType
(
"two\nlines"
),
106
MyType
(
"a very\nloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line"
)));
// NOLINT
107
108
// A group of typed tests.
109
110
// A deliberately long type name for testing the line-truncating
111
// behavior when printing a type parameter.
112
class
VeryLoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogName
{
// NOLINT
113
};
114
115
template
<
typename
T>
116
class
TypedTest
:
public
testing::Test
{
117
};
118
119
template
<
typename
T,
int
kSize>
120
class
MyArray
{
121
};
122
123
typedef
testing::Types
<
VeryLoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogName
,
// NOLINT
124
int
*,
MyArray<bool, 42>
>
MyTypes
;
125
126
TYPED_TEST_SUITE
(
TypedTest
,
MyTypes
);
127
128
TYPED_TEST
(
TypedTest
, TestA) {
129
}
130
131
TYPED_TEST
(
TypedTest
, TestB) {
132
}
133
134
// A group of type-parameterized tests.
135
136
template
<
typename
T>
137
class
TypeParamTest
:
public
testing::Test
{
138
};
139
140
TYPED_TEST_SUITE_P
(
TypeParamTest
);
141
142
TYPED_TEST_P
(
TypeParamTest
, TestA) {
143
}
144
145
TYPED_TEST_P
(
TypeParamTest
, TestB) {
146
}
147
148
REGISTER_TYPED_TEST_SUITE_P
(
TypeParamTest
, TestA, TestB);
149
150
INSTANTIATE_TYPED_TEST_SUITE_P
(My,
TypeParamTest
,
MyTypes
);
151
152
int
main
(
int
argc,
char
**argv) {
153
::testing::InitGoogleTest
(&argc, argv);
154
155
return
RUN_ALL_TESTS
();
156
}
main
int main()
Definition
ad_example.cpp:191
FooTest
Definition
googletest-list-tests-unittest_.cc:61
MyArray
Definition
googletest-list-tests-unittest_.cc:120
MyType
Definition
googletest-list-tests-unittest_.cc:78
MyType::value
const std::string & value() const
Definition
googletest-list-tests-unittest_.cc:82
MyType::MyType
MyType(const std::string &a_value)
Definition
googletest-list-tests-unittest_.cc:80
MyType::value_
std::string value_
Definition
googletest-list-tests-unittest_.cc:85
TypeParamTest
Definition
googletest-list-tests-unittest_.cc:137
TypedTest
Definition
googletest-list-tests-unittest_.cc:116
ValueParamTest
Definition
googletest-list-tests-unittest_.cc:93
VeryLoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogName
Definition
googletest-list-tests-unittest_.cc:112
testing::TestWithParam
Definition
gtest.h:1895
testing::Test
Definition
gtest.h:414
MyTypes
testing::Types< VeryLoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogName, int *, MyArray< bool, 42 > > MyTypes
Definition
googletest-list-tests-unittest_.cc:124
REGISTER_TYPED_TEST_SUITE_P
REGISTER_TYPED_TEST_SUITE_P(TypeParamTest, TestA, TestB)
TYPED_TEST_SUITE
TYPED_TEST_SUITE(TypedTest, MyTypes)
TYPED_TEST
TYPED_TEST(TypedTest, TestA)
Definition
googletest-list-tests-unittest_.cc:128
TYPED_TEST_SUITE_P
TYPED_TEST_SUITE_P(TypeParamTest)
TYPED_TEST_P
TYPED_TEST_P(TypeParamTest, TestA)
Definition
googletest-list-tests-unittest_.cc:142
PrintTo
void PrintTo(const MyType &x, std::ostream *os)
Definition
googletest-list-tests-unittest_.cc:89
INSTANTIATE_TYPED_TEST_SUITE_P
INSTANTIATE_TYPED_TEST_SUITE_P(My, TypeParamTest, MyTypes)
TEST_P
#define TEST_P(test_suite_name, test_name)
Definition
gtest-param-test.h:414
INSTANTIATE_TEST_SUITE_P
#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name,...)
Definition
gtest-param-test.h:461
gtest.h
TEST_F
#define TEST_F(test_fixture, test_name)
Definition
gtest.h:2379
RUN_ALL_TESTS
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
Definition
gtest.h:2484
TEST
#define TEST(test_suite_name, test_name)
Definition
gtest.h:2348
testing::Types
internal::ProxyTypeList< Ts... > Types
Definition
gtest-type-util.h:183
testing::Values
internal::ValueArray< T... > Values(T... v)
Definition
gtest-param-test.h:335
testing::InitGoogleTest
GTEST_API_ void InitGoogleTest()
Definition
gtest.cc:6547
Generated by
1.17.0