1# Copyright 2019 The gRPC Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15load("@grpc_python_dependencies//:requirements.bzl", "requirement") 16 17py_library( 18 name = "client", 19 testonly = 1, 20 srcs = ["client.py"], 21 deps = [ 22 "//examples:helloworld_py_pb2", 23 "//examples:helloworld_py_pb2_grpc", 24 "//src/python/grpcio/grpc:grpcio", 25 "//src/python/grpcio_status/grpc_status", 26 requirement("googleapis-common-protos"), 27 ], 28) 29 30py_library( 31 name = "server", 32 testonly = 1, 33 srcs = ["server.py"], 34 deps = [ 35 "//src/python/grpcio/grpc:grpcio", 36 "//src/python/grpcio_status/grpc_status:grpc_status", 37 "//examples:helloworld_py_pb2", 38 "//examples:helloworld_py_pb2_grpc", 39 ] + select({ 40 "//conditions:default": [requirement("futures")], 41 "//:python3": [], 42 }), 43) 44 45py_test( 46 name = "test/_error_handling_example_test", 47 size = "small", 48 srcs = ["test/_error_handling_example_test.py"], 49 imports = [ 50 "../../../src/python/grpcio_status", 51 "../../../src/python/grpcio_tests", 52 ], 53 python_version = "PY3", 54 deps = [ 55 ":client", 56 ":server", 57 "//src/python/grpcio_tests/tests:bazel_namespace_package_hack", 58 ], 59) 60