blob: 39e705aaf06892921c4dad1e293e10acd2006fdc [file] [log] [blame]
"""Unittest to verify that we can treat all dependencies as direct dependencies"""
load("@bazel_skylib//lib:unittest.bzl", "analysistest")
load("//rust:defs.bzl", "rust_library")
load("//test/unit:common.bzl", "assert_action_mnemonic", "assert_argv_contains_prefix")
load("//test/unit/force_all_deps_direct:generator.bzl", "generator")
def _force_all_deps_direct_rustc_flags_test(ctx):
env = analysistest.begin(ctx)
tut = analysistest.target_under_test(env)
action = tut.actions[1]
assert_action_mnemonic(env, action, "Rustc")
assert_argv_contains_prefix(
env,
action,
"--extern=transitive",
)
return analysistest.end(env)
force_all_deps_direct_test = analysistest.make(_force_all_deps_direct_rustc_flags_test)
def _force_all_deps_direct_test():
rust_library(
name = "direct",
srcs = ["direct.rs"],
edition = "2018",
deps = [":transitive"],
)
rust_library(
name = "transitive",
srcs = ["transitive.rs"],
edition = "2018",
)
generator(
name = "generate",
deps = [":direct"],
tags = [
"no-clippy",
"no-unpretty",
],
)
force_all_deps_direct_test(
name = "force_all_deps_direct_rustc_flags_test",
target_under_test = ":generate",
)
def force_all_deps_direct_test_suite(name):
"""Entry-point macro called from the BUILD file.
Args:
name: Name of the macro.
"""
_force_all_deps_direct_test()
native.test_suite(
name = name,
tests = [
":force_all_deps_direct_rustc_flags_test",
],
)