12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- //===- unittests/Basic/DiagnosticTest.cpp -- Diagnostic engine tests ------===//
- //
- // The LLVM Compiler Infrastructure
- //
- // This file is distributed under the University of Illinois Open Source
- // License. See LICENSE.TXT for details.
- //
- //===----------------------------------------------------------------------===//
- #include "clang/Basic/Diagnostic.h"
- #include "clang/Basic/DiagnosticIDs.h"
- #include "gtest/gtest.h"
- using namespace llvm;
- using namespace clang;
- namespace {
- // Check that DiagnosticErrorTrap works with SuppressAllDiagnostics.
- TEST(DiagnosticTest, suppressAndTrap) {
- DiagnosticsEngine Diags(new DiagnosticIDs(),
- new DiagnosticOptions,
- new IgnoringDiagConsumer());
- Diags.setSuppressAllDiagnostics(true);
- {
- DiagnosticErrorTrap trap(Diags);
- // Diag that would set UncompilableErrorOccurred and ErrorOccurred.
- Diags.Report(diag::err_target_unknown_triple) << "unknown";
- // Diag that would set UnrecoverableErrorOccurred and ErrorOccurred.
- Diags.Report(diag::err_cannot_open_file) << "file" << "error";
- // Diag that would set FatalErrorOccurred
- // (via non-note following a fatal error).
- Diags.Report(diag::warn_mt_message) << "warning";
- EXPECT_TRUE(trap.hasErrorOccurred());
- EXPECT_TRUE(trap.hasUnrecoverableErrorOccurred());
- }
- EXPECT_FALSE(Diags.hasErrorOccurred());
- EXPECT_FALSE(Diags.hasFatalErrorOccurred());
- EXPECT_FALSE(Diags.hasUncompilableErrorOccurred());
- EXPECT_FALSE(Diags.hasUnrecoverableErrorOccurred());
- }
- }
|