/
githubmirror
/
carbon-lang
Обзор
Документация
Войти
/
githubmirror
/
carbon-lang
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
testing/base/capture_std_streams.cpp
35 строк
1005 B
Thomas Köppe
Add missing standard library header inclusions (#5316)
17 апр 2025, 18:37
Не верифицирован
17 апр 2025, 18:37
bf32da8
Код
Авторство
О чём код?
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM // Exceptions. See /LICENSE for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception #include "testing/base/capture_std_streams.h" #include <gtest/gtest.h> #include <fstream> #include <sstream> #include <string> #include "common/ostream.h" namespace Carbon::Testing::Internal { // While these are marked as "internal" APIs, they seem to work and be pretty // widely used for their exact documented behavior. using ::testing::internal::CaptureStderr; using ::testing::internal::CaptureStdout; using ::testing::internal::GetCapturedStderr; using ::testing::internal::GetCapturedStdout; auto BeginStdStreamCapture() -> void { CaptureStderr(); CaptureStdout(); } auto EndStdStreamCapture(std::string& out, std::string& err) -> void { // No need to flush stderr. err = GetCapturedStderr(); llvm::outs().flush(); out = GetCapturedStdout(); } } // namespace Carbon::Testing::Internal