1"""Unittest to verify that we can treat all dependencies as direct dependencies"""
2
3load("@bazel_skylib//lib:unittest.bzl", "analysistest")
4load("//test/unit:common.bzl", "assert_action_mnemonic", "assert_env_value")
5load("//test/unit/consistent_crate_name:with_modified_crate_name.bzl", "with_modified_crate_name")
6
7def _consistent_crate_name_env_test(ctx):
8    env = analysistest.begin(ctx)
9    tut = analysistest.target_under_test(env)
10    action = tut.actions[0]
11    assert_action_mnemonic(env, action, "Rustc")
12    assert_env_value(
13        env,
14        action,
15        "CARGO_CRATE_NAME",
16        "lib_my_custom_crate_suffix",
17    )
18    return analysistest.end(env)
19
20consistent_crate_name_env_test = analysistest.make(_consistent_crate_name_env_test)
21
22def _consistent_crate_name_test():
23    with_modified_crate_name(
24        name = "lib",
25        src = "lib.rs",
26    )
27
28    consistent_crate_name_env_test(
29        name = "consistent_crate_name_env_test",
30        target_under_test = ":lib",
31    )
32
33def consistent_crate_name_test_suite(name):
34    """Entry-point macro called from the BUILD file.
35
36    Args:
37        name: Name of the macro.
38    """
39    _consistent_crate_name_test()
40
41    native.test_suite(
42        name = name,
43        tests = [
44            ":consistent_crate_name_env_test",
45        ],
46    )
47