summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc')
-rw-r--r--contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc17
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;
OpenPOWER on IntegriCloud