mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
This is a convenient test helper for anything that can use injected streams. Extract this to where it can be used by other tests and add some basic tests, mostly documenting how it works.
187 lines
3.6 KiB
Python
187 lines
3.6 KiB
Python
# 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
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
cc_library(
|
|
name = "bazel_working_dir",
|
|
hdrs = ["bazel_working_dir.h"],
|
|
deps = [
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "check",
|
|
srcs = [
|
|
"check_internal.cpp",
|
|
"check_internal.h",
|
|
],
|
|
hdrs = ["check.h"],
|
|
deps = [
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "check_test",
|
|
srcs = ["check_test.cpp"],
|
|
deps = [
|
|
":check",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "enum_base",
|
|
hdrs = ["enum_base.h"],
|
|
deps = [
|
|
"//common:ostream",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "enum_base_test_def",
|
|
textual_hdrs = ["enum_base_test.def"],
|
|
)
|
|
|
|
cc_test(
|
|
name = "enum_base_test",
|
|
srcs = ["enum_base_test.cpp"],
|
|
deps = [
|
|
":enum_base",
|
|
":enum_base_test_def",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "error",
|
|
hdrs = ["error.h"],
|
|
deps = [
|
|
":check",
|
|
":ostream",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "error_test",
|
|
srcs = ["error_test.cpp"],
|
|
deps = [
|
|
":error",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
# This does extra initialization on top of googletest's gtest_main in order to
|
|
# provide stack traces on unexpected exits, because we normally rely on LLVM
|
|
# code for that.
|
|
#
|
|
# This replaces "@com_google_googletest//:gtest_main";
|
|
# "@com_google_googletest//:gtest" should still be used directly.
|
|
cc_library(
|
|
name = "gtest_main",
|
|
testonly = 1,
|
|
srcs = ["gtest_main.cpp"],
|
|
deps = [
|
|
"@com_google_googletest//:gtest",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "indirect_value",
|
|
hdrs = ["indirect_value.h"],
|
|
)
|
|
|
|
cc_test(
|
|
name = "indirect_value_test",
|
|
srcs = ["indirect_value_test.cpp"],
|
|
deps = [
|
|
":indirect_value",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "metaprogramming",
|
|
hdrs = ["metaprogramming.h"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "ostream",
|
|
hdrs = ["ostream.h"],
|
|
deps = [
|
|
":metaprogramming",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "string_helpers",
|
|
srcs = ["string_helpers.cpp"],
|
|
hdrs = ["string_helpers.h"],
|
|
deps = [
|
|
":check",
|
|
":error",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "string_helpers_test",
|
|
srcs = ["string_helpers_test.cpp"],
|
|
deps = [
|
|
":string_helpers",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "test_raw_ostream",
|
|
testonly = 1,
|
|
hdrs = ["test_raw_ostream.h"],
|
|
deps = [
|
|
":ostream",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "test_raw_ostream_test",
|
|
srcs = ["test_raw_ostream_test.cpp"],
|
|
deps = [
|
|
":test_raw_ostream",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "vlog",
|
|
srcs = ["vlog_internal.h"],
|
|
hdrs = ["vlog.h"],
|
|
deps = [
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "vlog_test",
|
|
srcs = ["vlog_test.cpp"],
|
|
deps = [
|
|
":vlog",
|
|
"//common:gtest_main",
|
|
"@com_google_googletest//:gtest",
|
|
],
|
|
)
|