mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 08:31:04 +01:00
Inconsistent execution environments make using a path-as-define difficult, so switch to an embedded file. Also fixes the lldb launch so that passing tests run cleanly, and adds TEST_TARGET to gdb (but without testing there). I'm dropping `sourceMap` because it's not handled quite correctly (also not great to be trying to pass source mappings in two different ways), and `env` didn't seem to be working as intended either; maybe specifying `initCommands` causes other things to not be evaluated. But the straight `initCommands` looks like it's working. I used lldb to validate execution of these changes. ``` Running initCommands: (lldb) command script import external/+llvm_project+llvm-project/llvm/utils/lldbDataFormatters.py (lldb) settings set target.source-map "." "/usr/local/google/home/jperkins/dev/carbon-lang" (lldb) settings set target.source-map "/proc/self/cwd" "/usr/local/google/home/jperkins/dev/carbon-lang" (lldb) env TEST_TARGET=//toolchain/testing:file_test (lldb) env TEST_TMPDIR=/tmp Running tests with 128 thread(s) . Done! Note: Google Test filter = ToolchainFileTest.toolchain/check/testdata/const/collapse.carbon [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from ToolchainFileTest [ RUN ] ToolchainFileTest.toolchain/check/testdata/const/collapse.carbon [ OK ] ToolchainFileTest.toolchain/check/testdata/const/collapse.carbon (0 ms) [----------] 1 test from ToolchainFileTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (1 ms total) [ PASSED ] 1 test. Process 3869310 exited with status = 0 (0x00000000) ```
86 lines
2.0 KiB
Python
86 lines
2.0 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
|
|
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
load("rules.bzl", "file_test")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
cc_library(
|
|
name = "autoupdate",
|
|
testonly = 1,
|
|
srcs = ["autoupdate.cpp"],
|
|
hdrs = [
|
|
"autoupdate.h",
|
|
"line.h",
|
|
],
|
|
deps = [
|
|
"//common:check",
|
|
"//common:ostream",
|
|
"//common:raw_string_ostream",
|
|
"@abseil-cpp//absl/strings",
|
|
"@abseil-cpp//absl/strings:string_view",
|
|
"@llvm-project//llvm:Support",
|
|
"@re2",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "file_test_base",
|
|
testonly = 1,
|
|
srcs = [
|
|
"file_test_base.cpp",
|
|
"run_test.cpp",
|
|
"run_test.h",
|
|
"test_file.cpp",
|
|
"test_file.h",
|
|
],
|
|
hdrs = ["file_test_base.h"],
|
|
deps = [
|
|
":autoupdate",
|
|
":manifest",
|
|
"//common:check",
|
|
"//common:error",
|
|
"//common:exe_path",
|
|
"//common:init_llvm",
|
|
"//common:ostream",
|
|
"//common:raw_string_ostream",
|
|
"//testing/base:file_helpers",
|
|
"@abseil-cpp//absl/flags:flag",
|
|
"@abseil-cpp//absl/flags:parse",
|
|
"@abseil-cpp//absl/strings",
|
|
"@googletest//:gtest",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
file_test(
|
|
name = "file_test_base_test",
|
|
size = "small",
|
|
srcs = ["file_test_base_test.cpp"],
|
|
tests = glob(["testdata/**"]),
|
|
deps = [
|
|
":file_test_base",
|
|
"//common:ostream",
|
|
"@googletest//:gtest",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
# Note this is separate from the implementation; see the .h file.
|
|
cc_library(
|
|
name = "manifest",
|
|
testonly = 1,
|
|
hdrs = ["manifest.h"],
|
|
deps = ["@llvm-project//llvm:Support"],
|
|
)
|
|
|
|
# Used through `file_test` in rules.bzl.
|
|
cc_library(
|
|
name = "manifest_impl",
|
|
testonly = 1,
|
|
srcs = ["manifest.cpp"],
|
|
deps = [":manifest"],
|
|
)
|