mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-02 10:35:53 +01:00
These are manual fixes; mostly from clang-tidy, some from clangd (which notes unused includes). In typed_insts, adding inlline due to misc-definitions-in-headers. Per discussion, clang-tidy is wrong, but inline silences it. For parameter name skew in definition versus declaration, I'm just using the name from the definition. --------- Co-authored-by: Richard Smith <richard@metafoo.co.uk>
60 lines
2.1 KiB
C++
60 lines
2.1 KiB
C++
// 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
|
|
|
|
#ifndef CARBON_TOOLCHAIN_DIAGNOSTICS_MOCKS_H_
|
|
#define CARBON_TOOLCHAIN_DIAGNOSTICS_MOCKS_H_
|
|
|
|
#include <gmock/gmock.h>
|
|
|
|
#include "toolchain/diagnostics/diagnostic_emitter.h"
|
|
|
|
namespace Carbon::Testing {
|
|
|
|
class MockDiagnosticConsumer : public DiagnosticConsumer {
|
|
public:
|
|
MOCK_METHOD(void, HandleDiagnostic, (Diagnostic diagnostic), (override));
|
|
};
|
|
|
|
// NOLINTNEXTLINE(modernize-use-trailing-return-type): From the macro.
|
|
MATCHER_P(IsDiagnosticMessage, matcher, "") {
|
|
const Diagnostic& diag = arg;
|
|
return testing::ExplainMatchResult(
|
|
matcher, diag.message.format_fn(diag.message), result_listener);
|
|
}
|
|
|
|
inline auto IsDiagnostic(testing::Matcher<DiagnosticKind> kind,
|
|
testing::Matcher<DiagnosticLevel> level,
|
|
testing::Matcher<int> line_number,
|
|
testing::Matcher<int> column_number,
|
|
testing::Matcher<std::string> message) {
|
|
return testing::AllOf(
|
|
testing::Field("level", &Diagnostic::level, level),
|
|
testing::Field(
|
|
"message", &Diagnostic::message,
|
|
testing::AllOf(
|
|
testing::Field("kind", &DiagnosticMessage::kind, kind),
|
|
testing::Field(
|
|
&DiagnosticMessage::location,
|
|
testing::AllOf(
|
|
testing::Field("line_number",
|
|
&DiagnosticLocation::line_number,
|
|
line_number),
|
|
testing::Field("column_number",
|
|
&DiagnosticLocation::column_number,
|
|
column_number))))),
|
|
IsDiagnosticMessage(message));
|
|
}
|
|
|
|
} // namespace Carbon::Testing
|
|
|
|
namespace Carbon {
|
|
|
|
// Printing helpers for tests.
|
|
void PrintTo(const Diagnostic& diagnostic, std::ostream* os);
|
|
void PrintTo(DiagnosticLevel level, std::ostream* os);
|
|
|
|
} // namespace Carbon
|
|
|
|
#endif // CARBON_TOOLCHAIN_DIAGNOSTICS_MOCKS_H_
|