Switch executable semantics to use ErrorBuilder directly and relocate macros (#1184)

This commit is contained in:
Jon Meow
2022-04-13 09:05:21 -07:00
committed by GitHub
parent 6542506cdc
commit 87e58f5db3
37 changed files with 327 additions and 376 deletions
@@ -0,0 +1,30 @@
// 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 "executable_semantics/common/error_builders.h"
#include <gtest/gtest.h>
#include "executable_semantics/common/source_location.h"
namespace Carbon::Testing {
namespace {
TEST(ErrorBuildersTest, CompilationError) {
Error err = CompilationError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.message(), "COMPILATION ERROR: x:1: test");
}
TEST(ErrorBuildersTest, ProgramError) {
Error err = ProgramError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.message(), "PROGRAM ERROR: x:1: test");
}
TEST(ErrorBuildersTest, RuntimeError) {
Error err = RuntimeError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.message(), "RUNTIME ERROR: x:1: test");
}
} // namespace
} // namespace Carbon::Testing