"vscode:/vscode.git/clone" did not exist on "238e4745c62258ca1d2f3c514789205e8419eeee"
Commit 3a47ddf8 authored by zhanyong.wan's avatar zhanyong.wan
Browse files

Makes gtest report failures to Visual Studio's Output window. Based on code by Alexander Demin.

parent 8bdb31e0
...@@ -2556,10 +2556,19 @@ static internal::String PrintTestPartResultToString( ...@@ -2556,10 +2556,19 @@ static internal::String PrintTestPartResultToString(
} }
// Prints a TestPartResult. // Prints a TestPartResult.
static void PrintTestPartResult( static void PrintTestPartResult(const TestPartResult& test_part_result) {
const TestPartResult& test_part_result) { const internal::String& result =
printf("%s\n", PrintTestPartResultToString(test_part_result).c_str()); PrintTestPartResultToString(test_part_result);
printf("%s\n", result.c_str());
fflush(stdout); fflush(stdout);
#if GTEST_OS_WINDOWS
// If the test program runs in Visual Studio or a debugger, the
// following states add the test part result message to the Output
// window such that the user can double-click on it to jump to the
// corresponding source code location; otherwise they do nothing.
::OutputDebugStringA(result.c_str());
::OutputDebugStringA("\n");
#endif
} }
// class PrettyUnitTestResultPrinter // class PrettyUnitTestResultPrinter
...@@ -3426,7 +3435,8 @@ void UnitTest::AddTestPartResult(TestPartResultType result_type, ...@@ -3426,7 +3435,8 @@ void UnitTest::AddTestPartResult(TestPartResultType result_type,
for (int i = 0; i < impl_->gtest_trace_stack()->size(); i++) { for (int i = 0; i < impl_->gtest_trace_stack()->size(); i++) {
const internal::TraceInfo& trace = const internal::TraceInfo& trace =
impl_->gtest_trace_stack()->GetElement(i); impl_->gtest_trace_stack()->GetElement(i);
msg << "\n" << trace.file << ":" << trace.line << ": " << trace.message; msg << "\n" << internal::FormatFileLocation(trace.file, trace.line)
<< " " << trace.message;
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment