1load("@fbcode_macros//build_defs:python_unittest.bzl", "python_unittest") 2load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 3load(":targets.bzl", "define_common_targets") 4 5define_common_targets() 6 7runtime.python_library( 8 name = "executor_backend_preprocess", 9 srcs = [ 10 "executor_backend_preprocess.py", 11 ], 12 visibility = [ 13 "//executorch/exir/backend/test/...", 14 ], 15 deps = [ 16 "//caffe2:torch", 17 "//executorch/exir:lib", 18 "//executorch/exir/backend:backend_details", 19 "//executorch/exir/backend:compile_spec_schema", 20 "//nodeapi/py:base", 21 ], 22) 23 24runtime.python_library( 25 name = "executor_backend_partitioner", 26 srcs = [ 27 "executor_backend_partitioner.py", 28 ], 29 visibility = [ 30 "//executorch/exir/backend/test/...", 31 ], 32 deps = [ 33 ":executor_backend_preprocess", 34 "//caffe2:torch", 35 "//executorch/exir:graph_module", 36 "//executorch/exir:lib", 37 "//executorch/exir/backend:partitioner", 38 "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 39 "//executorch/exir/backend/test:backend_with_compiler_demo", 40 ], 41) 42 43python_unittest( 44 name = "test_rpc", 45 srcs = [ 46 "test_rpc.py", 47 ], 48 preload_deps = [ 49 "//executorch/kernels/portable:custom_ops_generated_lib", 50 "//executorch/kernels/quantized:custom_ops_generated_lib", 51 # the executor backend is prebuilt and linked when building the unit test binary. When it's linked, it'll register the backend. 52 # It can also be loaded in PyThon runtime via torch.ops.load_library("//executorch/exir/backend/test/demos/rpc:executor_backend") 53 # However, it's a better practice to build/link everything at earlier stage, instead of during runtime 54 "//executorch/exir/backend/test/demos/rpc:executor_backend_register", 55 ], 56 deps = [ 57 ":executor_backend_partitioner", 58 ":executor_backend_preprocess", 59 "//caffe2:torch", 60 "//executorch/exir:lib", 61 "//executorch/exir/backend:backend_api", 62 "//executorch/exir/backend/test:op_partitioner_demo", 63 "//executorch/extension/pybindings:portable_lib", # @manual 64 ], 65) 66