summaryrefslogtreecommitdiffstats
path: root/googletest
diff options
context:
space:
mode:
Diffstat (limited to 'googletest')
-rw-r--r--googletest/include/gtest/gtest-param-test.h7
-rw-r--r--googletest/test/googletest-param-test-test.cc33
2 files changed, 36 insertions, 4 deletions
diff --git a/googletest/include/gtest/gtest-param-test.h b/googletest/include/gtest/gtest-param-test.h
index 9989765..f61e3c5 100644
--- a/googletest/include/gtest/gtest-param-test.h
+++ b/googletest/include/gtest/gtest-param-test.h
@@ -429,7 +429,7 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
::testing::UnitTest::GetInstance() \
->parameterized_test_registry() \
.GetTestSuitePatternHolder<test_suite_name>( \
- #test_suite_name, \
+ GTEST_STRINGIFY_(test_suite_name), \
::testing::internal::CodeLocation(__FILE__, __LINE__)) \
->AddTestPattern( \
GTEST_STRINGIFY_(test_suite_name), GTEST_STRINGIFY_(test_name), \
@@ -493,10 +493,11 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
::testing::UnitTest::GetInstance() \
->parameterized_test_registry() \
.GetTestSuitePatternHolder<test_suite_name>( \
- #test_suite_name, \
+ GTEST_STRINGIFY_(test_suite_name), \
::testing::internal::CodeLocation(__FILE__, __LINE__)) \
->AddTestSuiteInstantiation( \
- #prefix, &gtest_##prefix##test_suite_name##_EvalGenerator_, \
+ GTEST_STRINGIFY_(prefix), \
+ &gtest_##prefix##test_suite_name##_EvalGenerator_, \
&gtest_##prefix##test_suite_name##_EvalGenerateName_, \
__FILE__, __LINE__)
diff --git a/googletest/test/googletest-param-test-test.cc b/googletest/test/googletest-param-test-test.cc
index 6c187df..2740aaa 100644
--- a/googletest/test/googletest-param-test-test.cc
+++ b/googletest/test/googletest-param-test-test.cc
@@ -37,6 +37,7 @@
# include <algorithm>
# include <iostream>
# include <list>
+# include <set>
# include <sstream>
# include <string>
# include <vector>
@@ -802,7 +803,7 @@ TEST_P(PREFIX_WITH_MACRO(NamingTest), PREFIX_WITH_FOO(SomeTestName)) {
::testing::UnitTest::GetInstance()->current_test_info();
EXPECT_STREQ("FortyTwo/MacroNamingTest", test_info->test_suite_name());
- EXPECT_STREQ("FooSomeTestName", test_info->name());
+ EXPECT_STREQ("FooSomeTestName/0", test_info->name());
}
INSTANTIATE_TEST_SUITE_P(FortyTwo, MacroNamingTest, Values(42));
@@ -819,6 +820,36 @@ TEST_F(PREFIX_WITH_MACRO(NamingTestNonParametrized),
EXPECT_STREQ("FooSomeTestName", test_info->name());
}
+TEST(MacroNameing, LookupNames) {
+ std::set<std::string> know_suite_names, know_test_names;
+
+ auto ins = testing::UnitTest::GetInstance();
+ int ts = 0;
+ while (const testing::TestSuite* suite = ins->GetTestSuite(ts++)) {
+ know_suite_names.insert(suite->name());
+
+ int ti = 0;
+ while (const testing::TestInfo* info = suite->GetTestInfo(ti++)) {
+ know_test_names.insert(std::string(suite->name()) + "." + info->name());
+ }
+ }
+
+ // Check that the expected form of the test suit name actualy exists.
+ EXPECT_NE( //
+ know_suite_names.find("FortyTwo/MacroNamingTest"),
+ know_suite_names.end());
+ EXPECT_NE(
+ know_suite_names.find("MacroNamingTestNonParametrized"),
+ know_suite_names.end());
+ // Check that the expected form of the test name actualy exists.
+ EXPECT_NE( //
+ know_test_names.find("FortyTwo/MacroNamingTest.FooSomeTestName/0"),
+ know_test_names.end());
+ EXPECT_NE(
+ know_test_names.find("MacroNamingTestNonParametrized.FooSomeTestName"),
+ know_test_names.end());
+}
+
// Tests that user supplied custom parameter names are working correctly.
// Runs the test with a builtin helper method which uses PrintToString,
// as well as a custom function and custom functor to ensure all possible