aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2018-01-19 08:17:29 +0100
committerGravatar GitHub <noreply@github.com>2018-01-19 08:17:29 +0100
commit461cf30159c0ada954e8e2a4e6591694f617809c (patch)
tree6c0f2b9cfe328d0ed724700449f39e709915b3bd /test
parent471a5dc18b4465b051cddf4e02dbdf44336f80ce (diff)
parentbb2f7e28edc3e3dd663ad308aed7ed632a0a17bf (diff)
Merge branch 'master' into cmake-export-fix
Diffstat (limited to 'test')
-rw-r--r--test/core/bad_client/bad_client.cc4
-rw-r--r--test/core/bad_client/tests/large_metadata.cc2
-rw-r--r--test/core/bad_ssl/bad_ssl_test.cc4
-rw-r--r--test/core/channel/minimal_stack_is_minimal_test.cc2
-rw-r--r--test/core/client_channel/lb_policies_test.cc2
-rw-r--r--test/core/client_channel/resolvers/sockaddr_resolver_test.cc4
-rw-r--r--test/core/compression/message_compress_test.cc2
-rw-r--r--test/core/end2end/bad_server_response_test.cc2
-rw-r--r--test/core/end2end/cq_verifier.cc2
-rw-r--r--test/core/end2end/dualstack_socket_test.cc13
-rw-r--r--test/core/end2end/fixtures/h2_full+trace.cc2
-rw-r--r--test/core/end2end/fixtures/h2_http_proxy.cc2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair+trace.cc2
-rw-r--r--test/core/end2end/fixtures/h2_ssl.cc6
-rw-r--r--test/core/end2end/fixtures/h2_ssl_proxy.cc6
-rw-r--r--test/core/end2end/fixtures/h2_uds.cc2
-rw-r--r--test/core/end2end/fixtures/http_proxy_fixture.cc2
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer.cc15
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer_corpus/fuzz-input-d2ab5bin0 -> 48866 bytes
-rw-r--r--test/core/end2end/h2_ssl_cert_test.cc6
-rw-r--r--test/core/end2end/tests/bad_hostname.cc2
-rw-r--r--test/core/end2end/tests/call_creds.cc2
-rw-r--r--test/core/end2end/tests/cancel_with_status.cc2
-rw-r--r--test/core/end2end/tests/default_host.cc2
-rw-r--r--test/core/end2end/tests/empty_batch.cc2
-rw-r--r--test/core/end2end/tests/high_initial_seqno.cc2
-rw-r--r--test/core/end2end/tests/hpack_size.cc2
-rw-r--r--test/core/end2end/tests/idempotent_request.cc2
-rw-r--r--test/core/end2end/tests/keepalive_timeout.cc2
-rw-r--r--test/core/end2end/tests/negative_deadline.cc2
-rw-r--r--test/core/end2end/tests/no_logging.cc2
-rw-r--r--test/core/end2end/tests/proxy_auth.cc2
-rw-r--r--test/core/end2end/tests/registered_call.cc2
-rw-r--r--test/core/end2end/tests/server_finishes_request.cc2
-rw-r--r--test/core/end2end/tests/simple_request.cc2
-rw-r--r--test/core/fling/fling_stream_test.cc2
-rw-r--r--test/core/fling/fling_test.cc2
-rw-r--r--test/core/gpr++/BUILD95
-rw-r--r--test/core/gpr++/inlined_vector_test.cc (renamed from test/core/support/vector_test.cc)4
-rw-r--r--test/core/gpr++/manual_constructor_test.cc (renamed from test/core/support/manual_constructor_test.cc)4
-rw-r--r--test/core/gpr++/memory_test.cc (renamed from test/core/support/memory_test.cc)2
-rw-r--r--test/core/gpr++/orphanable_test.cc114
-rw-r--r--test/core/gpr++/ref_counted_ptr_test.cc (renamed from test/core/support/ref_counted_ptr_test.cc)19
-rw-r--r--test/core/gpr++/ref_counted_test.cc (renamed from test/core/support/ref_counted_test.cc)8
-rw-r--r--test/core/gpr/BUILD (renamed from test/core/support/BUILD)65
-rw-r--r--test/core/gpr/alloc_test.cc (renamed from test/core/support/alloc_test.cc)0
-rw-r--r--test/core/gpr/arena_test.cc (renamed from test/core/support/arena_test.cc)4
-rw-r--r--test/core/gpr/avl_test.cc (renamed from test/core/support/avl_test.cc)0
-rw-r--r--test/core/gpr/cmdline_test.cc (renamed from test/core/support/cmdline_test.cc)0
-rw-r--r--test/core/gpr/cpu_test.cc (renamed from test/core/support/cpu_test.cc)0
-rw-r--r--test/core/gpr/env_test.cc (renamed from test/core/support/env_test.cc)4
-rw-r--r--test/core/gpr/host_port_test.cc (renamed from test/core/support/host_port_test.cc)0
-rw-r--r--test/core/gpr/log_test.cc (renamed from test/core/support/log_test.cc)2
-rw-r--r--test/core/gpr/mpscq_test.cc (renamed from test/core/support/mpscq_test.cc)2
-rw-r--r--test/core/gpr/murmur_hash_test.cc (renamed from test/core/support/murmur_hash_test.cc)2
-rw-r--r--test/core/gpr/spinlock_test.cc (renamed from test/core/support/spinlock_test.cc)2
-rw-r--r--test/core/gpr/string_test.cc (renamed from test/core/support/string_test.cc)2
-rw-r--r--test/core/gpr/sync_test.cc (renamed from test/core/support/sync_test.cc)0
-rw-r--r--test/core/gpr/thd_test.cc (renamed from test/core/support/thd_test.cc)0
-rw-r--r--test/core/gpr/time_test.cc (renamed from test/core/support/time_test.cc)0
-rw-r--r--test/core/gpr/tls_test.cc (renamed from test/core/support/tls_test.cc)0
-rw-r--r--test/core/gpr/useful_test.cc (renamed from test/core/support/useful_test.cc)0
-rw-r--r--test/core/iomgr/ev_epollsig_linux_test.cc6
-rw-r--r--test/core/iomgr/load_file_test.cc4
-rw-r--r--test/core/iomgr/pollset_set_test.cc6
-rw-r--r--test/core/iomgr/wakeup_fd_cv_test.cc2
-rw-r--r--test/core/json/json_test.cc2
-rw-r--r--test/core/memory_usage/client.cc4
-rw-r--r--test/core/memory_usage/memory_usage_test.cc2
-rw-r--r--test/core/security/auth_context_test.cc2
-rw-r--r--test/core/security/credentials_test.cc6
-rw-r--r--test/core/security/print_google_default_creds_token.cc2
-rw-r--r--test/core/security/security_connector_test.cc6
-rw-r--r--test/core/slice/percent_encoding_test.cc2
-rw-r--r--test/core/slice/slice_string_helpers_test.cc2
-rw-r--r--test/core/surface/alarm_test.cc11
-rw-r--r--test/core/transport/bdp_estimator_test.cc2
-rw-r--r--test/core/transport/chttp2/bin_decoder_test.cc2
-rw-r--r--test/core/transport/chttp2/bin_encoder_test.cc2
-rw-r--r--test/core/transport/chttp2/hpack_encoder_test.cc2
-rw-r--r--test/core/transport/chttp2/hpack_table_test.cc2
-rw-r--r--test/core/transport/metadata_test.cc2
-rw-r--r--test/core/transport/pid_controller_test.cc2
-rw-r--r--test/core/transport/timeout_encoding_test.cc4
-rw-r--r--test/core/tsi/transport_security_test.cc2
-rw-r--r--test/core/util/test_config.cc4
-rw-r--r--test/cpp/client/client_channel_stress_test.cc8
-rw-r--r--test/cpp/end2end/BUILD159
-rw-r--r--test/cpp/end2end/async_end2end_test.cc2
-rw-r--r--test/cpp/end2end/client_lb_end2end_test.cc45
-rw-r--r--test/cpp/end2end/end2end_test.cc10
-rw-r--r--test/cpp/end2end/exception_test.cc119
-rw-r--r--test/cpp/end2end/grpclb_end2end_test.cc2
-rw-r--r--test/cpp/end2end/shutdown_test.cc2
-rw-r--r--test/cpp/grpclb/grpclb_test.cc6
-rw-r--r--test/cpp/interop/client.cc2
-rw-r--r--test/cpp/interop/http2_client.cc2
-rw-r--r--test/cpp/interop/interop_server.cc2
-rw-r--r--test/cpp/interop/interop_test.cc2
-rw-r--r--test/cpp/microbenchmarks/bm_arena.cc2
-rw-r--r--test/cpp/microbenchmarks/bm_closure.cc2
-rw-r--r--test/cpp/naming/resolver_component_test.cc4
-rw-r--r--test/cpp/naming/resolver_component_tests_runner_invoker.cc2
-rw-r--r--test/cpp/qps/driver.cc2
-rw-r--r--test/cpp/qps/json_run_localhost.cc2
-rw-r--r--test/distrib/cpp/run_distrib_test_cmake.bat4
106 files changed, 628 insertions, 275 deletions
diff --git a/test/core/bad_client/bad_client.cc b/test/core/bad_client/bad_client.cc
index 4c1642aa5d..dd8d88170e 100644
--- a/test/core/bad_client/bad_client.cc
+++ b/test/core/bad_client/bad_client.cc
@@ -28,10 +28,10 @@
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/gpr/murmur_hash.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/endpoint_pair.h"
#include "src/core/lib/slice/slice_internal.h"
-#include "src/core/lib/support/murmur_hash.h"
-#include "src/core/lib/support/string.h"
#include "src/core/lib/surface/completion_queue.h"
#include "src/core/lib/surface/server.h"
diff --git a/test/core/bad_client/tests/large_metadata.cc b/test/core/bad_client/tests/large_metadata.cc
index 1ce0f28967..ff3e9eb932 100644
--- a/test/core/bad_client/tests/large_metadata.cc
+++ b/test/core/bad_client/tests/large_metadata.cc
@@ -22,7 +22,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/string_util.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/server.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/core/bad_ssl/bad_ssl_test.cc b/test/core/bad_ssl/bad_ssl_test.cc
index 0e74a62f19..8a7960b5ed 100644
--- a/test/core/bad_ssl/bad_ssl_test.cc
+++ b/test/core/bad_ssl/bad_ssl_test.cc
@@ -26,8 +26,8 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/subprocess.h>
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/channel/minimal_stack_is_minimal_test.cc b/test/core/channel/minimal_stack_is_minimal_test.cc
index 3495f603e4..f02c8180f2 100644
--- a/test/core/channel/minimal_stack_is_minimal_test.cc
+++ b/test/core/channel/minimal_stack_is_minimal_test.cc
@@ -35,7 +35,7 @@
#include <string.h>
#include "src/core/lib/channel/channel_stack_builder.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/surface/channel_stack_type.h"
#include "src/core/lib/transport/transport_impl.h"
diff --git a/test/core/client_channel/lb_policies_test.cc b/test/core/client_channel/lb_policies_test.cc
index 847ea0066b..716c63b9d0 100644
--- a/test/core/client_channel/lb_policies_test.cc
+++ b/test/core/client_channel/lb_policies_test.cc
@@ -30,7 +30,7 @@
#include "src/core/ext/filters/client_channel/lb_policy_registry.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/core/client_channel/resolvers/sockaddr_resolver_test.cc b/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
index 4d16a77924..07ee133ee3 100644
--- a/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
+++ b/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
@@ -63,8 +63,10 @@ static void test_succeeds(grpc_resolver_factory* factory, const char* string) {
grpc_resolver_next_locked(resolver, &on_res_arg.resolver_result,
on_resolution);
GRPC_RESOLVER_UNREF(resolver, "test_succeeds");
-
grpc_uri_destroy(uri);
+ /* Flush ExecCtx to avoid stack-use-after-scope on on_res_arg which is
+ * accessed in the closure on_resolution_cb */
+ grpc_core::ExecCtx::Get()->Flush();
}
static void test_fails(grpc_resolver_factory* factory, const char* string) {
diff --git a/test/core/compression/message_compress_test.cc b/test/core/compression/message_compress_test.cc
index 6ca07b70c4..b03ca4c4cb 100644
--- a/test/core/compression/message_compress_test.cc
+++ b/test/core/compression/message_compress_test.cc
@@ -25,8 +25,8 @@
#include <grpc/support/log.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/murmur_hash.h"
#include "src/core/lib/iomgr/exec_ctx.h"
-#include "src/core/lib/support/murmur_hash.h"
#include "test/core/util/slice_splitter.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/end2end/bad_server_response_test.cc b/test/core/end2end/bad_server_response_test.cc
index 93809ac37a..a8e5e291c8 100644
--- a/test/core/end2end/bad_server_response_test.cc
+++ b/test/core/end2end/bad_server_response_test.cc
@@ -31,10 +31,10 @@
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/end2end/cq_verifier.cc b/test/core/end2end/cq_verifier.cc
index 8686f4e7b7..7bf8ae0f6e 100644
--- a/test/core/end2end/cq_verifier.cc
+++ b/test/core/end2end/cq_verifier.cc
@@ -29,7 +29,7 @@
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/event_string.h"
#define ROOT_EXPECTATION 1000
diff --git a/test/core/end2end/dualstack_socket_test.cc b/test/core/end2end/dualstack_socket_test.cc
index 2ba1c17c2c..bb30547cd2 100644
--- a/test/core/end2end/dualstack_socket_test.cc
+++ b/test/core/end2end/dualstack_socket_test.cc
@@ -29,12 +29,12 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/iomgr/socket_utils_posix.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
@@ -43,14 +43,11 @@
static void* tag(intptr_t i) { return (void*)i; }
-static gpr_timespec ms_from_now(int ms) {
- return grpc_timeout_milliseconds_to_deadline(ms);
-}
-
static void drain_cq(grpc_completion_queue* cq) {
grpc_event ev;
do {
- ev = grpc_completion_queue_next(cq, ms_from_now(5000), nullptr);
+ ev = grpc_completion_queue_next(
+ cq, grpc_timeout_milliseconds_to_deadline(5000), nullptr);
} while (ev.type != GRPC_QUEUE_SHUTDOWN);
}
@@ -165,11 +162,11 @@ void test_connect(const char* server_host, const char* client_host, int port,
if (expect_ok) {
/* Normal deadline, shouldn't be reached. */
- deadline = ms_from_now(60000);
+ deadline = grpc_timeout_milliseconds_to_deadline(60000);
} else {
/* Give up faster when failure is expected.
BUG: Setting this to 1000 reveals a memory leak (b/18608927). */
- deadline = ms_from_now(1500);
+ deadline = grpc_timeout_milliseconds_to_deadline(3000);
}
/* Send a trivial request. */
diff --git a/test/core/end2end/fixtures/h2_full+trace.cc b/test/core/end2end/fixtures/h2_full+trace.cc
index a49de96009..7104fbc581 100644
--- a/test/core/end2end/fixtures/h2_full+trace.cc
+++ b/test/core/end2end/fixtures/h2_full+trace.cc
@@ -35,7 +35,7 @@
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/connected_channel.h"
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_http_proxy.cc b/test/core/end2end/fixtures/h2_http_proxy.cc
index 099367d91b..e8e81f0930 100644
--- a/test/core/end2end/fixtures/h2_http_proxy.cc
+++ b/test/core/end2end/fixtures/h2_http_proxy.cc
@@ -31,7 +31,7 @@
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/connected_channel.h"
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/end2end/fixtures/http_proxy_fixture.h"
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.cc b/test/core/end2end/fixtures/h2_sockpair+trace.cc
index 9807e929af..236780b8d3 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.cc
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.cc
@@ -36,9 +36,9 @@
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/endpoint_pair.h"
#include "src/core/lib/iomgr/iomgr.h"
-#include "src/core/lib/support/env.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/completion_queue.h"
#include "src/core/lib/surface/server.h"
diff --git a/test/core/end2end/fixtures/h2_ssl.cc b/test/core/end2end/fixtures/h2_ssl.cc
index 9a0680c40e..8c5c8a2f3f 100644
--- a/test/core/end2end/fixtures/h2_ssl.cc
+++ b/test/core/end2end/fixtures/h2_ssl.cc
@@ -26,10 +26,10 @@
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.cc b/test/core/end2end/fixtures/h2_ssl_proxy.cc
index 5ddbdefc8c..3f0646cf0f 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.cc
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.cc
@@ -26,10 +26,10 @@
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/end2end/fixtures/proxy.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_uds.cc b/test/core/end2end/fixtures/h2_uds.cc
index 28f0a50e15..1944dd84a3 100644
--- a/test/core/end2end/fixtures/h2_uds.cc
+++ b/test/core/end2end/fixtures/h2_uds.cc
@@ -33,7 +33,7 @@
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/connected_channel.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/http_proxy_fixture.cc b/test/core/end2end/fixtures/http_proxy_fixture.cc
index 137f7c9fa3..8ec97df3e4 100644
--- a/test/core/end2end/fixtures/http_proxy_fixture.cc
+++ b/test/core/end2end/fixtures/http_proxy_fixture.cc
@@ -34,6 +34,7 @@
#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/http/parser.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
@@ -49,7 +50,6 @@
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/slice/b64.h"
#include "src/core/lib/slice/slice_internal.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/port.h"
struct grpc_end2end_http_proxy {
diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc
index 967a6d560f..14c155502a 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.cc
+++ b/test/core/end2end/fuzzers/api_fuzzer.cc
@@ -28,13 +28,13 @@
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/executor.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/tcp_client.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/iomgr/timer_manager.h"
#include "src/core/lib/slice/slice_internal.h"
-#include "src/core/lib/support/env.h"
#include "src/core/lib/surface/server.h"
#include "src/core/lib/transport/metadata.h"
#include "test/core/end2end/data/ssl_test_data.h"
@@ -280,7 +280,12 @@ static grpc_channel_credentials* read_ssl_channel_creds(input_stream* inp) {
return creds;
}
-static grpc_call_credentials* read_call_creds(input_stream* inp) {
+static grpc_call_credentials* read_call_creds(input_stream* inp, int depth) {
+ if (depth > 64) {
+ // prevent creating infinitely deep call creds
+ end(inp);
+ return nullptr;
+ }
switch (next_byte(inp)) {
default:
end(inp);
@@ -288,8 +293,8 @@ static grpc_call_credentials* read_call_creds(input_stream* inp) {
case 0:
return nullptr;
case 1: {
- grpc_call_credentials* c1 = read_call_creds(inp);
- grpc_call_credentials* c2 = read_call_creds(inp);
+ grpc_call_credentials* c1 = read_call_creds(inp, depth + 1);
+ grpc_call_credentials* c2 = read_call_creds(inp, depth + 1);
if (c1 != nullptr && c2 != nullptr) {
grpc_call_credentials* out =
grpc_composite_call_credentials_create(c1, c2, nullptr);
@@ -338,7 +343,7 @@ static grpc_channel_credentials* read_channel_creds(input_stream* inp) {
break;
case 1: {
grpc_channel_credentials* c1 = read_channel_creds(inp);
- grpc_call_credentials* c2 = read_call_creds(inp);
+ grpc_call_credentials* c2 = read_call_creds(inp, 0);
if (c1 != nullptr && c2 != nullptr) {
grpc_channel_credentials* out =
grpc_composite_channel_credentials_create(c1, c2, nullptr);
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/fuzz-input-d2ab5 b/test/core/end2end/fuzzers/api_fuzzer_corpus/fuzz-input-d2ab5
new file mode 100644
index 0000000000..1745798b68
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/fuzz-input-d2ab5
Binary files differ
diff --git a/test/core/end2end/h2_ssl_cert_test.cc b/test/core/end2end/h2_ssl_cert_test.cc
index d50d1f4d81..3383d6d5d1 100644
--- a/test/core/end2end/h2_ssl_cert_test.cc
+++ b/test/core/end2end/h2_ssl_cert_test.cc
@@ -26,10 +26,10 @@
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/tests/bad_hostname.cc b/test/core/end2end/tests/bad_hostname.cc
index 97ef62b5e3..85e9ba1307 100644
--- a/test/core/end2end/tests/bad_hostname.cc
+++ b/test/core/end2end/tests/bad_hostname.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/call_creds.cc b/test/core/end2end/tests/call_creds.cc
index e1c868232c..c5ea101c53 100644
--- a/test/core/end2end/tests/call_creds.cc
+++ b/test/core/end2end/tests/call_creds.cc
@@ -27,8 +27,8 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/security/credentials/credentials.h"
-#include "src/core/lib/support/string.h"
#include "test/core/end2end/cq_verifier.h"
static const char iam_token[] = "token";
diff --git a/test/core/end2end/tests/cancel_with_status.cc b/test/core/end2end/tests/cancel_with_status.cc
index c867751d53..7937fd161f 100644
--- a/test/core/end2end/tests/cancel_with_status.cc
+++ b/test/core/end2end/tests/cancel_with_status.cc
@@ -28,7 +28,7 @@
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/default_host.cc b/test/core/end2end/tests/default_host.cc
index 85f92b0ab0..7c94420540 100644
--- a/test/core/end2end/tests/default_host.cc
+++ b/test/core/end2end/tests/default_host.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/empty_batch.cc b/test/core/end2end/tests/empty_batch.cc
index b249c141de..c41e65ddd2 100644
--- a/test/core/end2end/tests/empty_batch.cc
+++ b/test/core/end2end/tests/empty_batch.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/high_initial_seqno.cc b/test/core/end2end/tests/high_initial_seqno.cc
index d390a954e5..d4d4f5a817 100644
--- a/test/core/end2end/tests/high_initial_seqno.cc
+++ b/test/core/end2end/tests/high_initial_seqno.cc
@@ -29,7 +29,7 @@
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/hpack_size.cc b/test/core/end2end/tests/hpack_size.cc
index 7ac5fefa22..0d6ec01e36 100644
--- a/test/core/end2end/tests/hpack_size.cc
+++ b/test/core/end2end/tests/hpack_size.cc
@@ -29,7 +29,7 @@
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/idempotent_request.cc b/test/core/end2end/tests/idempotent_request.cc
index e39975382a..7487e4d83d 100644
--- a/test/core/end2end/tests/idempotent_request.cc
+++ b/test/core/end2end/tests/idempotent_request.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/keepalive_timeout.cc b/test/core/end2end/tests/keepalive_timeout.cc
index 822565510f..6482b86825 100644
--- a/test/core/end2end/tests/keepalive_timeout.cc
+++ b/test/core/end2end/tests/keepalive_timeout.cc
@@ -28,8 +28,8 @@
#include <grpc/support/useful.h>
#include "src/core/ext/transport/chttp2/transport/frame_ping.h"
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/exec_ctx.h"
-#include "src/core/lib/support/env.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/negative_deadline.cc b/test/core/end2end/tests/negative_deadline.cc
index b793964b48..b752bf9482 100644
--- a/test/core/end2end/tests/negative_deadline.cc
+++ b/test/core/end2end/tests/negative_deadline.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/no_logging.cc b/test/core/end2end/tests/no_logging.cc
index bf8651221a..d89918bd3e 100644
--- a/test/core/end2end/tests/no_logging.cc
+++ b/test/core/end2end/tests/no_logging.cc
@@ -28,8 +28,8 @@
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/support/string.h"
#include "test/core/end2end/cq_verifier.h"
enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/proxy_auth.cc b/test/core/end2end/tests/proxy_auth.cc
index e4b91ab879..495151b592 100644
--- a/test/core/end2end/tests/proxy_auth.cc
+++ b/test/core/end2end/tests/proxy_auth.cc
@@ -32,7 +32,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/registered_call.cc b/test/core/end2end/tests/registered_call.cc
index 440d817cf1..cefa89db4d 100644
--- a/test/core/end2end/tests/registered_call.cc
+++ b/test/core/end2end/tests/registered_call.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/server_finishes_request.cc b/test/core/end2end/tests/server_finishes_request.cc
index 46b874b569..743b3aeb91 100644
--- a/test/core/end2end/tests/server_finishes_request.cc
+++ b/test/core/end2end/tests/server_finishes_request.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/simple_request.cc b/test/core/end2end/tests/simple_request.cc
index 7eb7467981..ae93f79c9d 100644
--- a/test/core/end2end/tests/simple_request.cc
+++ b/test/core/end2end/tests/simple_request.cc
@@ -28,7 +28,7 @@
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
#include "src/core/lib/debug/stats.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/fling/fling_stream_test.cc b/test/core/fling/fling_stream_test.cc
index b476f2e128..b5a5ce816e 100644
--- a/test/core/fling/fling_stream_test.cc
+++ b/test/core/fling/fling_stream_test.cc
@@ -23,7 +23,7 @@
#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
#include <grpc/support/subprocess.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
int main(int argc, char** argv) {
diff --git a/test/core/fling/fling_test.cc b/test/core/fling/fling_test.cc
index 0e8b3c1028..3792e45c42 100644
--- a/test/core/fling/fling_test.cc
+++ b/test/core/fling/fling_test.cc
@@ -23,7 +23,7 @@
#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
#include <grpc/support/subprocess.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
int main(int argc, const char** argv) {
diff --git a/test/core/gpr++/BUILD b/test/core/gpr++/BUILD
new file mode 100644
index 0000000000..93324a378b
--- /dev/null
+++ b/test/core/gpr++/BUILD
@@ -0,0 +1,95 @@
+# Copyright 2016 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary", "grpc_package")
+
+licenses(["notice"]) # Apache v2
+
+grpc_package(name = "test/core/gpr++")
+
+grpc_cc_test(
+ name = "manual_constructor_test",
+ srcs = ["manual_constructor_test.cc"],
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//test/core/util:gpr_test_util",
+ ],
+)
+
+grpc_cc_test(
+ name = "memory_test",
+ srcs = ["memory_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
+ language = "C++",
+ deps = [
+ "//:grpc",
+ "//test/core/util:gpr_test_util",
+ ],
+)
+
+grpc_cc_test(
+ name = "inlined_vector_test",
+ srcs = ["inlined_vector_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
+ language = "C++",
+ deps = [
+ "//:grpc",
+ "//test/core/util:gpr_test_util",
+ ],
+)
+
+grpc_cc_test(
+ name = "orphanable_test",
+ srcs = ["orphanable_test.cc"],
+ language = "C++",
+ deps = [
+ "//:orphanable",
+ "//test/core/util:gpr_test_util",
+ ],
+ external_deps = [
+ "gtest",
+ ],
+)
+
+grpc_cc_test(
+ name = "ref_counted_test",
+ srcs = ["ref_counted_test.cc"],
+ language = "C++",
+ deps = [
+ "//:ref_counted",
+ "//test/core/util:gpr_test_util",
+ ],
+ external_deps = [
+ "gtest",
+ ],
+)
+
+grpc_cc_test(
+ name = "ref_counted_ptr_test",
+ srcs = ["ref_counted_ptr_test.cc"],
+ language = "C++",
+ deps = [
+ "//:ref_counted",
+ "//:ref_counted_ptr",
+ "//test/core/util:gpr_test_util",
+ ],
+ external_deps = [
+ "gtest",
+ ],
+)
diff --git a/test/core/support/vector_test.cc b/test/core/gpr++/inlined_vector_test.cc
index 82607a1b26..09d5453a56 100644
--- a/test/core/support/vector_test.cc
+++ b/test/core/gpr++/inlined_vector_test.cc
@@ -16,9 +16,9 @@
*
*/
-#include "src/core/lib/support/vector.h"
+#include "src/core/lib/gpr++/inlined_vector.h"
#include <gtest/gtest.h>
-#include "src/core/lib/support/memory.h"
+#include "src/core/lib/gpr++/memory.h"
#include "test/core/util/test_config.h"
namespace grpc_core {
diff --git a/test/core/support/manual_constructor_test.cc b/test/core/gpr++/manual_constructor_test.cc
index 714f8b21a0..e049b793f6 100644
--- a/test/core/support/manual_constructor_test.cc
+++ b/test/core/gpr++/manual_constructor_test.cc
@@ -18,7 +18,7 @@
/* Test of gpr synchronization support. */
-#include "src/core/lib/support/manual_constructor.h"
+#include "src/core/lib/gpr++/manual_constructor.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
@@ -26,7 +26,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
-#include "src/core/lib/support/abstract.h"
+#include "src/core/lib/gpr++/abstract.h"
#include "test/core/util/test_config.h"
class A {
diff --git a/test/core/support/memory_test.cc b/test/core/gpr++/memory_test.cc
index 79ab631a78..3553e119e3 100644
--- a/test/core/support/memory_test.cc
+++ b/test/core/gpr++/memory_test.cc
@@ -16,7 +16,7 @@
*
*/
-#include "src/core/lib/support/memory.h"
+#include "src/core/lib/gpr++/memory.h"
#include <gtest/gtest.h>
#include "test/core/util/test_config.h"
diff --git a/test/core/gpr++/orphanable_test.cc b/test/core/gpr++/orphanable_test.cc
new file mode 100644
index 0000000000..4513d25da1
--- /dev/null
+++ b/test/core/gpr++/orphanable_test.cc
@@ -0,0 +1,114 @@
+/*
+ *
+ * Copyright 2017 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "src/core/lib/gpr++/orphanable.h"
+
+#include <gtest/gtest.h>
+
+#include "src/core/lib/gpr++/memory.h"
+#include "test/core/util/test_config.h"
+
+namespace grpc_core {
+namespace testing {
+namespace {
+
+class Foo : public Orphanable {
+ public:
+ Foo() : Foo(0) {}
+ explicit Foo(int value) : value_(value) {}
+ void Orphan() override { Delete(this); }
+ int value() const { return value_; }
+
+ private:
+ int value_;
+};
+
+TEST(Orphanable, Basic) {
+ Foo* foo = New<Foo>();
+ foo->Orphan();
+}
+
+TEST(OrphanablePtr, Basic) {
+ OrphanablePtr<Foo> foo(New<Foo>());
+ EXPECT_EQ(0, foo->value());
+}
+
+TEST(MakeOrphanable, DefaultConstructor) {
+ auto foo = MakeOrphanable<Foo>();
+ EXPECT_EQ(0, foo->value());
+}
+
+TEST(MakeOrphanable, WithParameters) {
+ auto foo = MakeOrphanable<Foo>(5);
+ EXPECT_EQ(5, foo->value());
+}
+
+class Bar : public InternallyRefCounted {
+ public:
+ Bar() : Bar(0) {}
+ explicit Bar(int value) : value_(value) {}
+ void Orphan() override { Unref(); }
+ int value() const { return value_; }
+
+ void StartWork() { Ref(); }
+ void FinishWork() { Unref(); }
+
+ private:
+ int value_;
+};
+
+TEST(OrphanablePtr, InternallyRefCounted) {
+ auto bar = MakeOrphanable<Bar>();
+ bar->StartWork();
+ bar->FinishWork();
+}
+
+// Note: We use DebugOnlyTraceFlag instead of TraceFlag to ensure that
+// things build properly in both debug and non-debug cases.
+DebugOnlyTraceFlag baz_tracer(true, "baz");
+
+class Baz : public InternallyRefCountedWithTracing {
+ public:
+ Baz() : Baz(0) {}
+ explicit Baz(int value)
+ : InternallyRefCountedWithTracing(&baz_tracer), value_(value) {}
+ void Orphan() override { Unref(); }
+ int value() const { return value_; }
+
+ void StartWork() { Ref(DEBUG_LOCATION, "work"); }
+ void FinishWork() { Unref(DEBUG_LOCATION, "work"); }
+
+ private:
+ int value_;
+};
+
+TEST(OrphanablePtr, InternallyRefCountedWithTracing) {
+ auto baz = MakeOrphanable<Baz>();
+ baz->StartWork();
+ baz->FinishWork();
+}
+
+} // namespace
+} // namespace testing
+} // namespace grpc_core
+
+int main(int argc, char** argv) {
+ grpc_test_init(argc, argv);
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/test/core/support/ref_counted_ptr_test.cc b/test/core/gpr++/ref_counted_ptr_test.cc
index 1830edc4e5..e897b2859c 100644
--- a/test/core/support/ref_counted_ptr_test.cc
+++ b/test/core/gpr++/ref_counted_ptr_test.cc
@@ -16,14 +16,14 @@
*
*/
-#include "src/core/lib/support/ref_counted_ptr.h"
+#include "src/core/lib/gpr++/ref_counted_ptr.h"
#include <gtest/gtest.h>
#include <grpc/support/log.h>
-#include "src/core/lib/support/memory.h"
-#include "src/core/lib/support/ref_counted.h"
+#include "src/core/lib/gpr++/memory.h"
+#include "src/core/lib/gpr++/ref_counted.h"
#include "test/core/util/test_config.h"
namespace grpc_core {
@@ -138,6 +138,19 @@ TEST(RefCountedPtr, DerefernceOperators) {
foo_ref.value();
}
+TEST(RefCountedPtr, EqualityOperators) {
+ RefCountedPtr<Foo> foo(New<Foo>());
+ RefCountedPtr<Foo> bar = foo;
+ RefCountedPtr<Foo> empty;
+ // Test equality between RefCountedPtrs.
+ EXPECT_EQ(foo, bar);
+ EXPECT_NE(foo, empty);
+ // Test equality with bare pointers.
+ EXPECT_EQ(foo, foo.get());
+ EXPECT_EQ(empty, nullptr);
+ EXPECT_NE(foo, nullptr);
+}
+
TEST(MakeRefCounted, NoArgs) {
RefCountedPtr<Foo> foo = MakeRefCounted<Foo>();
EXPECT_EQ(0, foo->value());
diff --git a/test/core/support/ref_counted_test.cc b/test/core/gpr++/ref_counted_test.cc
index be9b6ff7c2..568ec51c64 100644
--- a/test/core/support/ref_counted_test.cc
+++ b/test/core/gpr++/ref_counted_test.cc
@@ -16,11 +16,11 @@
*
*/
-#include "src/core/lib/support/ref_counted.h"
+#include "src/core/lib/gpr++/ref_counted.h"
#include <gtest/gtest.h>
-#include "src/core/lib/support/memory.h"
+#include "src/core/lib/gpr++/memory.h"
#include "test/core/util/test_config.h"
namespace grpc_core {
@@ -44,7 +44,9 @@ TEST(RefCounted, ExtraRef) {
foo->Unref();
}
-TraceFlag foo_tracer(true, "foo");
+// Note: We use DebugOnlyTraceFlag instead of TraceFlag to ensure that
+// things build properly in both debug and non-debug cases.
+DebugOnlyTraceFlag foo_tracer(true, "foo");
class FooWithTracing : public RefCountedWithTracing {
public:
diff --git a/test/core/support/BUILD b/test/core/gpr/BUILD
index 4372b49b54..1be1036d04 100644
--- a/test/core/support/BUILD
+++ b/test/core/gpr/BUILD
@@ -16,7 +16,7 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c
licenses(["notice"]) # Apache v2
-grpc_package(name = "test/core/support")
+grpc_package(name = "test/core/gpr")
grpc_cc_test(
name = "alloc_test",
@@ -119,16 +119,6 @@ grpc_cc_test(
)
grpc_cc_test(
- name = "manual_constructor_test",
- srcs = ["manual_constructor_test.cc"],
- language = "C++",
- deps = [
- "//:gpr",
- "//test/core/util:gpr_test_util",
- ],
-)
-
-grpc_cc_test(
name = "spinlock_test",
srcs = ["spinlock_test.cc"],
language = "C++",
@@ -187,56 +177,3 @@ grpc_cc_test(
"//test/core/util:gpr_test_util",
],
)
-
-grpc_cc_test(
- name = "memory_test",
- srcs = ["memory_test.cc"],
- external_deps = [
- "gtest",
- ],
- language = "C++",
- deps = [
- "//:grpc",
- "//test/core/util:gpr_test_util",
- ],
-)
-
-grpc_cc_test(
- name = "vector_test",
- srcs = ["vector_test.cc"],
- external_deps = [
- "gtest",
- ],
- language = "C++",
- deps = [
- "//:grpc",
- "//test/core/util:gpr_test_util",
- ],
-)
-
-grpc_cc_test(
- name = "ref_counted_test",
- srcs = ["ref_counted_test.cc"],
- language = "C++",
- deps = [
- "//:ref_counted",
- "//test/core/util:gpr_test_util",
- ],
- external_deps = [
- "gtest",
- ],
-)
-
-grpc_cc_test(
- name = "ref_counted_ptr_test",
- srcs = ["ref_counted_ptr_test.cc"],
- language = "C++",
- deps = [
- "//:ref_counted",
- "//:ref_counted_ptr",
- "//test/core/util:gpr_test_util",
- ],
- external_deps = [
- "gtest",
- ],
-)
diff --git a/test/core/support/alloc_test.cc b/test/core/gpr/alloc_test.cc
index 6074c6e6e7..6074c6e6e7 100644
--- a/test/core/support/alloc_test.cc
+++ b/test/core/gpr/alloc_test.cc
diff --git a/test/core/support/arena_test.cc b/test/core/gpr/arena_test.cc
index ada0f43854..59ea04c0ed 100644
--- a/test/core/support/arena_test.cc
+++ b/test/core/gpr/arena_test.cc
@@ -16,7 +16,7 @@
*
*/
-#include "src/core/lib/support/arena.h"
+#include "src/core/lib/gpr/arena.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
@@ -27,7 +27,7 @@
#include <inttypes.h>
#include <string.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
static void test_noop(void) { gpr_arena_destroy(gpr_arena_create(1)); }
diff --git a/test/core/support/avl_test.cc b/test/core/gpr/avl_test.cc
index 345db557b9..345db557b9 100644
--- a/test/core/support/avl_test.cc
+++ b/test/core/gpr/avl_test.cc
diff --git a/test/core/support/cmdline_test.cc b/test/core/gpr/cmdline_test.cc
index 172efda8a0..172efda8a0 100644
--- a/test/core/support/cmdline_test.cc
+++ b/test/core/gpr/cmdline_test.cc
diff --git a/test/core/support/cpu_test.cc b/test/core/gpr/cpu_test.cc
index 87cdc0fb50..87cdc0fb50 100644
--- a/test/core/support/cpu_test.cc
+++ b/test/core/gpr/cpu_test.cc
diff --git a/test/core/support/env_test.cc b/test/core/gpr/env_test.cc
index b12c04d06f..3f4b493239 100644
--- a/test/core/support/env_test.cc
+++ b/test/core/gpr/env_test.cc
@@ -22,8 +22,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/support/host_port_test.cc b/test/core/gpr/host_port_test.cc
index 42dd56524f..42dd56524f 100644
--- a/test/core/support/host_port_test.cc
+++ b/test/core/gpr/host_port_test.cc
diff --git a/test/core/support/log_test.cc b/test/core/gpr/log_test.cc
index 7dba35c13e..839ff0aef9 100644
--- a/test/core/support/log_test.cc
+++ b/test/core/gpr/log_test.cc
@@ -21,7 +21,7 @@
#include <stdbool.h>
#include <string.h>
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "test/core/util/test_config.h"
static bool log_func_reached = false;
diff --git a/test/core/support/mpscq_test.cc b/test/core/gpr/mpscq_test.cc
index 1b83f7d5be..5a8177543c 100644
--- a/test/core/support/mpscq_test.cc
+++ b/test/core/gpr/mpscq_test.cc
@@ -16,7 +16,7 @@
*
*/
-#include "src/core/lib/support/mpscq.h"
+#include "src/core/lib/gpr/mpscq.h"
#include <stdlib.h>
diff --git a/test/core/support/murmur_hash_test.cc b/test/core/gpr/murmur_hash_test.cc
index 461c728951..d920dd3f95 100644
--- a/test/core/support/murmur_hash_test.cc
+++ b/test/core/gpr/murmur_hash_test.cc
@@ -16,7 +16,7 @@
*
*/
-#include "src/core/lib/support/murmur_hash.h"
+#include "src/core/lib/gpr/murmur_hash.h"
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include "test/core/util/test_config.h"
diff --git a/test/core/support/spinlock_test.cc b/test/core/gpr/spinlock_test.cc
index ea0dbbf7c6..77e3dfbede 100644
--- a/test/core/support/spinlock_test.cc
+++ b/test/core/gpr/spinlock_test.cc
@@ -18,7 +18,7 @@
/* Test of gpr synchronization support. */
-#include "src/core/lib/support/spinlock.h"
+#include "src/core/lib/gpr/spinlock.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
diff --git a/test/core/support/string_test.cc b/test/core/gpr/string_test.cc
index fd7f7cde59..57068eb2c9 100644
--- a/test/core/support/string_test.cc
+++ b/test/core/gpr/string_test.cc
@@ -16,7 +16,7 @@
*
*/
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include <limits.h>
#include <stddef.h>
diff --git a/test/core/support/sync_test.cc b/test/core/gpr/sync_test.cc
index 768f96d093..768f96d093 100644
--- a/test/core/support/sync_test.cc
+++ b/test/core/gpr/sync_test.cc
diff --git a/test/core/support/thd_test.cc b/test/core/gpr/thd_test.cc
index b755bf18f3..b755bf18f3 100644
--- a/test/core/support/thd_test.cc
+++ b/test/core/gpr/thd_test.cc
diff --git a/test/core/support/time_test.cc b/test/core/gpr/time_test.cc
index b2b4dce58e..b2b4dce58e 100644
--- a/test/core/support/time_test.cc
+++ b/test/core/gpr/time_test.cc
diff --git a/test/core/support/tls_test.cc b/test/core/gpr/tls_test.cc
index 743b10f090..743b10f090 100644
--- a/test/core/support/tls_test.cc
+++ b/test/core/gpr/tls_test.cc
diff --git a/test/core/support/useful_test.cc b/test/core/gpr/useful_test.cc
index 2f86010d77..2f86010d77 100644
--- a/test/core/support/useful_test.cc
+++ b/test/core/gpr/useful_test.cc
diff --git a/test/core/iomgr/ev_epollsig_linux_test.cc b/test/core/iomgr/ev_epollsig_linux_test.cc
index e767e01f21..262470300e 100644
--- a/test/core/iomgr/ev_epollsig_linux_test.cc
+++ b/test/core/iomgr/ev_epollsig_linux_test.cc
@@ -18,7 +18,7 @@
#include "src/core/lib/iomgr/port.h"
/* This test only relevant on linux systems where epoll() is available */
-#ifdef GRPC_LINUX_EPOLL
+#ifdef GRPC_LINUX_EPOLL_CREATE1
#include "src/core/lib/iomgr/ev_epollsig_linux.h"
#include "src/core/lib/iomgr/ev_posix.h"
@@ -319,6 +319,6 @@ int main(int argc, char** argv) {
grpc_shutdown();
return 0;
}
-#else /* defined(GRPC_LINUX_EPOLL) */
+#else /* defined(GRPC_LINUX_EPOLL_CREATE1) */
int main(int argc, char** argv) { return 0; }
-#endif /* !defined(GRPC_LINUX_EPOLL) */
+#endif /* !defined(GRPC_LINUX_EPOLL_CREATE1) */
diff --git a/test/core/iomgr/load_file_test.cc b/test/core/iomgr/load_file_test.cc
index 797d0ef1a4..38c8710535 100644
--- a/test/core/iomgr/load_file_test.cc
+++ b/test/core/iomgr/load_file_test.cc
@@ -24,9 +24,9 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/iomgr/load_file.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "test/core/util/test_config.h"
#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/iomgr/pollset_set_test.cc b/test/core/iomgr/pollset_set_test.cc
index f27079134b..7d2f59bed4 100644
--- a/test/core/iomgr/pollset_set_test.cc
+++ b/test/core/iomgr/pollset_set_test.cc
@@ -18,7 +18,7 @@
#include "src/core/lib/iomgr/port.h"
/* This test only relevant on linux systems where epoll is available */
-#ifdef GRPC_LINUX_EPOLL
+#ifdef GRPC_LINUX_EPOLL_CREATE1
#include <errno.h>
#include <string.h>
@@ -443,6 +443,6 @@ int main(int argc, char** argv) {
grpc_shutdown();
return 0;
}
-#else /* defined(GRPC_LINUX_EPOLL) */
+#else /* defined(GRPC_LINUX_EPOLL_CREATE1) */
int main(int argc, char** argv) { return 0; }
-#endif /* !defined(GRPC_LINUX_EPOLL) */
+#endif /* !defined(GRPC_LINUX_EPOLL_CREATE1) */
diff --git a/test/core/iomgr/wakeup_fd_cv_test.cc b/test/core/iomgr/wakeup_fd_cv_test.cc
index d4e05bd7ef..c092a8f3bf 100644
--- a/test/core/iomgr/wakeup_fd_cv_test.cc
+++ b/test/core/iomgr/wakeup_fd_cv_test.cc
@@ -27,9 +27,9 @@
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/iomgr_posix.h"
-#include "src/core/lib/support/env.h"
typedef struct poll_args {
struct pollfd* fds;
diff --git a/test/core/json/json_test.cc b/test/core/json/json_test.cc
index 18b9c55ee7..902f1cd90e 100644
--- a/test/core/json/json_test.cc
+++ b/test/core/json/json_test.cc
@@ -22,8 +22,8 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/json/json.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/memory_usage/client.cc b/test/core/memory_usage/client.cc
index eb90067970..ca841434aa 100644
--- a/test/core/memory_usage/client.cc
+++ b/test/core/memory_usage/client.cc
@@ -28,8 +28,8 @@
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/memory_counters.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/memory_usage/memory_usage_test.cc b/test/core/memory_usage/memory_usage_test.cc
index 58e31c9531..fb6d290130 100644
--- a/test/core/memory_usage/memory_usage_test.cc
+++ b/test/core/memory_usage/memory_usage_test.cc
@@ -23,7 +23,7 @@
#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
#include <grpc/support/subprocess.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
int main(int argc, char** argv) {
diff --git a/test/core/security/auth_context_test.cc b/test/core/security/auth_context_test.cc
index d8e41326c0..58f0d8e1c2 100644
--- a/test/core/security/auth_context_test.cc
+++ b/test/core/security/auth_context_test.cc
@@ -18,8 +18,8 @@
#include <string.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/security/context/security_context.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/test_config.h"
#include <grpc/support/log.h>
diff --git a/test/core/security/credentials_test.cc b/test/core/security/credentials_test.cc
index ecc61928f5..90310469aa 100644
--- a/test/core/security/credentials_test.cc
+++ b/test/core/security/credentials_test.cc
@@ -31,6 +31,9 @@
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/http/httpcli.h"
#include "src/core/lib/security/credentials/composite/composite_credentials.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
@@ -38,9 +41,6 @@
#include "src/core/lib/security/credentials/jwt/jwt_credentials.h"
#include "src/core/lib/security/credentials/oauth2/oauth2_credentials.h"
#include "src/core/lib/security/transport/auth_filters.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "test/core/util/test_config.h"
/* -- Mock channel credentials. -- */
diff --git a/test/core/security/print_google_default_creds_token.cc b/test/core/security/print_google_default_creds_token.cc
index d71116d8f6..a90f997bda 100644
--- a/test/core/security/print_google_default_creds_token.cc
+++ b/test/core/security/print_google_default_creds_token.cc
@@ -27,10 +27,10 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/security/credentials/composite/composite_credentials.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
typedef struct {
gpr_mu* mu;
diff --git a/test/core/security/security_connector_test.cc b/test/core/security/security_connector_test.cc
index 9a68e176db..6eaef2bf49 100644
--- a/test/core/security/security_connector_test.cc
+++ b/test/core/security/security_connector_test.cc
@@ -25,12 +25,12 @@
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/context/security_context.h"
#include "src/core/lib/security/transport/security_connector.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "src/core/tsi/ssl_transport_security.h"
#include "src/core/tsi/transport_security.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/slice/percent_encoding_test.cc b/test/core/slice/percent_encoding_test.cc
index 11f3995f98..e8d04fcc83 100644
--- a/test/core/slice/percent_encoding_test.cc
+++ b/test/core/slice/percent_encoding_test.cc
@@ -22,8 +22,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/test_config.h"
#define TEST_VECTOR(raw, encoded, dict) \
diff --git a/test/core/slice/slice_string_helpers_test.cc b/test/core/slice/slice_string_helpers_test.cc
index f1d470461a..a443f17c69 100644
--- a/test/core/slice/slice_string_helpers_test.cc
+++ b/test/core/slice/slice_string_helpers_test.cc
@@ -29,7 +29,7 @@
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/surface/alarm_test.cc b/test/core/surface/alarm_test.cc
index 8950603b41..67fc6833a5 100644
--- a/test/core/surface/alarm_test.cc
+++ b/test/core/surface/alarm_test.cc
@@ -34,8 +34,15 @@ static void* create_test_tag(void) {
static void shutdown_and_destroy(grpc_completion_queue* cc) {
grpc_event ev;
grpc_completion_queue_shutdown(cc);
- ev =
- grpc_completion_queue_next(cc, gpr_inf_past(GPR_CLOCK_REALTIME), nullptr);
+ /* By the time grpc_completion_queue_shutdown runs, the cq's internal
+ pending event counter might not have been updated yet by a previous
+ cq_end_op_for_next (which releases a completed event first and only later
+ updates the pending event counter), so we can't rely on a no-polling
+ cq_next to never return GRPC_QUEUE_TIMEOUT. Using a deadline in the future
+ solves the problem. See https://github.com/grpc/grpc/issues/13693.
+ */
+ ev = grpc_completion_queue_next(cc, grpc_timeout_seconds_to_deadline(2),
+ nullptr);
GPR_ASSERT(ev.type == GRPC_QUEUE_SHUTDOWN);
grpc_completion_queue_destroy(cc);
}
diff --git a/test/core/transport/bdp_estimator_test.cc b/test/core/transport/bdp_estimator_test.cc
index 445823b628..3afcad7f17 100644
--- a/test/core/transport/bdp_estimator_test.cc
+++ b/test/core/transport/bdp_estimator_test.cc
@@ -25,8 +25,8 @@
#include <grpc/support/useful.h>
#include <gtest/gtest.h>
#include <limits.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/timer_manager.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/test_config.h"
extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type);
diff --git a/test/core/transport/chttp2/bin_decoder_test.cc b/test/core/transport/chttp2/bin_decoder_test.cc
index 6d70a4261b..283eebbacf 100644
--- a/test/core/transport/chttp2/bin_decoder_test.cc
+++ b/test/core/transport/chttp2/bin_decoder_test.cc
@@ -24,9 +24,9 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
static int all_ok = 1;
diff --git a/test/core/transport/chttp2/bin_encoder_test.cc b/test/core/transport/chttp2/bin_encoder_test.cc
index 44f5de8a50..bd62b0e479 100644
--- a/test/core/transport/chttp2/bin_encoder_test.cc
+++ b/test/core/transport/chttp2/bin_encoder_test.cc
@@ -26,8 +26,8 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
static int all_ok = 1;
diff --git a/test/core/transport/chttp2/hpack_encoder_test.cc b/test/core/transport/chttp2/hpack_encoder_test.cc
index d2dbd4a798..a40bd643ec 100644
--- a/test/core/transport/chttp2/hpack_encoder_test.cc
+++ b/test/core/transport/chttp2/hpack_encoder_test.cc
@@ -26,9 +26,9 @@
#include <grpc/support/string_util.h>
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
-#include "src/core/lib/support/string.h"
#include "src/core/lib/transport/metadata.h"
#include "test/core/util/parse_hexstring.h"
#include "test/core/util/slice_splitter.h"
diff --git a/test/core/transport/chttp2/hpack_table_test.cc b/test/core/transport/chttp2/hpack_table_test.cc
index 3f3cb2ee9d..e316cf63a0 100644
--- a/test/core/transport/chttp2/hpack_table_test.cc
+++ b/test/core/transport/chttp2/hpack_table_test.cc
@@ -26,7 +26,7 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/transport/metadata_test.cc b/test/core/transport/metadata_test.cc
index 5c52ae8d5f..7d943fd5c7 100644
--- a/test/core/transport/metadata_test.cc
+++ b/test/core/transport/metadata_test.cc
@@ -27,8 +27,8 @@
#include <grpc/support/string_util.h>
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_internal.h"
-#include "src/core/lib/support/string.h"
#include "src/core/lib/transport/static_metadata.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/pid_controller_test.cc b/test/core/transport/pid_controller_test.cc
index 081d03472a..1a499c2fb7 100644
--- a/test/core/transport/pid_controller_test.cc
+++ b/test/core/transport/pid_controller_test.cc
@@ -26,7 +26,7 @@
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
#include <gtest/gtest.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
namespace grpc_core {
diff --git a/test/core/transport/timeout_encoding_test.cc b/test/core/transport/timeout_encoding_test.cc
index 0930bc836d..e94be138dd 100644
--- a/test/core/transport/timeout_encoding_test.cc
+++ b/test/core/transport/timeout_encoding_test.cc
@@ -25,8 +25,8 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/murmur_hash.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/murmur_hash.h"
+#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/tsi/transport_security_test.cc b/test/core/tsi/transport_security_test.cc
index c788ad96ad..42e17df25d 100644
--- a/test/core/tsi/transport_security_test.cc
+++ b/test/core/tsi/transport_security_test.cc
@@ -27,7 +27,7 @@
#include <openssl/crypto.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/tsi/fake_transport_security.h"
#include "src/core/tsi/ssl_transport_security.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/util/test_config.cc b/test/core/util/test_config.cc
index 9ebb52d83e..6b410440c2 100644
--- a/test/core/util/test_config.cc
+++ b/test/core/util/test_config.cc
@@ -27,8 +27,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
int64_t g_fixture_slowdown_factor = 1;
int64_t g_poller_slowdown_factor = 1;
diff --git a/test/cpp/client/client_channel_stress_test.cc b/test/cpp/client/client_channel_stress_test.cc
index e829d5278b..80d1583333 100644
--- a/test/cpp/client/client_channel_stress_test.cc
+++ b/test/cpp/client/client_channel_stress_test.cc
@@ -19,6 +19,7 @@
#include <atomic>
#include <memory>
#include <mutex>
+#include <random>
#include <sstream>
#include <thread>
@@ -104,8 +105,8 @@ class BalancerServiceImpl : public LoadBalancer::Service {
for (size_t i = 0; i < num_drop_entry; ++i) {
random_backend_indices.push_back(-1);
}
- std::random_shuffle(random_backend_indices.begin(),
- random_backend_indices.end());
+ std::shuffle(random_backend_indices.begin(), random_backend_indices.end(),
+ std::mt19937(std::random_device()()));
// Build the response according to the random list generated above.
LoadBalanceResponse response;
for (int index : random_backend_indices) {
@@ -149,7 +150,8 @@ class ClientChannelStressTest {
addresses.emplace_back(AddressData{balancer_server.port_, true, ""});
}
}
- std::random_shuffle(addresses.begin(), addresses.end());
+ std::shuffle(addresses.begin(), addresses.end(),
+ std::mt19937(std::random_device()()));
SetNextResolution(addresses);
std::this_thread::sleep_for(wait_duration);
}
diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD
index fa77c30aca..8894c68b95 100644
--- a/test/cpp/end2end/BUILD
+++ b/test/cpp/end2end/BUILD
@@ -16,25 +16,31 @@ licenses(["notice"]) # Apache v2
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_cc_binary")
-grpc_package(name = "test/cpp/end2end", visibility = "public") # Allows external users to implement end2end tests.
+grpc_package(
+ name = "test/cpp/end2end",
+ visibility = "public",
+) # Allows external users to implement end2end tests.
grpc_cc_library(
name = "test_service_impl",
testonly = True,
srcs = ["test_service_impl.cc"],
hdrs = ["test_service_impl.h"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//src/proto/grpc/testing:echo_proto",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "async_end2end_test",
srcs = ["async_end2end_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -47,14 +53,17 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "client_crash_test",
srcs = ["client_crash_test.cc"],
+ data = [
+ ":client_crash_test_server",
+ ],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -66,18 +75,16 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- data = [
- ":client_crash_test_server",
- ],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_binary(
name = "client_crash_test_server",
testonly = True,
srcs = ["client_crash_test_server.cc"],
+ external_deps = [
+ "gflags",
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -89,16 +96,15 @@ grpc_cc_binary(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gflags",
- "gtest",
- ],
)
grpc_cc_library(
name = "end2end_test_lib",
- srcs = ["end2end_test.cc"],
testonly = True,
+ srcs = ["end2end_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
":test_service_impl",
"//:gpr",
@@ -111,40 +117,58 @@ grpc_cc_library(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "end2end_test",
deps = [
- ":end2end_test_lib"
+ ":end2end_test_lib",
],
)
grpc_cc_test(
- name = "filter_end2end_test",
- srcs = ["filter_end2end_test.cc"],
+ name = "exception_test",
+ srcs = ["exception_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
- "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//test/core/util:gpr_test_util",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
+)
+
+grpc_cc_test(
+ name = "filter_end2end_test",
+ srcs = ["filter_end2end_test.cc"],
external_deps = [
"gtest",
],
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//:grpc++",
+ "//src/proto/grpc/testing:echo_messages_proto",
+ "//src/proto/grpc/testing:echo_proto",
+ "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
+ "//test/core/util:gpr_test_util",
+ "//test/core/util:grpc_test_util",
+ "//test/cpp/util:test_util",
+ ],
)
grpc_cc_test(
name = "generic_end2end_test",
srcs = ["generic_end2end_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -156,14 +180,14 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "hybrid_end2end_test",
srcs = ["hybrid_end2end_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
":test_service_impl",
"//:gpr",
@@ -176,14 +200,15 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "mock_test",
srcs = ["mock_test.cc"],
+ external_deps = [
+ "gmock",
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -196,15 +221,14 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gmock",
- "gtest",
- ],
)
grpc_cc_test(
name = "client_lb_end2end_test",
srcs = ["client_lb_end2end_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
":test_service_impl",
"//:gpr",
@@ -217,37 +241,38 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "grpclb_end2end_test",
srcs = ["grpclb_end2end_test.cc"],
+ external_deps = [
+ "gmock",
+ "gtest",
+ ],
deps = [
":test_service_impl",
"//:gpr",
"//:grpc",
"//:grpc++",
+ "//:grpc_resolver_fake",
"//src/proto/grpc/lb/v1:load_balancer_proto",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
- "//:grpc_resolver_fake",
"//test/core/util:gpr_test_util",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gmock",
- "gtest",
- ],
)
grpc_cc_test(
name = "proto_server_reflection_test",
srcs = ["proto_server_reflection_test.cc"],
+ external_deps = [
+ "gtest",
+ "gflags",
+ ],
deps = [
":test_service_impl",
"//:gpr",
@@ -262,15 +287,14 @@ grpc_cc_test(
"//test/cpp/util:grpc++_proto_reflection_desc_db",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- "gflags",
- ],
)
grpc_cc_test(
name = "server_builder_plugin_test",
srcs = ["server_builder_plugin_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
":test_service_impl",
"//:gpr",
@@ -283,14 +307,17 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "server_crash_test",
srcs = ["server_crash_test.cc"],
+ data = [
+ ":server_crash_test_client",
+ ],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -302,18 +329,16 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
- data = [
- ":server_crash_test_client",
- ],
)
grpc_cc_binary(
name = "server_crash_test_client",
testonly = True,
srcs = ["server_crash_test_client.cc"],
+ external_deps = [
+ "gflags",
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -325,15 +350,14 @@ grpc_cc_binary(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gflags",
- "gtest",
- ],
)
grpc_cc_test(
name = "shutdown_test",
srcs = ["shutdown_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -345,14 +369,14 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "streaming_throughput_test",
srcs = ["streaming_throughput_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -364,14 +388,14 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_test(
name = "thread_stress_test",
srcs = ["thread_stress_test.cc"],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -383,7 +407,4 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_util",
],
- external_deps = [
- "gtest",
- ],
)
diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc
index 1ea087e706..44cd81a6a4 100644
--- a/test/cpp/end2end/async_end2end_test.cc
+++ b/test/cpp/end2end/async_end2end_test.cc
@@ -34,8 +34,8 @@
#include <grpc/support/time.h>
#include <grpc/support/tls.h>
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/port.h"
-#include "src/core/lib/support/env.h"
#include "src/proto/grpc/health/v1/health.grpc.pb.h"
#include "src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
diff --git a/test/cpp/end2end/client_lb_end2end_test.cc b/test/cpp/end2end/client_lb_end2end_test.cc
index c6e9577f0c..328ad86061 100644
--- a/test/cpp/end2end/client_lb_end2end_test.cc
+++ b/test/cpp/end2end/client_lb_end2end_test.cc
@@ -19,6 +19,7 @@
#include <algorithm>
#include <memory>
#include <mutex>
+#include <random>
#include <thread>
#include <grpc++/channel.h>
@@ -37,7 +38,7 @@
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include "src/core/ext/filters/client_channel/subchannel_index.h"
#include "src/core/lib/backoff/backoff.h"
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "test/core/util/port.h"
@@ -456,7 +457,8 @@ TEST_F(ClientLbEnd2endTest, PickFirstManyUpdates) {
grpc_subchannel_index_test_only_set_force_creation(force_creation);
gpr_log(GPR_INFO, "Force subchannel creation: %d", force_creation);
for (size_t i = 0; i < 1000; ++i) {
- std::random_shuffle(ports.begin(), ports.end());
+ std::shuffle(ports.begin(), ports.end(),
+ std::mt19937(std::random_device()()));
SetNextResolution(ports);
if (i % 10 == 0) CheckRpcSendOk();
}
@@ -621,7 +623,8 @@ TEST_F(ClientLbEnd2endTest, RoundRobinManyUpdates) {
ports.emplace_back(servers_[i]->port_);
}
for (size_t i = 0; i < 1000; ++i) {
- std::random_shuffle(ports.begin(), ports.end());
+ std::shuffle(ports.begin(), ports.end(),
+ std::mt19937(std::random_device()()));
SetNextResolution(ports);
if (i % 10 == 0) CheckRpcSendOk();
}
@@ -673,6 +676,42 @@ TEST_F(ClientLbEnd2endTest, RoundRobinReresolve) {
GPR_ASSERT(gpr_time_cmp(deadline, now) > 0);
}
+TEST_F(ClientLbEnd2endTest, RoundRobinSingleReconnect) {
+ const int kNumServers = 3;
+ StartServers(kNumServers);
+ const auto ports = GetServersPorts();
+ ResetStub(ports, "round_robin");
+ SetNextResolution(ports);
+ for (size_t i = 0; i < kNumServers; ++i) WaitForServer(i);
+ for (size_t i = 0; i < servers_.size(); ++i) {
+ CheckRpcSendOk();
+ EXPECT_EQ(1, servers_[i]->service_.request_count()) << "for backend #" << i;
+ }
+ // One request should have gone to each server.
+ for (size_t i = 0; i < servers_.size(); ++i) {
+ EXPECT_EQ(1, servers_[i]->service_.request_count());
+ }
+ const auto pre_death = servers_[0]->service_.request_count();
+ // Kill the first server.
+ servers_[0]->Shutdown(true);
+ // Client request still succeed. May need retrying if RR had returned a pick
+ // before noticing the change in the server's connectivity.
+ while (!SendRpc())
+ ; // Retry until success.
+ // Send a bunch of RPCs that should succeed.
+ for (int i = 0; i < 10 * kNumServers; ++i) CheckRpcSendOk();
+ const auto post_death = servers_[0]->service_.request_count();
+ // No requests have gone to the deceased server.
+ EXPECT_EQ(pre_death, post_death);
+ // Bring the first server back up.
+ servers_[0].reset(new ServerData(server_host_, ports[0]));
+ // Requests should start arriving at the first server either right away (if
+ // the server managed to start before the RR policy retried the subchannel) or
+ // after the subchannel retry delay otherwise (RR's subchannel retried before
+ // the server was fully back up).
+ WaitForServer(0);
+}
+
} // namespace
} // namespace testing
} // namespace grpc
diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc
index 4c8dfe0f40..e25de810f1 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -35,8 +35,8 @@
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/security/credentials/credentials.h"
-#include "src/core/lib/support/env.h"
#include "src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "test/core/util/port.h"
@@ -1609,7 +1609,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginKeyFailure) {
Status s = stub_->Echo(&context, request, &response);
EXPECT_FALSE(s.ok());
- EXPECT_EQ(s.error_code(), StatusCode::UNAUTHENTICATED);
+ EXPECT_EQ(s.error_code(), StatusCode::UNAVAILABLE);
}
TEST_P(SecureEnd2endTest, AuthMetadataPluginValueFailure) {
@@ -1626,7 +1626,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginValueFailure) {
Status s = stub_->Echo(&context, request, &response);
EXPECT_FALSE(s.ok());
- EXPECT_EQ(s.error_code(), StatusCode::UNAUTHENTICATED);
+ EXPECT_EQ(s.error_code(), StatusCode::UNAVAILABLE);
}
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginFailure) {
@@ -1644,7 +1644,7 @@ TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginFailure) {
Status s = stub_->Echo(&context, request, &response);
EXPECT_FALSE(s.ok());
- EXPECT_EQ(s.error_code(), StatusCode::UNAUTHENTICATED);
+ EXPECT_EQ(s.error_code(), StatusCode::UNAVAILABLE);
EXPECT_EQ(s.error_message(),
grpc::string("Getting metadata from plugin failed with error: ") +
kTestCredsPluginErrorMsg);
@@ -1705,7 +1705,7 @@ TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginFailure) {
Status s = stub_->Echo(&context, request, &response);
EXPECT_FALSE(s.ok());
- EXPECT_EQ(s.error_code(), StatusCode::UNAUTHENTICATED);
+ EXPECT_EQ(s.error_code(), StatusCode::UNAVAILABLE);
EXPECT_EQ(s.error_message(),
grpc::string("Getting metadata from plugin failed with error: ") +
kTestCredsPluginErrorMsg);
diff --git a/test/cpp/end2end/exception_test.cc b/test/cpp/end2end/exception_test.cc
new file mode 100644
index 0000000000..76272ad08a
--- /dev/null
+++ b/test/cpp/end2end/exception_test.cc
@@ -0,0 +1,119 @@
+/*
+ *
+ * Copyright 2017 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <exception>
+#include <memory>
+
+#include <grpc++/channel.h>
+#include <grpc++/client_context.h>
+#include <grpc++/server.h>
+#include <grpc++/server_builder.h>
+#include <grpc++/server_context.h>
+#include <grpc/impl/codegen/port_platform.h>
+
+#include "src/proto/grpc/testing/echo.grpc.pb.h"
+#include "test/core/util/test_config.h"
+
+#include <gtest/gtest.h>
+
+namespace grpc {
+namespace testing {
+
+const char* kErrorMessage = "This service caused an exception";
+
+#if GRPC_ALLOW_EXCEPTIONS
+class ExceptingServiceImpl : public ::grpc::testing::EchoTestService::Service {
+ public:
+ Status Echo(ServerContext* server_context, const EchoRequest* request,
+ EchoResponse* response) override {
+ throw - 1;
+ }
+ Status RequestStream(ServerContext* context,
+ ServerReader<EchoRequest>* reader,
+ EchoResponse* response) override {
+ throw ServiceException();
+ }
+
+ private:
+ class ServiceException final : public std::exception {
+ public:
+ ServiceException() {}
+
+ private:
+ const char* what() const noexcept override { return kErrorMessage; }
+ };
+};
+
+class ExceptionTest : public ::testing::Test {
+ protected:
+ ExceptionTest() {}
+
+ void SetUp() override {
+ ServerBuilder builder;
+ builder.RegisterService(&service_);
+ server_ = builder.BuildAndStart();
+ }
+
+ void TearDown() override { server_->Shutdown(); }
+
+ void ResetStub() {
+ channel_ = server_->InProcessChannel(ChannelArguments());
+ stub_ = grpc::testing::EchoTestService::NewStub(channel_);
+ }
+
+ std::shared_ptr<Channel> channel_;
+ std::unique_ptr<grpc::testing::EchoTestService::Stub> stub_;
+ std::unique_ptr<Server> server_;
+ ExceptingServiceImpl service_;
+};
+
+TEST_F(ExceptionTest, Unary) {
+ ResetStub();
+ EchoRequest request;
+ EchoResponse response;
+ request.set_message("test");
+ ClientContext context;
+
+ Status s = stub_->Echo(&context, request, &response);
+ EXPECT_FALSE(s.ok());
+ EXPECT_EQ(s.error_code(), StatusCode::UNKNOWN);
+}
+
+TEST_F(ExceptionTest, RequestStream) {
+ ResetStub();
+ EchoResponse response;
+ ClientContext context;
+
+ auto stream = stub_->RequestStream(&context, &response);
+ stream->WritesDone();
+ Status s = stream->Finish();
+
+ EXPECT_FALSE(s.ok());
+ EXPECT_EQ(s.error_code(), StatusCode::UNKNOWN);
+}
+
+#endif // GRPC_ALLOW_EXCEPTIONS
+
+} // namespace testing
+} // namespace grpc
+
+int main(int argc, char** argv) {
+ grpc_test_init(argc, argv);
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/test/cpp/end2end/grpclb_end2end_test.cc b/test/cpp/end2end/grpclb_end2end_test.cc
index d4ee6b429f..815dfd0c4f 100644
--- a/test/cpp/end2end/grpclb_end2end_test.cc
+++ b/test/cpp/end2end/grpclb_end2end_test.cc
@@ -34,8 +34,8 @@
#include <grpc/support/time.h>
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/sockaddr.h"
-#include "src/core/lib/support/env.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/cpp/end2end/shutdown_test.cc b/test/cpp/end2end/shutdown_test.cc
index 14ba7c96cc..9119102f7a 100644
--- a/test/cpp/end2end/shutdown_test.cc
+++ b/test/cpp/end2end/shutdown_test.cc
@@ -28,7 +28,7 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/cpp/grpclb/grpclb_test.cc b/test/cpp/grpclb/grpclb_test.cc
index 38b65fbc78..d241594af1 100644
--- a/test/cpp/grpclb/grpclb_test.cc
+++ b/test/cpp/grpclb/grpclb_test.cc
@@ -40,11 +40,11 @@
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
-#include "src/core/lib/support/tmpfile.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/cpp/interop/client.cc b/test/cpp/interop/client.cc
index 716fb96382..8958b9884d 100644
--- a/test/cpp/interop/client.cc
+++ b/test/cpp/interop/client.cc
@@ -27,7 +27,7 @@
#include <grpc/support/log.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/cpp/interop/client_helper.h"
#include "test/cpp/interop/interop_client.h"
#include "test/cpp/util/test_config.h"
diff --git a/test/cpp/interop/http2_client.cc b/test/cpp/interop/http2_client.cc
index 2de7abcf17..7a9e3ced6a 100644
--- a/test/cpp/interop/http2_client.cc
+++ b/test/cpp/interop/http2_client.cc
@@ -30,7 +30,7 @@
#include "src/proto/grpc/testing/test.grpc.pb.h"
#include "test/cpp/interop/http2_client.h"
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "test/cpp/util/create_test_channel.h"
#include "test/cpp/util/test_config.h"
diff --git a/test/cpp/interop/interop_server.cc b/test/cpp/interop/interop_server.cc
index 30bd8bfef8..7cfdb2f9e9 100644
--- a/test/cpp/interop/interop_server.cc
+++ b/test/cpp/interop/interop_server.cc
@@ -31,7 +31,7 @@
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
-#include "src/core/lib/support/string.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/transport/byte_stream.h"
#include "src/proto/grpc/testing/empty.pb.h"
#include "src/proto/grpc/testing/messages.pb.h"
diff --git a/test/cpp/interop/interop_test.cc b/test/cpp/interop/interop_test.cc
index 1bf0d8d10f..563b7abb5e 100644
--- a/test/cpp/interop/interop_test.cc
+++ b/test/cpp/interop/interop_test.cc
@@ -37,8 +37,8 @@
#include "test/core/util/port.h"
#include "test/cpp/util/test_config.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/socket_utils_posix.h"
-#include "src/core/lib/support/string.h"
DEFINE_string(extra_server_flags, "", "Extra flags to pass to server.");
diff --git a/test/cpp/microbenchmarks/bm_arena.cc b/test/cpp/microbenchmarks/bm_arena.cc
index 5b7c611919..69c8c1c029 100644
--- a/test/cpp/microbenchmarks/bm_arena.cc
+++ b/test/cpp/microbenchmarks/bm_arena.cc
@@ -18,7 +18,7 @@
/* Benchmark arenas */
-#include "src/core/lib/support/arena.h"
+#include "src/core/lib/gpr/arena.h"
#include "test/cpp/microbenchmarks/helpers.h"
#include "third_party/benchmark/include/benchmark/benchmark.h"
diff --git a/test/cpp/microbenchmarks/bm_closure.cc b/test/cpp/microbenchmarks/bm_closure.cc
index 4d5a82c3f6..6d88faecc0 100644
--- a/test/cpp/microbenchmarks/bm_closure.cc
+++ b/test/cpp/microbenchmarks/bm_closure.cc
@@ -22,10 +22,10 @@
#include <grpc/grpc.h>
#include <sstream>
+#include "src/core/lib/gpr/spinlock.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/iomgr/exec_ctx.h"
-#include "src/core/lib/support/spinlock.h"
#include "test/cpp/microbenchmarks/helpers.h"
diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc
index 3481d9d1aa..8b5523f01a 100644
--- a/test/cpp/naming/resolver_component_test.cc
+++ b/test/cpp/naming/resolver_component_test.cc
@@ -37,13 +37,13 @@
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
#include "src/core/ext/filters/client_channel/resolver_registry.h"
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/iomgr/executor.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/sockaddr_utils.h"
-#include "src/core/lib/support/env.h"
-#include "src/core/lib/support/string.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/cpp/naming/resolver_component_tests_runner_invoker.cc b/test/cpp/naming/resolver_component_tests_runner_invoker.cc
index 0beb27de1b..65f11243fe 100644
--- a/test/cpp/naming/resolver_component_tests_runner_invoker.cc
+++ b/test/cpp/naming/resolver_component_tests_runner_invoker.cc
@@ -32,7 +32,7 @@
#include "test/cpp/util/subprocess.h"
#include "test/cpp/util/test_config.h"
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "test/core/util/port.h"
DEFINE_bool(
diff --git a/test/cpp/qps/driver.cc b/test/cpp/qps/driver.cc
index 22d039d4b7..2f765a6d1e 100644
--- a/test/cpp/qps/driver.cc
+++ b/test/cpp/qps/driver.cc
@@ -31,8 +31,8 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/profiling/timers.h"
-#include "src/core/lib/support/env.h"
#include "src/proto/grpc/testing/services.grpc.pb.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
diff --git a/test/cpp/qps/json_run_localhost.cc b/test/cpp/qps/json_run_localhost.cc
index db8b2a3943..948c3088e6 100644
--- a/test/cpp/qps/json_run_localhost.cc
+++ b/test/cpp/qps/json_run_localhost.cc
@@ -26,7 +26,7 @@
#include <grpc/support/log.h>
-#include "src/core/lib/support/env.h"
+#include "src/core/lib/gpr/env.h"
#include "test/core/util/port.h"
#include "test/cpp/util/subprocess.h"
diff --git a/test/distrib/cpp/run_distrib_test_cmake.bat b/test/distrib/cpp/run_distrib_test_cmake.bat
index 047846b0f1..f920768ae3 100644
--- a/test/distrib/cpp/run_distrib_test_cmake.bat
+++ b/test/distrib/cpp/run_distrib_test_cmake.bat
@@ -58,13 +58,13 @@ cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% -DOPENSSL_ROOT_DIR=%OPENSSL_DIR% -DOP
cmake --build . --config Release --target install || goto :error
cd ../..
-# Build helloworld example using cmake
+@rem Build helloworld example using cmake
cd examples/cpp/helloworld
mkdir cmake
cd cmake
mkdir build
cd build
-cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% ../.. || goto :error
+cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% -DOPENSSL_ROOT_DIR=%OPENSSL_DIR% -DOPENSSL_INCLUDE_DIR=%OPENSSL_DIR%/include ../.. || goto :error
cmake --build . --config Release || goto :error
cd ../../../../..