Makes Google Test compile (and all tests pass) on cygwin (possibly on wingw too).
This commit is contained in:
parent
9e672bd5e3
commit
f6b0dc0b40
@ -1546,16 +1546,17 @@ bool String::CaseInsensitiveWideCStringEquals(const wchar_t* lhs,
|
||||
|
||||
#ifdef GTEST_OS_WINDOWS
|
||||
return _wcsicmp(lhs, rhs) == 0;
|
||||
#elif defined(GTEST_OS_MAC)
|
||||
// Mac OS X doesn't define wcscasecmp.
|
||||
#elif defined(GTEST_OS_LINUX)
|
||||
return wcscasecmp(lhs, rhs) == 0;
|
||||
#else
|
||||
// Mac OS X and Cygwin don't define wcscasecmp. Other unknown OSes
|
||||
// may not define it either.
|
||||
wint_t left, right;
|
||||
do {
|
||||
left = towlower(*lhs++);
|
||||
right = towlower(*rhs++);
|
||||
} while (left && left == right);
|
||||
return left == right;
|
||||
#else
|
||||
return wcscasecmp(lhs, rhs) == 0;
|
||||
#endif // OS selector
|
||||
}
|
||||
|
||||
|
@ -104,6 +104,20 @@ def RemoveTime(output):
|
||||
return re.sub(r'\(\d+ ms', '(? ms', output)
|
||||
|
||||
|
||||
def RemoveTestCounts(output):
|
||||
"""Removes test counts from a Google Test program's output."""
|
||||
|
||||
output = re.sub(r'\d+ tests from \d+ test cases',
|
||||
'? tests from ? test cases', output)
|
||||
return re.sub(r'\d+ tests\.', '? tests.', output)
|
||||
|
||||
|
||||
def RemoveDeathTests(output):
|
||||
"""Removes death test information from a Google Test program's output."""
|
||||
|
||||
return re.sub(r'\n.*DeathTest.*', '', output)
|
||||
|
||||
|
||||
def NormalizeOutput(output):
|
||||
"""Normalizes output (the output of gtest_output_test_.exe)."""
|
||||
|
||||
@ -182,7 +196,11 @@ class GTestOutputTest(unittest.TestCase):
|
||||
golden = golden_file.read()
|
||||
golden_file.close()
|
||||
|
||||
self.assertEquals(golden, output)
|
||||
# We want the test to pass regardless of death tests being
|
||||
# supported or not.
|
||||
self.assert_(output == golden or
|
||||
RemoveTestCounts(output) ==
|
||||
RemoveTestCounts(RemoveDeathTests(golden)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Loading…
Reference in New Issue
Block a user