| load("//cc/toolchains:directory_tool.bzl", "cc_directory_tool") |
| load("//cc/toolchains:tool.bzl", "cc_tool") |
| load("//tests/rule_based_toolchain:analysis_test_suite.bzl", "analysis_test_suite") |
| load(":execution_requirements.bzl", "test_execution_requirements") |
| load(":tool_test.bzl", "TARGETS", "TESTS") |
| |
| cc_tool( |
| name = "tool", |
| src = "//tests/rule_based_toolchain/testdata:bin_wrapper.sh", |
| capabilities = ["//cc/toolchains/capabilities:supports_pic"], |
| data = ["//tests/rule_based_toolchain/testdata:bin"], |
| tags = ["requires-network"], |
| ) |
| |
| cc_tool( |
| name = "wrapped_tool", |
| src = "//tests/rule_based_toolchain/testdata:bin_wrapper", |
| visibility = ["//tests/rule_based_toolchain:__subpackages__"], |
| ) |
| |
| cc_tool( |
| name = "tool_with_allowlist_include_directories", |
| src = "//tests/rule_based_toolchain/testdata:bin_wrapper.sh", |
| allowlist_include_directories = ["//tests/rule_based_toolchain/testdata:directory"], |
| data = ["//tests/rule_based_toolchain/testdata:directory"], |
| visibility = ["//tests/rule_based_toolchain:__subpackages__"], |
| ) |
| |
| cc_tool( |
| name = "tool_with_env", |
| src = "//tests/rule_based_toolchain/testdata:bin_wrapper.sh", |
| data = [ |
| "//tests/rule_based_toolchain/testdata:bin", |
| "//tests/rule_based_toolchain/testdata:file1", |
| ], |
| env = { |
| "STATIC": "value", |
| "TOOL_ENV": "{tool_env}", |
| "TOOL_ENV_AGAIN": "{tool_env_again}", |
| }, |
| format = { |
| "tool_env": "//tests/rule_based_toolchain/testdata:file1", |
| "tool_env_again": "//tests/rule_based_toolchain/testdata:file1", |
| }, |
| visibility = ["//tests/rule_based_toolchain:__subpackages__"], |
| ) |
| |
| test_execution_requirements( |
| name = "execution_requirements", |
| requirements = [ |
| "example-requires-network", |
| "example-requires-darwin", |
| ], |
| ) |
| |
| cc_tool( |
| name = "tool_with_execution_requirements", |
| src = "//tests/rule_based_toolchain/testdata:bin_wrapper.sh", |
| execution_requirements = [":execution_requirements"], |
| tags = ["example-hardcoded-tag"], |
| visibility = ["//tests/rule_based_toolchain:__subpackages__"], |
| ) |
| |
| cc_directory_tool( |
| name = "directory_tool", |
| data = ["bin"], |
| directory = "//tests/rule_based_toolchain/testdata:directory", |
| executable = "bin_wrapper.sh", |
| tags = ["requires-network"], |
| ) |
| |
| analysis_test_suite( |
| name = "test_suite", |
| targets = TARGETS, |
| tests = TESTS, |
| ) |