Merge branch 'transport-refs-3' into transport-refs-4

pull/36598/head
Craig Tiller 11 months ago
commit df67a28cea
  1. 1
      CMakeLists.txt
  2. 2
      build_autogenerated.yaml
  3. 1
      src/core/BUILD
  4. 2
      src/core/server/server_interface.h
  5. 2
      test/core/event_engine/event_engine_test_utils.cc
  6. 65
      test/core/test_util/build.cc
  7. 1
      test/cpp/end2end/BUILD
  8. 3
      test/cpp/end2end/rls_end2end_test.cc

1
CMakeLists.txt generated

@ -26340,6 +26340,7 @@ add_executable(rls_end2end_test
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h
test/core/event_engine/event_engine_test_utils.cc
test/core/test_util/fake_stats_plugin.cc
test/core/test_util/test_lb_policies.cc
test/cpp/end2end/rls_end2end_test.cc

@ -17605,6 +17605,7 @@ targets:
run: false
language: c++
headers:
- test/core/event_engine/event_engine_test_utils.h
- test/core/test_util/fake_stats_plugin.h
- test/core/test_util/test_lb_policies.h
- test/cpp/end2end/counted_service.h
@ -17617,6 +17618,7 @@ targets:
- src/proto/grpc/testing/echo_messages.proto
- src/proto/grpc/testing/simple_messages.proto
- src/proto/grpc/testing/xds/v3/orca_load_report.proto
- test/core/event_engine/event_engine_test_utils.cc
- test/core/test_util/fake_stats_plugin.cc
- test/core/test_util/test_lb_policies.cc
- test/cpp/end2end/rls_end2end_test.cc

@ -3082,6 +3082,7 @@ grpc_cc_library(
deps = [
"channel_args",
"//:channelz",
"//:event_engine_base_hdrs",
"//:gpr_platform",
],
)

@ -17,7 +17,7 @@
#ifndef GRPC_SRC_CORE_SERVER_SERVER_INTERFACE_H
#define GRPC_SRC_CORE_SERVER_SERVER_INTERFACE_H
#include <grpc/compression.h>
#include <grpc/impl/compression_types.h>
#include <grpc/support/port_platform.h>
#include "src/core/channelz/channelz.h"

@ -81,7 +81,7 @@ void WaitForSingleOwner(std::shared_ptr<EventEngine> engine) {
int n = 0;
while (engine.use_count() > 1) {
++n;
if (n == 100) AsanAssertNoLeaks();
if (n % 100 == 0) AsanAssertNoLeaks();
GRPC_LOG_EVERY_N_SEC(2, GPR_INFO, "engine.use_count() = %ld",
engine.use_count());
absl::SleepFor(absl::Milliseconds(100));

@ -12,7 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "test/core/test_util/build.h"
// Define GRPC_BUILD_HAS_ASAN as 1 or 0 depending on if we're building under
// ASAN.
#if defined(__has_feature)
#if __has_feature(address_sanitizer)
#define GRPC_BUILD_HAS_ASAN 1
@ -27,58 +28,62 @@
#endif
#endif
#if GRPC_BUILD_HAS_ASAN
#include <sanitizer/lsan_interface.h>
#endif
bool BuiltUnderValgrind() {
#ifdef RUNNING_ON_VALGRIND
return true;
#else
return false;
#endif
}
bool BuiltUnderTsan() {
// Define GRPC_BUILD_HAS_TSAN as 1 or 0 depending on if we're building under
// TSAN.
#if defined(__has_feature)
#if __has_feature(thread_sanitizer)
return true;
#define GRPC_BUILD_HAS_TSAN 1
#else
return false;
#define GRPC_BUILD_HAS_TSAN 0
#endif
#else
#ifdef THREAD_SANITIZER
return true;
#define GRPC_BUILD_HAS_TSAN 1
#else
return false;
#endif
#define GRPC_BUILD_HAS_TSAN 0
#endif
}
bool BuiltUnderAsan() { return GRPC_BUILD_HAS_ASAN != 0; }
void AsanAssertNoLeaks() {
#if GRPC_BUILD_HAS_ASAN
__lsan_do_leak_check();
#endif
}
bool BuiltUnderMsan() {
// Define GRPC_BUILD_HAS_MSAN as 1 or 0 depending on if we're building under
// MSAN.
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
return true;
#define GRPC_BUILD_HAS_MSAN 1
#else
return false;
#define GRPC_BUILD_HAS_MSAN 0
#endif
#else
#ifdef MEMORY_SANITIZER
#define GRPC_BUILD_HAS_MSAN 1
#else
#define GRPC_BUILD_HAS_MSAN 0
#endif
#endif
#if GRPC_BUILD_HAS_ASAN
#include <sanitizer/lsan_interface.h>
#endif
bool BuiltUnderValgrind() {
#ifdef RUNNING_ON_VALGRIND
return true;
#else
return false;
#endif
}
bool BuiltUnderTsan() { return GRPC_BUILD_HAS_TSAN != 0; }
bool BuiltUnderAsan() { return GRPC_BUILD_HAS_ASAN != 0; }
void AsanAssertNoLeaks() {
#if GRPC_BUILD_HAS_ASAN
__lsan_do_leak_check();
#endif
}
bool BuiltUnderMsan() { return GRPC_BUILD_HAS_MSAN != 0; }
bool BuiltUnderUbsan() {
#ifdef GRPC_UBSAN
return true;

@ -584,6 +584,7 @@ grpc_cc_test(
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/test_util:fake_stats_plugin",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:test_lb_policies",

@ -58,6 +58,7 @@
#include "src/proto/grpc/lookup/v1/rls.grpc.pb.h"
#include "src/proto/grpc/lookup/v1/rls.pb.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "test/core/event_engine/event_engine_test_utils.h"
#include "test/core/test_util/fake_stats_plugin.h"
#include "test/core/test_util/port.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
@ -175,6 +176,8 @@ class RlsEnd2endTest : public ::testing::Test {
static void TearDownTestSuite() {
grpc_shutdown_blocking();
WaitForSingleOwner(
grpc_event_engine::experimental::GetDefaultEventEngine());
grpc_core::CoreConfiguration::Reset();
}

Loading…
Cancel
Save