diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl index e33386ed5b98b..34869c86bf7ca 100644 --- a/bazel/envoy_build_system.bzl +++ b/bazel/envoy_build_system.bzl @@ -32,6 +32,7 @@ load( _envoy_cc_test = "envoy_cc_test", _envoy_cc_test_binary = "envoy_cc_test_binary", _envoy_cc_test_library = "envoy_cc_test_library", + _envoy_py_test = "envoy_py_test", _envoy_py_test_binary = "envoy_py_test_binary", _envoy_sh_test = "envoy_sh_test", ) @@ -215,5 +216,6 @@ envoy_cc_test_binary = _envoy_cc_test_binary envoy_cc_test_library = _envoy_cc_test_library envoy_cc_benchmark_binary = _envoy_cc_benchmark_binary envoy_benchmark_test = _envoy_benchmark_test +envoy_py_test = _envoy_py_test envoy_py_test_binary = _envoy_py_test_binary envoy_sh_test = _envoy_sh_test diff --git a/bazel/envoy_test.bzl b/bazel/envoy_test.bzl index 09f092afabeb1..8aa136c18eca8 100644 --- a/bazel/envoy_test.bzl +++ b/bazel/envoy_test.bzl @@ -1,6 +1,6 @@ # DO NOT LOAD THIS FILE. Load envoy_build_system.bzl instead. # Envoy test targets. This includes both test library and test binary targets. -load("@rules_python//python:defs.bzl", "py_binary") +load("@rules_python//python:defs.bzl", "py_binary", "py_test") load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") load("@rules_fuzzing//fuzzing:cc_defs.bzl", "fuzzing_decoration") load(":envoy_binary.bzl", "envoy_cc_binary") @@ -269,6 +269,18 @@ def envoy_py_test_binary( **kargs ) +# Envoy py_tests should be specified with this function. +def envoy_py_test( + name, + external_deps = [], + deps = [], + **kargs): + py_test( + name = name, + deps = deps + [envoy_external_dep_path(dep) for dep in external_deps], + **kargs + ) + # Envoy C++ mock targets should be specified with this function. def envoy_cc_mock(name, **kargs): envoy_cc_test_library(name = name, **kargs) diff --git a/test/extensions/extensions_build_system.bzl b/test/extensions/extensions_build_system.bzl index 244990e036bd1..bcd12412249c3 100644 --- a/test/extensions/extensions_build_system.bzl +++ b/test/extensions/extensions_build_system.bzl @@ -1,4 +1,4 @@ -load("//bazel:envoy_build_system.bzl", "envoy_benchmark_test", "envoy_cc_benchmark_binary", "envoy_cc_mock", "envoy_cc_test", "envoy_cc_test_binary", "envoy_cc_test_library") +load("//bazel:envoy_build_system.bzl", "envoy_benchmark_test", "envoy_cc_benchmark_binary", "envoy_cc_mock", "envoy_cc_test", "envoy_cc_test_binary", "envoy_cc_test_library", "envoy_py_test") load("@envoy_build_config//:extensions_build_config.bzl", "EXTENSIONS") def _apply_to_extension_allow_for_test(func, name, extension_name, **kwargs): @@ -45,3 +45,10 @@ def envoy_extension_benchmark_test( extension_name, **kwargs): _apply_to_extension_allow_for_test(envoy_benchmark_test, name, extension_name, **kwargs) + +# Similar to envoy_cc_test, all extension py_tests should use this version of envoy_py_test +def envoy_extension_py_test( + name, + extension_name, + **kwargs): + _apply_to_extension_allow_for_test(envoy_py_test, name, extension_name, **kwargs) diff --git a/test/extensions/filters/network/kafka/broker/integration_test/BUILD b/test/extensions/filters/network/kafka/broker/integration_test/BUILD index d3db941ea5948..618f54072f8cd 100644 --- a/test/extensions/filters/network/kafka/broker/integration_test/BUILD +++ b/test/extensions/filters/network/kafka/broker/integration_test/BUILD @@ -2,14 +2,17 @@ load( "//bazel:envoy_build_system.bzl", "envoy_package", ) -load("@rules_python//python:defs.bzl", "py_test") +load( + "//test/extensions:extensions_build_system.bzl", + "envoy_extension_py_test", +) load("@kafka_pip3//:requirements.bzl", "requirement") licenses(["notice"]) # Apache 2 envoy_package() -py_test( +envoy_extension_py_test( name = "kafka_broker_integration_test", srcs = [ "kafka_broker_integration_test.py", @@ -20,6 +23,7 @@ py_test( "//bazel:remote_jdk11", "@kafka_server_binary//:all", ] + glob(["*.j2"]), + extension_name = "envoy.filters.network.kafka_broker", flaky = True, python_version = "PY3", srcs_version = "PY3",