diff options
Diffstat (limited to 'contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc')
-rw-r--r-- | contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc b/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc index d42a159..3cc4b5d 100644 --- a/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc +++ b/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc @@ -35,7 +35,15 @@ namespace testing { namespace internal { -#ifdef GTEST_HAS_TYPED_TEST_P +#if GTEST_HAS_TYPED_TEST_P + +// Skips to the first non-space char in str. Returns an empty string if str +// contains only whitespace characters. +static const char* SkipSpaces(const char* str) { + while (isspace(*str)) + str++; + return str; +} // Verifies that registered_tests match the test names in // defined_test_names_; returns registered_tests if successful, or @@ -45,6 +53,10 @@ const char* TypedTestCasePState::VerifyRegisteredTestNames( typedef ::std::set<const char*>::const_iterator DefinedTestIter; registered_ = true; + // Skip initial whitespace in registered_tests since some + // preprocessors prefix stringizied literals with whitespace. + registered_tests = SkipSpaces(registered_tests); + Message errors; ::std::set<String> tests; for (const char* names = registered_tests; names != NULL; @@ -85,7 +97,8 @@ const char* TypedTestCasePState::VerifyRegisteredTestNames( if (errors_str != "") { fprintf(stderr, "%s %s", FormatFileLocation(file, line).c_str(), errors_str.c_str()); - abort(); + fflush(stderr); + posix::Abort(); } return registered_tests; |