aboutsummaryrefslogtreecommitdiff
path: root/utils/unittest/googletest/gtest-typed-test.cc
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2010-06-02 22:02:30 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2010-06-02 22:02:30 +0000
commit57240ff6e2252f8986f6e47e4010bc52fbae25d1 (patch)
treedacdd66eb30eedab81795672528b6888def253f7 /utils/unittest/googletest/gtest-typed-test.cc
parent190f8ee25a6977ac6eb71b816498df42f17ad9a7 (diff)
Merge gtest-1.5.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105354 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/unittest/googletest/gtest-typed-test.cc')
-rw-r--r--utils/unittest/googletest/gtest-typed-test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/utils/unittest/googletest/gtest-typed-test.cc b/utils/unittest/googletest/gtest-typed-test.cc
index 4a0f657d79..3cc4b5de2a 100644
--- a/utils/unittest/googletest/gtest-typed-test.cc
+++ b/utils/unittest/googletest/gtest-typed-test.cc
@@ -37,6 +37,14 @@ namespace internal {
#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
// aborts the program otherwise.
@@ -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;