xref: /aosp_15_r20/external/executorch/runtime/kernel/test/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2load("@fbsource//xplat/executorch/codegen:codegen.bzl", "et_operator_library", "executorch_generated_lib")
3
4def define_common_targets():
5    """Defines targets that should be shared between fbcode and xplat.
6
7    The directory containing this targets.bzl file should also contain both
8    TARGETS and BUCK files that call this function.
9    """
10
11    runtime.cxx_test(
12        name = "operator_registry_test",
13        srcs = [
14            "operator_registry_test.cpp",
15        ],
16        headers = ["test_util.h"],
17        deps = [
18            "//executorch/runtime/kernel:operator_registry",
19            "//executorch/runtime/kernel:kernel_runtime_context",
20        ],
21    )
22
23    runtime.cxx_test(
24        name = "operator_registry_max_kernel_num_test",
25        srcs = [
26            "operator_registry_max_kernel_num_test.cpp",
27        ],
28        deps = [
29            "//executorch/runtime/kernel:operator_registry_MAX_NUM_KERNELS_TEST_ONLY",
30            "//executorch/runtime/kernel:kernel_runtime_context",
31        ],
32    )
33
34    et_operator_library(
35        name = "executorch_all_ops",
36        include_all_operators = True,
37        define_static_targets = True,
38    )
39
40    runtime.export_file(
41        name = "functions.yaml",
42    )
43
44    executorch_generated_lib(
45        name = "specialized_kernel_generated_lib",
46        deps = [
47            ":executorch_all_ops",
48            "//executorch/kernels/portable:operators",
49        ],
50        functions_yaml_target = ":functions.yaml",
51        visibility = [
52            "//executorch/...",
53        ],
54    )
55
56    runtime.cxx_test(
57        name = "kernel_double_registration_test",
58        srcs = [
59            "kernel_double_registration_test.cpp",
60        ],
61        deps = [
62            "//executorch/runtime/kernel:operator_registry",
63            ":specialized_kernel_generated_lib",
64        ],
65    )
66
67    executorch_generated_lib(
68        name = "test_manual_registration_lib",
69        deps = [
70            ":executorch_all_ops",
71            "//executorch/kernels/portable:operators",
72        ],
73        functions_yaml_target = "//executorch/kernels/portable:functions.yaml",
74        manual_registration = True,
75        visibility = [
76            "//executorch/...",
77        ],
78    )
79
80    runtime.cxx_test(
81        name = "test_kernel_manual_registration",
82        srcs = [
83            "test_kernel_manual_registration.cpp",
84        ],
85        deps = [
86            "//executorch/runtime/kernel:operator_registry",
87            ":test_manual_registration_lib",
88        ],
89    )
90
91    for aten_mode in (True, False):
92        aten_suffix = "_aten" if aten_mode else ""
93
94        runtime.cxx_test(
95            name = "kernel_runtime_context_test" + aten_suffix,
96            srcs = [
97                "kernel_runtime_context_test.cpp",
98            ],
99            deps = [
100                "//executorch/runtime/kernel:kernel_runtime_context" + aten_suffix,
101                ":specialized_kernel_generated_lib",
102            ],
103        )
104