load(":default_test_toolchain.bzl", "bool_flag", "empty_toolchain")

package(default_visibility = ["//visibility:public"])

# The mandatory toolchain requirement of the default "test" exec group defined
# on every test rule.
# Register a toolchain for this type to influence the selection of the
# execution platform based on the target platform. ToolchainInfo provided by
# toolchain implementations is generally ignored, but test rules are free to
# define their own test toolchain types and specify different behavior.
toolchain_type(
    name = "default_test_toolchain_type",
    no_match_error = """By default, tests are executed on the first execution platform that \
matches all constraints specified by the target platform. Either register the target platform (or \
a platform with at least the same constraints) as an execution platform, or override the default \
behavior by registering a custom toolchain for \
@bazel_tools//tools/test:default_test_toolchain_type.""",
)


# A target that provides an empty platform_common.ToolchainInfo for use
# in test toolchains that do not need to carry any data, just
# constraints.
empty_toolchain(name = "empty_toolchain")

# Whether to register a default test toolchain for all test rules without
# an explicitly defined "test" exec group. This toolchain forces the
# execution platform to satisfy all constraints specified by the target
# platform.
bool_flag(
    name = "incompatible_use_default_test_toolchain",
    build_setting_default = True,
    visibility = ["//visibility:private"],
)

config_setting(
    name = "use_default_test_toolchain",
    values = {
        "use_target_platform_for_tests": "false",
    },
    flag_values = {
        ":incompatible_use_default_test_toolchain": "true",
    },
    visibility = ["//visibility:private"],
)

config_setting(
    name = "use_legacy_test_toolchain_due_to_use_target_platform_for_tests",
    values = {
        "use_target_platform_for_tests": "true",
    },
    visibility = ["//visibility:private"],
)

config_setting(
    name = "use_legacy_test_toolchain_due_to_incompatible_flag",
    flag_values = {
        ":incompatible_use_default_test_toolchain": "false",
    },
    visibility = ["//visibility:private"],
)

# A toolchain that forces the execution platform to satisfy all constraints
# specified by the target platform.
toolchain(
    name = "default_test_toolchain",
    toolchain_type = ":default_test_toolchain_type",
    use_target_platform_constraints = True,
    target_settings = [":use_default_test_toolchain"],
    toolchain = ":empty_toolchain",
    visibility = ["//visibility:private"],
)

# A toolchain that allows a test action to run on any execution platform, which
# matches the behavior of Bazel before the introduction of the default test
# toolchain.
toolchain(
    name = "legacy_test_toolchain",
    toolchain_type = ":default_test_toolchain_type",
    target_settings = [":use_legacy_test_toolchain_due_to_incompatible_flag"],
    toolchain = ":empty_toolchain",
    visibility = ["//visibility:private"],
)

toolchain(
    name = "legacy_test_toolchain_use_target_platform_for_tests",
    toolchain_type = ":default_test_toolchain_type",
    target_settings = [":use_legacy_test_toolchain_due_to_use_target_platform_for_tests"],
    toolchain = ":empty_toolchain",
    visibility = ["//visibility:private"],
)

# Members of this filegroup shouldn't have duplicate basenames, otherwise
# TestRunnerAction#getRuntimeArtifact() will get confused.
# Deprecated, do not use.
filegroup(
    name = "runtime",
    srcs = ["test-setup.sh"],
)

filegroup(
    name = "test_setup",
    srcs = ["test-setup.sh"],
)

filegroup(
    name = "test_xml_generator",
    srcs = ["generate-xml.sh"],
)

filegroup(
    name = "collect_coverage",
    srcs = ["collect_coverage.sh"],
)

filegroup(
    name = "collect_cc_coverage",
    srcs = ["collect_cc_coverage.sh"],
)

filegroup(
    name = "coverage_support",
    srcs = ["collect_coverage.sh"],
)

alias(
    name = "coverage_report_generator",
    actual = "@remote_coverage_tools//:coverage_report_generator",
)

alias(
    name = "lcov_merger",
    actual = "@remote_coverage_tools//:lcov_merger",
)

filegroup(
    name = "test_wrapper",
    # "tw" is the Windows-native test wrapper. It has a short name because paths
    # have short limits on Windows.
    # On other platforms this binary is a no-op.
    # See https://github.com/bazelbuild/bazel/issues/5508
    srcs = select({
        "@bazel_tools//src/conditions:windows": ["tw.exe"],
        "//conditions:default": ["dummy.sh"],
    }),
)

filegroup(
    name = "xml_writer",
    # "xml" is the Windows-native test XML writer. It has a short name because
    # paths have short limits on Windows.
    # On other platforms this binary is a no-op.
    srcs = select({
        "@bazel_tools//src/conditions:windows": ["xml.exe"],
        "//conditions:default": ["dummy.sh"],
    }),
)

filegroup(
    name = "bzl_srcs",
    srcs = [
        "default_test_toolchain.bzl",
        "extensions.bzl",
    ],
)
