| """Analysis test for for rust_bindgen_library rule.""" |
| load("@rules_cc//cc:defs.bzl", "cc_library") |
| load("@rules_rust//bindgen:defs.bzl", "rust_bindgen_library") |
| load("@rules_rust//rust:defs.bzl", "rust_binary") |
| load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite") |
| def _test_cc_linkopt_impl(env, target): |
| env.expect.that_action(target.actions[0]) \ |
| .contains_at_least_args(["--codegen=link-arg=-shared"]) |
| def _test_cc_linkopt(name): |
| name = name + "_rust_bindgen", |
| name = name + "_rust_binary", |
| deps = [name + "_rust_bindgen"], |
| # TODO: Use targets attr to also verify `rust_bindgen_library` not having |
| # the linkopt after https://github.com/bazelbuild/rules_testing/issues/67 |
| target = name + "_rust_binary", |
| impl = _test_cc_linkopt_impl, |
| def bindgen_test_suite(name): |