summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKnut Omang <knut.omang@oracle.com>2018-01-29 13:09:34 (GMT)
committerKnut Omang <knut.omang@oracle.com>2019-04-26 04:33:41 (GMT)
commitb953e05bcfca445de42ce14a010798a594bbaf6b (patch)
tree9d6f96c6370f75658bca11142a88b1f118ec9a3d
parent84d986531e8df9fb6ea4a7bae8fb130c05b3782c (diff)
downloadgoogletest-b953e05bcfca445de42ce14a010798a594bbaf6b.zip
googletest-b953e05bcfca445de42ce14a010798a594bbaf6b.tar.gz
googletest-b953e05bcfca445de42ce14a010798a594bbaf6b.tar.bz2
Remove / from parameterized test names if base test name is emptyrefs/pull/2111/head
This is useful to let a subsystem generate test names based on parameterized tests without exposing them as such to the user. Signed-off-by: Knut Omang <knut.omang@oracle.com>
-rw-r--r--googletest/include/gtest/internal/gtest-param-util.h5
-rw-r--r--googletest/test/googletest-output-test-golden-lin.txt9
-rw-r--r--googletest/test/googletest-output-test_.cc12
3 files changed, 22 insertions, 4 deletions
diff --git a/googletest/include/gtest/internal/gtest-param-util.h b/googletest/include/gtest/internal/gtest-param-util.h
index e900b3f..aca706f 100644
--- a/googletest/include/gtest/internal/gtest-param-util.h
+++ b/googletest/include/gtest/internal/gtest-param-util.h
@@ -565,7 +565,10 @@ class ParameterizedTestSuiteInfo : public ParameterizedTestSuiteInfoBase {
test_param_names.insert(param_name);
- test_name_stream << test_info->test_base_name << "/" << param_name;
+ if (!test_info->test_base_name.empty()) {
+ test_name_stream << test_info->test_base_name << "/";
+ }
+ test_name_stream << param_name;
MakeAndRegisterTestInfo(
test_suite_name.c_str(), test_name_stream.GetString().c_str(),
nullptr, // No type parameter.
diff --git a/googletest/test/googletest-output-test-golden-lin.txt b/googletest/test/googletest-output-test-golden-lin.txt
index 270b15a..038de92 100644
--- a/googletest/test/googletest-output-test-golden-lin.txt
+++ b/googletest/test/googletest-output-test-golden-lin.txt
@@ -12,7 +12,7 @@ Expected equality of these values:
3
Stack trace: (omitted)
-[==========] Running 84 tests from 39 test suites.
+[==========] Running 85 tests from 40 test suites.
[----------] Global test environment set-up.
FooEnvironment::SetUp() called.
BarEnvironment::SetUp() called.
@@ -966,6 +966,9 @@ Expected equality of these values:
Stack trace: (omitted)
[ FAILED ] PrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2
+[----------] 1 test from EmptyBasenameParamInst
+[ RUN ] EmptyBasenameParamInst.Passes/0
+[ OK ] EmptyBasenameParamInst.Passes/0
[----------] 2 tests from PrintingStrings/ParamTest
[ RUN ] PrintingStrings/ParamTest.Success/a
[ OK ] PrintingStrings/ParamTest.Success/a
@@ -992,8 +995,8 @@ Failed
Expected fatal failure.
Stack trace: (omitted)
-[==========] 84 tests from 39 test suites ran.
-[ PASSED ] 30 tests.
+[==========] 85 tests from 40 test suites ran.
+[ PASSED ] 31 tests.
[ FAILED ] 54 tests, listed below:
[ FAILED ] NonfatalFailureTest.EscapesStringOperands
[ FAILED ] NonfatalFailureTest.DiffForLongStrings
diff --git a/googletest/test/googletest-output-test_.cc b/googletest/test/googletest-output-test_.cc
index f1222b6..983aaf3 100644
--- a/googletest/test/googletest-output-test_.cc
+++ b/googletest/test/googletest-output-test_.cc
@@ -96,6 +96,18 @@ INSTANTIATE_TEST_SUITE_P(PrintingFailingParams,
FailingParamTest,
testing::Values(2));
+// Tests that an empty value for the test suite basename yields just
+// the test name without any prior /
+class EmptyBasenameParamInst : public testing::TestWithParam<int> {};
+
+TEST_P(EmptyBasenameParamInst, Passes) {
+ EXPECT_EQ(1, GetParam());
+}
+
+INSTANTIATE_TEST_SUITE_P(,
+ EmptyBasenameParamInst,
+ testing::Values(1));
+
static const char kGoldenString[] = "\"Line\0 1\"\nLine 2";
TEST(NonfatalFailureTest, EscapesStringOperands) {