blob: 5d8d91d6e05771814f6f54025416c99dc3c4efbb [file] [log] [blame]
"""Tests for `load_arbitrary_tool`"""
load("//rust:repositories.bzl", "load_arbitrary_tool")
load("//rust/platform:triple.bzl", "get_host_triple")
load("//rust/platform:triple_mappings.bzl", "system_to_binary_ext")
def _load_arbitrary_tool_test_impl(repository_ctx):
host_triple = get_host_triple(repository_ctx)
cargo_bin = "bin/cargo" + system_to_binary_ext(host_triple.system)
# Download cargo
load_arbitrary_tool(
ctx = repository_ctx,
tool_name = "cargo",
tool_subdirectories = ["cargo"],
version = "1.53.0",
iso_date = None,
target_triple = host_triple,
)
repo_path = repository_ctx.path(".")
repository_ctx.file(
"{}/BUILD.bazel".format(repo_path),
content = "exports_files([\"{}\"])".format(cargo_bin),
)
_load_arbitrary_tool_test = repository_rule(
implementation = _load_arbitrary_tool_test_impl,
doc = (
"A test repository rule ensuring `load_arbitrary_tool` functions " +
"without requiring any attributes on a repository rule"
),
)
def load_arbitrary_tool_test():
"""Define the a test repository for ensuring `load_arbitrary_tool` has no attribute requirements"""
_load_arbitrary_tool_test(
name = "rules_rust_test_load_arbitrary_tool",
)