Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
8e37822b
Commit
8e37822b
authored
Jan 30, 2019
by
Ashley Hedberg
Browse files
Merge pull request #2063 from mathbunnyru:master
PiperOrigin-RevId: 231456275
parents
ce29e55c
7c4164bf
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
18 deletions
+31
-18
.travis.yml
.travis.yml
+1
-1
googletest/docs/advanced.md
googletest/docs/advanced.md
+1
-1
googletest/include/gtest/gtest-param-test.h
googletest/include/gtest/gtest-param-test.h
+8
-15
googletest/include/gtest/internal/gtest-param-util.h
googletest/include/gtest/internal/gtest-param-util.h
+21
-1
No files found.
.travis.yml
View file @
8e37822b
...
...
@@ -40,7 +40,7 @@ matrix:
-
os
:
linux
group
:
deprecated-2017Q4
compiler
:
clang
env
:
BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
-Wgnu-zero-variadic-macro-arguments"
env
:
BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
-
os
:
linux
compiler
:
clang
env
:
BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
...
...
googletest/docs/advanced.md
View file @
8e37822b
...
...
@@ -1198,7 +1198,7 @@ also supports per-test-suite set-up/tear-down. To use it:
1.
Outside your test fixture class (typically just below it), define those
member variables, optionally giving them initial values.
1.
In the same test fixture class, define a
`static void SetUpTestSuite()`
function (remember not to spell it as
**`Set
u
pTestSuite`**
with a small
`u`
!)
function (remember not to spell it as
**`Set
U
pTestSuite`**
with a small
`u`
!)
to set up the shared resources and a
`static void TearDownTestSuite()`
function to tear them down.
...
...
googletest/include/gtest/gtest-param-test.h
View file @
8e37822b
...
...
@@ -544,11 +544,10 @@ internal::CartesianProductHolder10<Generator1, Generator2, Generator3,
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)::AddToRegistry(); \
void GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)::TestBody()
// The last argument to INSTANTIATE_TEST_SUITE_P allows the user to specify
// generator and an optional function or functor that generates custom test name
// suffixes based on the test parameters. Such a function or functor should
// accept one argument of type testing::TestParamInfo<class ParamType>, and
// return std::string.
// The optional last argument to INSTANTIATE_TEST_SUITE_P allows the user
// to specify a function or functor that generates custom test name suffixes
// based on the test parameters. The function should accept one argument of
// type testing::TestParamInfo<class ParamType>, and return std::string.
//
// testing::PrintToStringParamName is a builtin test suffix generator that
// returns the value of testing::PrintToString(GetParam()).
...
...
@@ -557,21 +556,15 @@ internal::CartesianProductHolder10<Generator1, Generator2, Generator3,
// alphanumeric characters or underscore. Because PrintToString adds quotes
// to std::string and C strings, it won't work for these types.
#define GTEST_EXPAND_(arg) arg
#define GTEST_GET_FIRST_(first, ...) first
#define GTEST_GET_SECOND_(first, second, ...) second
#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name, ...) \
#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name, generator, ...) \
static ::testing::internal::ParamGenerator<test_suite_name::ParamType> \
gtest_##prefix##test_suite_name##_EvalGenerator_() { \
return
GTEST_EXPAND_(GTEST_GET_FIRST_(__VA_ARGS__, DUMMY_PARAM_));
\
return
generator;
\
} \
static ::std::string gtest_##prefix##test_suite_name##_EvalGenerateName_( \
const ::testing::TestParamInfo<test_suite_name::ParamType>& info) { \
return GTEST_EXPAND_(GTEST_GET_SECOND_( \
__VA_ARGS__, \
::testing::internal::DefaultParamName<test_suite_name::ParamType>, \
DUMMY_PARAM_))(info); \
return ::testing::internal::GetParamNameGen<test_suite_name::ParamType>( \
__VA_ARGS__)(info); \
} \
static int gtest_##prefix##test_suite_name##_dummy_ \
GTEST_ATTRIBUTE_UNUSED_ = \
...
...
googletest/include/gtest/internal/gtest-param-util.h
View file @
8e37822b
...
...
@@ -376,6 +376,26 @@ std::string DefaultParamName(const TestParamInfo<ParamType>& info) {
return
name_stream
.
GetString
();
}
// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
//
// Parameterized test name overload helpers, which help the
// INSTANTIATE_TEST_SUITE_P macro choose between the default parameterized
// test name generator and user param name generator.
template
<
class
ParamType
,
class
ParamNameGenFunctor
>
ParamNameGenFunctor
GetParamNameGen
(
ParamNameGenFunctor
func
)
{
return
func
;
}
template
<
class
ParamType
>
struct
ParamNameGenFunc
{
typedef
std
::
string
Type
(
const
TestParamInfo
<
ParamType
>&
);
};
template
<
class
ParamType
>
typename
ParamNameGenFunc
<
ParamType
>::
Type
*
GetParamNameGen
()
{
return
DefaultParamName
;
}
// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
//
// Stores a parameter value and later creates tests parameterized with that
...
...
@@ -480,7 +500,7 @@ class ParameterizedTestSuiteInfo : public ParameterizedTestSuiteInfoBase {
using
ParamType
=
typename
TestSuite
::
ParamType
;
// A function that returns an instance of appropriate generator type.
typedef
ParamGenerator
<
ParamType
>
(
GeneratorCreationFunc
)();
typedef
std
::
string
ParamNameGen
eratorFunc
(
const
TestParamInfo
<
ParamType
>&
)
;
typedef
typename
ParamNameGen
Func
<
ParamType
>::
Type
ParamNameGeneratorFunc
;
explicit
ParameterizedTestSuiteInfo
(
const
char
*
name
,
CodeLocation
code_location
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment