Skip to content

Commit

Permalink
x
Browse files Browse the repository at this point in the history
  • Loading branch information
ctiller committed Jan 25, 2025
1 parent ca4cfdb commit 088757d
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 19 deletions.
4 changes: 3 additions & 1 deletion bazel/grpc_build_system.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -574,12 +574,13 @@ def expand_tests(name, srcs, deps, tags, args, exclude_pollers, uses_polling, us
experiment_config.append(config)
return experiment_config

def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, size = "medium", timeout = None, tags = [], exec_compatible_with = [], exec_properties = {}, shard_count = None, flaky = None, copts = [], linkstatic = None, exclude_pollers = [], uses_event_engine = True):
def grpc_cc_test(name, srcs = [], defines = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, size = "medium", timeout = None, tags = [], exec_compatible_with = [], exec_properties = {}, shard_count = None, flaky = None, copts = [], linkstatic = None, exclude_pollers = [], uses_event_engine = True):
"""A cc_test target for use in the gRPC repo.
Args:
name: The name of the test.
srcs: The source files.
defines: Build defines to use.
deps: The target deps.
external_deps: The external deps.
args: The args to supply to the test binary.
Expand Down Expand Up @@ -631,6 +632,7 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data
testonly = 1,
srcs = srcs,
deps = core_deps,
defines = defines,
tags = tags,
alwayslink = 1,
)
Expand Down
2 changes: 1 addition & 1 deletion test/core/end2end/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ grpc_core_end2end_test(name = "ping")

grpc_core_end2end_test(name = "ping_pong_streaming")

grpc_core_end2end_test(name = "proxy_auth")
grpc_core_end2end_test(name = "proxy_auth", enable_fuzzing = False)

grpc_core_end2end_test(name = "registered_call")

Expand Down
37 changes: 22 additions & 15 deletions test/core/end2end/end2end_tests.h
Original file line number Diff line number Diff line change
Expand Up @@ -653,20 +653,10 @@ DECLARE_SUITE(ProxyAuthTests);
GTEST_SKIP() << "Disabled for Local TCP Connection"; \
}

#define CORE_END2END_TEST(suite, name) \
class CoreEnd2endTest_##suite##_##name final \
: public grpc_core::CoreEnd2endTest { \
public: \
using grpc_core::CoreEnd2endTest::CoreEnd2endTest; \
void RunTest(); \
}; \
TEST_P(suite, name) { \
if ((GetParam()->feature_mask & FEATURE_MASK_IS_CALL_V3) && \
(grpc_core::ConfigVars::Get().PollStrategy() == "poll")) { \
GTEST_SKIP() << "call-v3 not supported with poll poller"; \
} \
CoreEnd2endTest_##suite##_##name(GetParam(), nullptr).RunTest(); \
} \
#ifdef GRPC_END2END_TEST_NO_FUZZER
#define CORE_END2END_FUZZER(suite, name)
#else
#define CORE_END2END_FUZZER(suite, name) \
namespace suite##_tests { \
namespace { \
void name(const grpc_core::CoreTestConfiguration* config, \
Expand All @@ -678,7 +668,24 @@ DECLARE_SUITE(ProxyAuthTests);
.WithDomains(::fuzztest::ElementOf(suite::AllSuiteConfigs(true)), \
::fuzztest::Arbitrary<core_end2end_test_fuzzer::Msg>()); \
} \
} \
}
#endif

#define CORE_END2END_TEST(suite, name) \
class CoreEnd2endTest_##suite##_##name final \
: public grpc_core::CoreEnd2endTest { \
public: \
using grpc_core::CoreEnd2endTest::CoreEnd2endTest; \
void RunTest(); \
}; \
TEST_P(suite, name) { \
if ((GetParam()->feature_mask & FEATURE_MASK_IS_CALL_V3) && \
(grpc_core::ConfigVars::Get().PollStrategy() == "poll")) { \
GTEST_SKIP() << "call-v3 not supported with poll poller"; \
} \
CoreEnd2endTest_##suite##_##name(GetParam(), nullptr).RunTest(); \
} \
CORE_END2END_FUZZER(suite, name) \
void CoreEnd2endTest_##suite##_##name::RunTest()

#define CORE_END2END_TEST_SUITE(suite, configs) \
Expand Down
3 changes: 2 additions & 1 deletion test/core/end2end/grpc_core_end2end_test.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ END2END_TEST_DATA = [
"//src/core/tsi/test_creds:server1.pem",
]

def grpc_core_end2end_test(name, shard_count = 10, tags = [], flaky = False):
def grpc_core_end2end_test(name, shard_count = 10, enable_fuzzing = True, tags = [], flaky = False):
"""Generate one core end2end test
Args:
Expand All @@ -50,6 +50,7 @@ def grpc_core_end2end_test(name, shard_count = 10, tags = [], flaky = False):
],
data = END2END_TEST_DATA,
shard_count = shard_count,
defines = [] if enable_fuzzing else ["GRPC_END2END_TEST_NO_FUZZER"],
deps = [
"cq_verifier",
"end2end_test_lib",
Expand Down
3 changes: 2 additions & 1 deletion test/core/test_util/grpc_fuzzer.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ def grpc_proto_fuzzer(
**kwargs
)

def grpc_fuzz_test(name, shard_count = None, srcs = [], deps = [], tags = [], external_deps = [], data = []):
def grpc_fuzz_test(name, shard_count = None, defines = [], srcs = [], deps = [], tags = [], external_deps = [], data = []):
"""Instantiates a fuzztest based test.
This is the preferred method of writing fuzzers.
Expand All @@ -169,6 +169,7 @@ def grpc_fuzz_test(name, shard_count = None, srcs = [], deps = [], tags = [], ex
"bazel_only",
],
deps = deps,
defines = defines,
shard_count = shard_count,
external_deps = external_deps,
data = data,
Expand Down

0 comments on commit 088757d

Please sign in to comment.