aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-02-12 19:22:31 -0800
committerGravatar ncteisen <ncteisen@gmail.com>2018-02-13 09:27:35 -0800
commitac86f043735ea75a5ad79283ef50042d7448f04f (patch)
tree36662eebf21edb8ca8161b10f45101d026fc95a9 /test/core
parentbc43b0e683678d47e14e1ecd9a2aba0ab7abc7cd (diff)
parent1b05b412688b7ae825eab8f91af042a24d4e18f4 (diff)
Merge branch 'master' of https://github.com/grpc/grpc into channel-tracing
Diffstat (limited to 'test/core')
-rw-r--r--test/core/avl/BUILD30
-rw-r--r--test/core/avl/avl_test.cc3661
-rw-r--r--test/core/backoff/backoff_test.cc23
-rw-r--r--test/core/bad_client/bad_client.cc305
-rw-r--r--test/core/bad_client/bad_client.h63
-rwxr-xr-xtest/core/bad_client/gen_build_yaml.py3
-rwxr-xr-xtest/core/bad_client/generate_tests.bzl8
-rw-r--r--test/core/bad_client/tests/duplicate_header.cc136
-rw-r--r--test/core/bad_client/tests/head_of_line_blocking.cc9
-rw-r--r--test/core/bad_client/tests/large_metadata.cc119
-rw-r--r--test/core/bad_client/tests/window_overflow.cc18
-rw-r--r--test/core/bad_ssl/bad_ssl_test.cc9
-rwxr-xr-xtest/core/bad_ssl/generate_tests.bzl17
-rw-r--r--test/core/bad_ssl/server_common.cc2
-rw-r--r--test/core/bad_ssl/servers/alpn.cc2
-rw-r--r--test/core/bad_ssl/servers/cert.cc7
-rw-r--r--test/core/channel/BUILD12
-rw-r--r--test/core/channel/channel_args_test.cc33
-rw-r--r--test/core/channel/channel_stack_builder_test.cc2
-rw-r--r--test/core/channel/channel_stack_test.cc16
-rw-r--r--test/core/channel/channel_tracer_test.cc2
-rw-r--r--test/core/client_channel/BUILD20
-rw-r--r--test/core/client_channel/lb_policies_test.cc1029
-rw-r--r--test/core/client_channel/parse_address_test.cc9
-rw-r--r--test/core/client_channel/resolvers/BUILD12
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc46
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc303
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_test.cc34
-rw-r--r--test/core/client_channel/resolvers/fake_resolver_test.cc225
-rw-r--r--test/core/client_channel/resolvers/sockaddr_resolver_test.cc42
-rw-r--r--test/core/compression/algorithm_test.cc3
-rw-r--r--test/core/compression/compression_test.cc52
-rw-r--r--test/core/compression/message_compress_test.cc2
-rw-r--r--test/core/compression/stream_compression_test.cc10
-rw-r--r--test/core/end2end/bad_server_response_test.cc12
-rw-r--r--test/core/end2end/connection_refused_test.cc2
-rw-r--r--test/core/end2end/cq_verifier.cc5
-rw-r--r--test/core/end2end/dualstack_socket_test.cc13
-rwxr-xr-xtest/core/end2end/end2end_test.sh2
-rw-r--r--test/core/end2end/fixtures/h2_census.cc4
-rw-r--r--test/core/end2end/fixtures/h2_compress.cc8
-rw-r--r--test/core/end2end/fixtures/h2_fakesec.cc3
-rw-r--r--test/core/end2end/fixtures/h2_full+pipe.cc4
-rw-r--r--test/core/end2end/fixtures/h2_full+trace.cc4
-rw-r--r--test/core/end2end/fixtures/h2_full+workarounds.cc5
-rw-r--r--test/core/end2end/fixtures/h2_full.cc4
-rw-r--r--test/core/end2end/fixtures/h2_http_proxy.cc4
-rw-r--r--test/core/end2end/fixtures/h2_load_reporting.cc4
-rw-r--r--test/core/end2end/fixtures/h2_oauth2.cc9
-rw-r--r--test/core/end2end/fixtures/h2_proxy.cc4
-rw-r--r--test/core/end2end/fixtures/h2_sockpair+trace.cc2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair.cc2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair_1byte.cc2
-rw-r--r--test/core/end2end/fixtures/h2_ssl.cc2
-rw-r--r--test/core/end2end/fixtures/h2_ssl_proxy.cc2
-rw-r--r--test/core/end2end/fixtures/h2_uds.cc4
-rw-r--r--test/core/end2end/fixtures/http_proxy_fixture.cc33
-rw-r--r--test/core/end2end/fixtures/inproc.cc4
-rw-r--r--test/core/end2end/fixtures/proxy.cc41
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer.cc14
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer_corpus/poc-2d730ebd78b3052e4367ad0d485208dcb205482cbcd6289f17907989b8de1fbabin0 -> 443 bytes
-rw-r--r--test/core/end2end/fuzzers/client_fuzzer.cc2
-rw-r--r--test/core/end2end/fuzzers/hpack.dictionary6
-rw-r--r--test/core/end2end/fuzzers/server_fuzzer.cc4
-rw-r--r--test/core/end2end/goaway_server_test.cc7
-rw-r--r--test/core/end2end/h2_ssl_cert_test.cc5
-rw-r--r--test/core/end2end/invalid_call_argument_test.cc6
-rw-r--r--test/core/end2end/tests/authority_not_supported.cc4
-rw-r--r--test/core/end2end/tests/bad_hostname.cc4
-rw-r--r--test/core/end2end/tests/bad_ping.cc8
-rw-r--r--test/core/end2end/tests/binary_metadata.cc10
-rw-r--r--test/core/end2end/tests/call_creds.cc14
-rw-r--r--test/core/end2end/tests/cancel_after_accept.cc7
-rw-r--r--test/core/end2end/tests/cancel_after_client_done.cc9
-rw-r--r--test/core/end2end/tests/cancel_after_invoke.cc3
-rw-r--r--test/core/end2end/tests/cancel_after_round_trip.cc13
-rw-r--r--test/core/end2end/tests/cancel_before_invoke.cc1
-rw-r--r--test/core/end2end/tests/cancel_in_a_vacuum.cc3
-rw-r--r--test/core/end2end/tests/cancel_with_status.cc1
-rw-r--r--test/core/end2end/tests/compressed_payload.cc77
-rw-r--r--test/core/end2end/tests/connectivity.cc2
-rw-r--r--test/core/end2end/tests/default_host.cc7
-rw-r--r--test/core/end2end/tests/disappearing_server.cc7
-rw-r--r--test/core/end2end/tests/empty_batch.cc1
-rw-r--r--test/core/end2end/tests/filter_call_init_fails.cc13
-rw-r--r--test/core/end2end/tests/filter_causes_close.cc10
-rw-r--r--test/core/end2end/tests/filter_latency.cc9
-rw-r--r--test/core/end2end/tests/filter_status_code.cc15
-rw-r--r--test/core/end2end/tests/graceful_server_shutdown.cc7
-rw-r--r--test/core/end2end/tests/high_initial_seqno.cc7
-rw-r--r--test/core/end2end/tests/hpack_size.cc8
-rw-r--r--test/core/end2end/tests/idempotent_request.cc8
-rw-r--r--test/core/end2end/tests/invoke_large_request.cc12
-rw-r--r--test/core/end2end/tests/keepalive_timeout.cc12
-rw-r--r--test/core/end2end/tests/large_metadata.cc12
-rw-r--r--test/core/end2end/tests/load_reporting_hook.cc10
-rw-r--r--test/core/end2end/tests/max_concurrent_streams.cc57
-rw-r--r--test/core/end2end/tests/max_connection_age.cc17
-rw-r--r--test/core/end2end/tests/max_connection_idle.cc8
-rw-r--r--test/core/end2end/tests/max_message_length.cc13
-rw-r--r--test/core/end2end/tests/negative_deadline.cc1
-rw-r--r--test/core/end2end/tests/network_status_change.cc10
-rw-r--r--test/core/end2end/tests/no_logging.cc7
-rw-r--r--test/core/end2end/tests/no_op.cc1
-rw-r--r--test/core/end2end/tests/payload.cc14
-rw-r--r--test/core/end2end/tests/ping.cc2
-rw-r--r--test/core/end2end/tests/ping_pong_streaming.cc24
-rw-r--r--test/core/end2end/tests/proxy_auth.cc7
-rw-r--r--test/core/end2end/tests/registered_call.cc8
-rw-r--r--test/core/end2end/tests/request_with_flags.cc6
-rw-r--r--test/core/end2end/tests/request_with_payload.cc10
-rw-r--r--test/core/end2end/tests/resource_quota_server.cc57
-rw-r--r--test/core/end2end/tests/server_finishes_request.cc7
-rw-r--r--test/core/end2end/tests/shutdown_finishes_calls.cc7
-rw-r--r--test/core/end2end/tests/shutdown_finishes_tags.cc3
-rw-r--r--test/core/end2end/tests/simple_cacheable_request.cc10
-rw-r--r--test/core/end2end/tests/simple_delayed_request.cc7
-rw-r--r--test/core/end2end/tests/simple_metadata.cc10
-rw-r--r--test/core/end2end/tests/simple_request.cc7
-rw-r--r--test/core/end2end/tests/stream_compression_compressed_payload.cc44
-rw-r--r--test/core/end2end/tests/stream_compression_payload.cc14
-rw-r--r--test/core/end2end/tests/stream_compression_ping_pong_streaming.cc25
-rw-r--r--test/core/end2end/tests/streaming_error_response.cc19
-rw-r--r--test/core/end2end/tests/trailing_metadata.cc10
-rw-r--r--test/core/end2end/tests/workaround_cronet_compression.cc37
-rw-r--r--test/core/end2end/tests/write_buffering.cc28
-rw-r--r--test/core/end2end/tests/write_buffering_at_end.cc28
-rw-r--r--test/core/fling/client.cc16
-rw-r--r--test/core/fling/fling_stream_test.cc7
-rw-r--r--test/core/fling/fling_test.cc7
-rw-r--r--test/core/fling/server.cc10
-rw-r--r--test/core/gpr/BUILD20
-rw-r--r--test/core/gpr/alloc_test.cc4
-rw-r--r--test/core/gpr/arena_test.cc4
-rw-r--r--test/core/gpr/avl_test.cc3659
-rw-r--r--test/core/gpr/cpu_test.cc4
-rw-r--r--test/core/gpr/host_port_test.cc3
-rw-r--r--test/core/gpr/mpscq_test.cc9
-rw-r--r--test/core/gpr/murmur_hash_test.cc4
-rw-r--r--test/core/gpr/spinlock_test.cc15
-rw-r--r--test/core/gpr/string_test.cc2
-rw-r--r--test/core/gpr/sync_test.cc13
-rw-r--r--test/core/gpr/time_test.cc2
-rw-r--r--test/core/gpr/tls_test.cc3
-rw-r--r--test/core/gpr/useful_test.cc3
-rw-r--r--test/core/gprpp/orphanable_test.cc20
-rw-r--r--test/core/gprpp/ref_counted_ptr_test.cc7
-rw-r--r--test/core/gprpp/ref_counted_test.cc13
-rw-r--r--test/core/handshake/client_ssl.cc27
-rw-r--r--test/core/handshake/readahead_handshaker_server_ssl.cc3
-rw-r--r--test/core/handshake/server_ssl_common.cc23
-rw-r--r--test/core/http/BUILD28
-rw-r--r--test/core/http/httpcli_test.cc22
-rw-r--r--test/core/http/httpscli_test.cc30
-rw-r--r--test/core/http/parser_test.cc3
l---------test/core/http/python_wrapper.sh1
-rw-r--r--test/core/iomgr/combiner_test.cc2
-rw-r--r--test/core/iomgr/endpoint_pair_test.cc5
-rw-r--r--test/core/iomgr/endpoint_tests.cc11
-rw-r--r--test/core/iomgr/error_test.cc1
-rw-r--r--test/core/iomgr/ev_epollsig_linux_test.cc4
-rw-r--r--test/core/iomgr/fd_posix_test.cc8
-rw-r--r--test/core/iomgr/pollset_set_test.cc4
-rw-r--r--test/core/iomgr/resolve_address_posix_test.cc2
-rw-r--r--test/core/iomgr/resource_quota_test.cc4
-rw-r--r--test/core/iomgr/sockaddr_utils_test.cc19
-rw-r--r--test/core/iomgr/socket_utils_test.cc18
-rw-r--r--test/core/iomgr/tcp_client_posix_test.cc9
-rw-r--r--test/core/iomgr/tcp_posix_test.cc43
-rw-r--r--test/core/iomgr/tcp_server_posix_test.cc20
-rw-r--r--test/core/iomgr/timer_heap_test.cc12
-rw-r--r--test/core/iomgr/udp_server_test.cc26
-rw-r--r--test/core/iomgr/wakeup_fd_cv_test.cc3
-rw-r--r--test/core/json/json_rewrite.cc6
-rw-r--r--test/core/json/json_rewrite_test.cc6
-rw-r--r--test/core/json/json_stream_error_test.cc1
-rw-r--r--test/core/json/json_test.cc2
-rw-r--r--test/core/memory_usage/client.cc66
-rw-r--r--test/core/memory_usage/memory_usage_test.cc7
-rw-r--r--test/core/memory_usage/server.cc21
-rw-r--r--test/core/network_benchmarks/low_level_ping_pong.cc23
-rw-r--r--test/core/security/BUILD3
-rw-r--r--test/core/security/create_jwt.cc5
-rw-r--r--test/core/security/credentials_test.cc30
-rw-r--r--test/core/security/fetch_oauth2.cc5
-rw-r--r--test/core/security/json_token_test.cc12
-rw-r--r--test/core/security/jwt_verifier_test.cc10
-rw-r--r--test/core/security/oauth2_utils.cc7
-rw-r--r--test/core/security/print_google_default_creds_token.cc10
-rw-r--r--test/core/security/secure_endpoint_test.cc17
-rw-r--r--test/core/security/security_connector_test.cc1
-rw-r--r--test/core/security/verify_jwt.cc6
-rw-r--r--test/core/slice/b64_test.cc6
-rw-r--r--test/core/slice/percent_encode_fuzzer.cc3
-rw-r--r--test/core/slice/slice_string_helpers_test.cc1
-rw-r--r--test/core/slice/slice_test.cc10
-rw-r--r--test/core/surface/BUILD12
-rw-r--r--test/core/surface/alarm_test.cc116
-rw-r--r--test/core/surface/byte_buffer_reader_test.cc6
-rw-r--r--test/core/surface/channel_create_test.cc4
-rw-r--r--test/core/surface/completion_queue_test.cc2
-rw-r--r--test/core/surface/completion_queue_threading_test.cc21
-rw-r--r--test/core/surface/concurrent_connectivity_test.cc24
-rw-r--r--test/core/surface/lame_client_test.cc6
-rw-r--r--test/core/surface/num_external_connectivity_watchers_test.cc2
-rw-r--r--test/core/surface/public_headers_must_be_c89.c37
-rw-r--r--test/core/surface/secure_channel_create_test.cc4
-rw-r--r--test/core/surface/sequential_connectivity_test.cc2
-rw-r--r--test/core/surface/server_chttp2_test.cc3
-rw-r--r--test/core/surface/server_test.cc3
-rw-r--r--test/core/transport/bdp_estimator_test.cc4
-rw-r--r--test/core/transport/byte_stream_test.cc2
-rw-r--r--test/core/transport/chttp2/hpack_encoder_test.cc4
-rw-r--r--test/core/transport/chttp2/settings_timeout_test.cc12
-rw-r--r--test/core/transport/chttp2/stream_map_test.cc8
-rw-r--r--test/core/transport/metadata_test.cc8
-rw-r--r--test/core/transport/pid_controller_test.cc2
-rw-r--r--test/core/transport/timeout_encoding_test.cc17
-rw-r--r--test/core/tsi/fake_transport_security_test.cc5
-rw-r--r--test/core/tsi/ssl_transport_security_test.cc56
-rw-r--r--test/core/tsi/transport_security_test.cc2
-rw-r--r--test/core/tsi/transport_security_test_lib.cc11
-rw-r--r--test/core/util/BUILD15
-rw-r--r--test/core/util/channel_tracing_utils.cc2
-rw-r--r--test/core/util/cmdline.cc331
-rw-r--r--test/core/util/cmdline.h80
-rw-r--r--test/core/util/cmdline_test.cc (renamed from test/core/gpr/cmdline_test.cc)6
-rw-r--r--test/core/util/debugger_macros.cc3
-rwxr-xr-xtest/core/util/fuzzer_one_entry_runner.sh2
-rw-r--r--test/core/util/histogram.cc21
-rw-r--r--test/core/util/memory_counters.cc8
-rw-r--r--test/core/util/mock_endpoint.cc15
-rw-r--r--test/core/util/parse_hexstring.cc5
-rw-r--r--test/core/util/passthru_endpoint.cc46
-rw-r--r--test/core/util/passthru_endpoint.h8
-rw-r--r--test/core/util/port.cc4
-rw-r--r--test/core/util/port_server_client.cc16
-rw-r--r--test/core/util/reconnect_server.cc9
-rwxr-xr-xtest/core/util/run_with_poller.sh2
-rw-r--r--test/core/util/slice_splitter.cc14
-rw-r--r--test/core/util/subprocess.h36
-rw-r--r--test/core/util/subprocess_posix.cc100
-rw-r--r--test/core/util/subprocess_windows.cc126
-rw-r--r--test/core/util/test_config.cc16
-rw-r--r--test/core/util/test_tcp_server.cc8
-rw-r--r--test/core/util/trickle_endpoint.cc36
246 files changed, 6758 insertions, 6214 deletions
diff --git a/test/core/avl/BUILD b/test/core/avl/BUILD
new file mode 100644
index 0000000000..48f5baeb1a
--- /dev/null
+++ b/test/core/avl/BUILD
@@ -0,0 +1,30 @@
+# Copyright 2018 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/avl")
+
+grpc_cc_test(
+ name = "avl_test",
+ srcs = ["avl_test.cc"],
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//test/core/util:gpr_test_util",
+ ],
+)
diff --git a/test/core/avl/avl_test.cc b/test/core/avl/avl_test.cc
new file mode 100644
index 0000000000..ecebe833b3
--- /dev/null
+++ b/test/core/avl/avl_test.cc
@@ -0,0 +1,3661 @@
+/*
+ *
+ * Copyright 2015 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/avl/avl.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+
+#include "src/core/lib/gpr/useful.h"
+#include "test/core/util/test_config.h"
+
+static int* box(int x) {
+ int* b = static_cast<int*>(gpr_malloc(sizeof(*b)));
+ *b = x;
+ return b;
+}
+
+static long int_compare(void* int1, void* int2, void* unused) {
+ return (*static_cast<int*>(int1)) - (*static_cast<int*>(int2));
+}
+static void* int_copy(void* p, void* unused) {
+ return box(*static_cast<int*>(p));
+}
+
+static void destroy(void* p, void* unused) { gpr_free(p); }
+
+static const grpc_avl_vtable int_int_vtable = {destroy, int_copy, int_compare,
+ destroy, int_copy};
+
+static void check_get(grpc_avl avl, int key, int value) {
+ int* k = box(key);
+ GPR_ASSERT(*(int*)grpc_avl_get(avl, k, nullptr) == value);
+ gpr_free(k);
+}
+
+static void check_negget(grpc_avl avl, int key) {
+ int* k = box(key);
+ GPR_ASSERT(grpc_avl_get(avl, k, nullptr) == nullptr);
+ gpr_free(k);
+}
+
+static grpc_avl remove_int(grpc_avl avl, int key) {
+ int* k = box(key);
+ avl = grpc_avl_remove(avl, k, nullptr);
+ gpr_free(k);
+ return avl;
+}
+
+static void test_get(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_get");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(1), box(11), nullptr);
+ avl = grpc_avl_add(avl, box(2), box(22), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(33), nullptr);
+ check_get(avl, 1, 11);
+ check_get(avl, 2, 22);
+ check_get(avl, 3, 33);
+ check_negget(avl, 4);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_ll(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_ll");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(5), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(3), nullptr);
+ GPR_ASSERT(*(int*)avl.root->key == 4);
+ GPR_ASSERT(*(int*)avl.root->left->key == 3);
+ GPR_ASSERT(*(int*)avl.root->right->key == 5);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_lr(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_lr");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(5), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(3), nullptr);
+ GPR_ASSERT(*(int*)avl.root->key == 4);
+ GPR_ASSERT(*(int*)avl.root->left->key == 3);
+ GPR_ASSERT(*(int*)avl.root->right->key == 5);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_rr(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_rr");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(3), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(5), box(3), nullptr);
+ GPR_ASSERT(*(int*)avl.root->key == 4);
+ GPR_ASSERT(*(int*)avl.root->left->key == 3);
+ GPR_ASSERT(*(int*)avl.root->right->key == 5);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_rl(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_rl");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(3), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(5), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(3), nullptr);
+ GPR_ASSERT(*(int*)avl.root->key == 4);
+ GPR_ASSERT(*(int*)avl.root->left->key == 3);
+ GPR_ASSERT(*(int*)avl.root->right->key == 5);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_unbalanced(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_unbalanced");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(5), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(3), nullptr);
+ avl = grpc_avl_add(avl, box(2), box(4), nullptr);
+ avl = grpc_avl_add(avl, box(1), box(5), nullptr);
+ GPR_ASSERT(*(int*)avl.root->key == 4);
+ GPR_ASSERT(*(int*)avl.root->left->key == 2);
+ GPR_ASSERT(*(int*)avl.root->left->left->key == 1);
+ GPR_ASSERT(*(int*)avl.root->left->right->key == 3);
+ GPR_ASSERT(*(int*)avl.root->right->key == 5);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_replace(void) {
+ grpc_avl avl;
+ gpr_log(GPR_DEBUG, "test_replace");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(1), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(1), box(2), nullptr);
+ check_get(avl, 1, 2);
+ check_negget(avl, 2);
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_remove(void) {
+ grpc_avl avl;
+ grpc_avl avl3, avl4, avl5, avln;
+ gpr_log(GPR_DEBUG, "test_remove");
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(3), box(1), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(5), box(3), nullptr);
+
+ avl3 = remove_int(grpc_avl_ref(avl, nullptr), 3);
+ avl4 = remove_int(grpc_avl_ref(avl, nullptr), 4);
+ avl5 = remove_int(grpc_avl_ref(avl, nullptr), 5);
+ avln = remove_int(grpc_avl_ref(avl, nullptr), 1);
+
+ grpc_avl_unref(avl, nullptr);
+
+ check_negget(avl3, 3);
+ check_get(avl3, 4, 2);
+ check_get(avl3, 5, 3);
+ grpc_avl_unref(avl3, nullptr);
+
+ check_get(avl4, 3, 1);
+ check_negget(avl4, 4);
+ check_get(avl4, 5, 3);
+ grpc_avl_unref(avl4, nullptr);
+
+ check_get(avl5, 3, 1);
+ check_get(avl5, 4, 2);
+ check_negget(avl5, 5);
+ grpc_avl_unref(avl5, nullptr);
+
+ check_get(avln, 3, 1);
+ check_get(avln, 4, 2);
+ check_get(avln, 5, 3);
+ grpc_avl_unref(avln, nullptr);
+}
+
+static void test_badcase1(void) {
+ grpc_avl avl;
+
+ gpr_log(GPR_DEBUG, "test_badcase1");
+
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(88), box(1), nullptr);
+ avl = remove_int(avl, 643);
+ avl = remove_int(avl, 983);
+ avl = grpc_avl_add(avl, box(985), box(4), nullptr);
+ avl = grpc_avl_add(avl, box(640), box(5), nullptr);
+ avl = grpc_avl_add(avl, box(41), box(6), nullptr);
+ avl = grpc_avl_add(avl, box(112), box(7), nullptr);
+ avl = grpc_avl_add(avl, box(342), box(8), nullptr);
+ avl = remove_int(avl, 1013);
+ avl = grpc_avl_add(avl, box(434), box(10), nullptr);
+ avl = grpc_avl_add(avl, box(520), box(11), nullptr);
+ avl = grpc_avl_add(avl, box(231), box(12), nullptr);
+ avl = grpc_avl_add(avl, box(852), box(13), nullptr);
+ avl = remove_int(avl, 461);
+ avl = grpc_avl_add(avl, box(108), box(15), nullptr);
+ avl = grpc_avl_add(avl, box(806), box(16), nullptr);
+ avl = grpc_avl_add(avl, box(827), box(17), nullptr);
+ avl = remove_int(avl, 796);
+ avl = grpc_avl_add(avl, box(340), box(19), nullptr);
+ avl = grpc_avl_add(avl, box(498), box(20), nullptr);
+ avl = grpc_avl_add(avl, box(203), box(21), nullptr);
+ avl = grpc_avl_add(avl, box(751), box(22), nullptr);
+ avl = grpc_avl_add(avl, box(150), box(23), nullptr);
+ avl = remove_int(avl, 237);
+ avl = grpc_avl_add(avl, box(830), box(25), nullptr);
+ avl = remove_int(avl, 1007);
+ avl = remove_int(avl, 394);
+ avl = grpc_avl_add(avl, box(65), box(28), nullptr);
+ avl = remove_int(avl, 904);
+ avl = remove_int(avl, 123);
+ avl = grpc_avl_add(avl, box(238), box(31), nullptr);
+ avl = grpc_avl_add(avl, box(184), box(32), nullptr);
+ avl = remove_int(avl, 331);
+ avl = grpc_avl_add(avl, box(827), box(34), nullptr);
+
+ check_get(avl, 830, 25);
+
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_badcase2(void) {
+ grpc_avl avl;
+
+ gpr_log(GPR_DEBUG, "test_badcase2");
+
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = grpc_avl_add(avl, box(288), box(1), nullptr);
+ avl = remove_int(avl, 415);
+ avl = grpc_avl_add(avl, box(953), box(3), nullptr);
+ avl = grpc_avl_add(avl, box(101), box(4), nullptr);
+ avl = grpc_avl_add(avl, box(516), box(5), nullptr);
+ avl = grpc_avl_add(avl, box(547), box(6), nullptr);
+ avl = grpc_avl_add(avl, box(467), box(7), nullptr);
+ avl = grpc_avl_add(avl, box(793), box(8), nullptr);
+ avl = remove_int(avl, 190);
+ avl = grpc_avl_add(avl, box(687), box(10), nullptr);
+ avl = grpc_avl_add(avl, box(242), box(11), nullptr);
+ avl = grpc_avl_add(avl, box(142), box(12), nullptr);
+ avl = remove_int(avl, 705);
+ avl = remove_int(avl, 578);
+ avl = remove_int(avl, 767);
+ avl = remove_int(avl, 183);
+ avl = grpc_avl_add(avl, box(950), box(17), nullptr);
+ avl = grpc_avl_add(avl, box(622), box(18), nullptr);
+ avl = remove_int(avl, 513);
+ avl = remove_int(avl, 429);
+ avl = grpc_avl_add(avl, box(205), box(21), nullptr);
+ avl = remove_int(avl, 663);
+ avl = remove_int(avl, 953);
+ avl = remove_int(avl, 892);
+ avl = grpc_avl_add(avl, box(236), box(25), nullptr);
+ avl = remove_int(avl, 982);
+ avl = remove_int(avl, 201);
+ avl = remove_int(avl, 684);
+ avl = grpc_avl_add(avl, box(572), box(29), nullptr);
+ avl = remove_int(avl, 817);
+ avl = grpc_avl_add(avl, box(970), box(31), nullptr);
+ avl = remove_int(avl, 347);
+ avl = remove_int(avl, 574);
+ avl = grpc_avl_add(avl, box(752), box(34), nullptr);
+ avl = grpc_avl_add(avl, box(670), box(35), nullptr);
+ avl = grpc_avl_add(avl, box(69), box(36), nullptr);
+ avl = remove_int(avl, 111);
+ avl = remove_int(avl, 523);
+ avl = grpc_avl_add(avl, box(141), box(39), nullptr);
+ avl = remove_int(avl, 159);
+ avl = grpc_avl_add(avl, box(947), box(41), nullptr);
+ avl = grpc_avl_add(avl, box(855), box(42), nullptr);
+ avl = remove_int(avl, 218);
+ avl = remove_int(avl, 6);
+ avl = grpc_avl_add(avl, box(753), box(45), nullptr);
+ avl = remove_int(avl, 82);
+ avl = remove_int(avl, 799);
+ avl = grpc_avl_add(avl, box(572), box(48), nullptr);
+ avl = remove_int(avl, 376);
+ avl = remove_int(avl, 413);
+ avl = grpc_avl_add(avl, box(458), box(51), nullptr);
+ avl = remove_int(avl, 897);
+ avl = grpc_avl_add(avl, box(191), box(53), nullptr);
+ avl = grpc_avl_add(avl, box(609), box(54), nullptr);
+ avl = remove_int(avl, 787);
+ avl = remove_int(avl, 710);
+ avl = remove_int(avl, 886);
+ avl = remove_int(avl, 835);
+ avl = remove_int(avl, 33);
+ avl = grpc_avl_add(avl, box(871), box(60), nullptr);
+ avl = remove_int(avl, 641);
+ avl = grpc_avl_add(avl, box(462), box(62), nullptr);
+ avl = remove_int(avl, 359);
+ avl = remove_int(avl, 767);
+ avl = grpc_avl_add(avl, box(310), box(65), nullptr);
+ avl = remove_int(avl, 757);
+ avl = remove_int(avl, 639);
+ avl = remove_int(avl, 314);
+ avl = grpc_avl_add(avl, box(2), box(69), nullptr);
+ avl = remove_int(avl, 138);
+ avl = grpc_avl_add(avl, box(669), box(71), nullptr);
+ avl = remove_int(avl, 477);
+ avl = grpc_avl_add(avl, box(366), box(73), nullptr);
+ avl = grpc_avl_add(avl, box(612), box(74), nullptr);
+ avl = grpc_avl_add(avl, box(106), box(75), nullptr);
+ avl = remove_int(avl, 161);
+ avl = grpc_avl_add(avl, box(388), box(77), nullptr);
+ avl = grpc_avl_add(avl, box(141), box(78), nullptr);
+ avl = remove_int(avl, 633);
+ avl = remove_int(avl, 459);
+ avl = grpc_avl_add(avl, box(40), box(81), nullptr);
+ avl = remove_int(avl, 689);
+ avl = grpc_avl_add(avl, box(823), box(83), nullptr);
+ avl = remove_int(avl, 485);
+ avl = grpc_avl_add(avl, box(903), box(85), nullptr);
+ avl = grpc_avl_add(avl, box(592), box(86), nullptr);
+ avl = remove_int(avl, 448);
+ avl = grpc_avl_add(avl, box(56), box(88), nullptr);
+ avl = remove_int(avl, 333);
+ avl = grpc_avl_add(avl, box(189), box(90), nullptr);
+ avl = grpc_avl_add(avl, box(103), box(91), nullptr);
+ avl = remove_int(avl, 164);
+ avl = remove_int(avl, 974);
+ avl = grpc_avl_add(avl, box(215), box(94), nullptr);
+ avl = remove_int(avl, 189);
+ avl = remove_int(avl, 504);
+ avl = grpc_avl_add(avl, box(868), box(97), nullptr);
+ avl = remove_int(avl, 909);
+ avl = remove_int(avl, 148);
+ avl = remove_int(avl, 469);
+ avl = grpc_avl_add(avl, box(994), box(101), nullptr);
+ avl = grpc_avl_add(avl, box(576), box(102), nullptr);
+ avl = remove_int(avl, 82);
+ avl = remove_int(avl, 209);
+ avl = grpc_avl_add(avl, box(276), box(105), nullptr);
+ avl = remove_int(avl, 856);
+ avl = grpc_avl_add(avl, box(750), box(107), nullptr);
+ avl = remove_int(avl, 871);
+ avl = grpc_avl_add(avl, box(301), box(109), nullptr);
+ avl = remove_int(avl, 260);
+ avl = remove_int(avl, 737);
+ avl = remove_int(avl, 719);
+ avl = grpc_avl_add(avl, box(933), box(113), nullptr);
+ avl = grpc_avl_add(avl, box(225), box(114), nullptr);
+ avl = grpc_avl_add(avl, box(975), box(115), nullptr);
+ avl = grpc_avl_add(avl, box(86), box(116), nullptr);
+ avl = remove_int(avl, 732);
+ avl = grpc_avl_add(avl, box(340), box(118), nullptr);
+ avl = grpc_avl_add(avl, box(271), box(119), nullptr);
+ avl = remove_int(avl, 206);
+ avl = grpc_avl_add(avl, box(949), box(121), nullptr);
+ avl = grpc_avl_add(avl, box(927), box(122), nullptr);
+ avl = grpc_avl_add(avl, box(34), box(123), nullptr);
+ avl = grpc_avl_add(avl, box(351), box(124), nullptr);
+ avl = remove_int(avl, 836);
+ avl = grpc_avl_add(avl, box(825), box(126), nullptr);
+ avl = grpc_avl_add(avl, box(352), box(127), nullptr);
+ avl = remove_int(avl, 107);
+ avl = remove_int(avl, 101);
+ avl = grpc_avl_add(avl, box(320), box(130), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(131), nullptr);
+ avl = remove_int(avl, 998);
+ avl = remove_int(avl, 44);
+ avl = grpc_avl_add(avl, box(525), box(134), nullptr);
+ avl = grpc_avl_add(avl, box(864), box(135), nullptr);
+ avl = grpc_avl_add(avl, box(863), box(136), nullptr);
+ avl = remove_int(avl, 770);
+ avl = grpc_avl_add(avl, box(440), box(138), nullptr);
+ avl = remove_int(avl, 516);
+ avl = grpc_avl_add(avl, box(116), box(140), nullptr);
+ avl = remove_int(avl, 380);
+ avl = grpc_avl_add(avl, box(878), box(142), nullptr);
+ avl = remove_int(avl, 439);
+ avl = grpc_avl_add(avl, box(994), box(144), nullptr);
+ avl = remove_int(avl, 294);
+ avl = remove_int(avl, 593);
+ avl = grpc_avl_add(avl, box(696), box(147), nullptr);
+ avl = remove_int(avl, 8);
+ avl = grpc_avl_add(avl, box(881), box(149), nullptr);
+ avl = remove_int(avl, 32);
+ avl = remove_int(avl, 242);
+ avl = grpc_avl_add(avl, box(487), box(152), nullptr);
+ avl = grpc_avl_add(avl, box(637), box(153), nullptr);
+ avl = grpc_avl_add(avl, box(793), box(154), nullptr);
+ avl = grpc_avl_add(avl, box(696), box(155), nullptr);
+ avl = remove_int(avl, 458);
+ avl = grpc_avl_add(avl, box(828), box(157), nullptr);
+ avl = remove_int(avl, 784);
+ avl = remove_int(avl, 274);
+ avl = grpc_avl_add(avl, box(783), box(160), nullptr);
+ avl = remove_int(avl, 21);
+ avl = grpc_avl_add(avl, box(866), box(162), nullptr);
+ avl = remove_int(avl, 919);
+ avl = grpc_avl_add(avl, box(435), box(164), nullptr);
+ avl = remove_int(avl, 385);
+ avl = grpc_avl_add(avl, box(475), box(166), nullptr);
+ avl = remove_int(avl, 339);
+ avl = grpc_avl_add(avl, box(615), box(168), nullptr);
+ avl = remove_int(avl, 866);
+ avl = remove_int(avl, 82);
+ avl = remove_int(avl, 271);
+ avl = grpc_avl_add(avl, box(590), box(172), nullptr);
+ avl = grpc_avl_add(avl, box(852), box(173), nullptr);
+ avl = remove_int(avl, 318);
+ avl = remove_int(avl, 82);
+ avl = grpc_avl_add(avl, box(672), box(176), nullptr);
+ avl = remove_int(avl, 430);
+ avl = grpc_avl_add(avl, box(821), box(178), nullptr);
+ avl = grpc_avl_add(avl, box(365), box(179), nullptr);
+ avl = remove_int(avl, 78);
+ avl = grpc_avl_add(avl, box(700), box(181), nullptr);
+ avl = grpc_avl_add(avl, box(353), box(182), nullptr);
+ avl = remove_int(avl, 492);
+ avl = grpc_avl_add(avl, box(991), box(184), nullptr);
+ avl = remove_int(avl, 330);
+ avl = grpc_avl_add(avl, box(873), box(186), nullptr);
+ avl = remove_int(avl, 589);
+ avl = grpc_avl_add(avl, box(676), box(188), nullptr);
+ avl = grpc_avl_add(avl, box(790), box(189), nullptr);
+ avl = remove_int(avl, 521);
+ avl = remove_int(avl, 47);
+ avl = grpc_avl_add(avl, box(976), box(192), nullptr);
+ avl = grpc_avl_add(avl, box(683), box(193), nullptr);
+ avl = remove_int(avl, 803);
+ avl = remove_int(avl, 1006);
+ avl = grpc_avl_add(avl, box(775), box(196), nullptr);
+ avl = grpc_avl_add(avl, box(411), box(197), nullptr);
+ avl = grpc_avl_add(avl, box(697), box(198), nullptr);
+ avl = remove_int(avl, 50);
+ avl = grpc_avl_add(avl, box(213), box(200), nullptr);
+ avl = remove_int(avl, 714);
+ avl = grpc_avl_add(avl, box(981), box(202), nullptr);
+ avl = grpc_avl_add(avl, box(502), box(203), nullptr);
+ avl = grpc_avl_add(avl, box(697), box(204), nullptr);
+ avl = grpc_avl_add(avl, box(603), box(205), nullptr);
+ avl = grpc_avl_add(avl, box(117), box(206), nullptr);
+ avl = remove_int(avl, 363);
+ avl = grpc_avl_add(avl, box(104), box(208), nullptr);
+ avl = remove_int(avl, 842);
+ avl = grpc_avl_add(avl, box(48), box(210), nullptr);
+ avl = remove_int(avl, 764);
+ avl = grpc_avl_add(avl, box(482), box(212), nullptr);
+ avl = grpc_avl_add(avl, box(928), box(213), nullptr);
+ avl = grpc_avl_add(avl, box(30), box(214), nullptr);
+ avl = grpc_avl_add(avl, box(820), box(215), nullptr);
+ avl = grpc_avl_add(avl, box(334), box(216), nullptr);
+ avl = remove_int(avl, 306);
+ avl = grpc_avl_add(avl, box(789), box(218), nullptr);
+ avl = remove_int(avl, 924);
+ avl = grpc_avl_add(avl, box(53), box(220), nullptr);
+ avl = remove_int(avl, 657);
+ avl = grpc_avl_add(avl, box(130), box(222), nullptr);
+ avl = grpc_avl_add(avl, box(239), box(223), nullptr);
+ avl = remove_int(avl, 20);
+ avl = grpc_avl_add(avl, box(117), box(225), nullptr);
+ avl = remove_int(avl, 882);
+ avl = remove_int(avl, 891);
+ avl = grpc_avl_add(avl, box(9), box(228), nullptr);
+ avl = grpc_avl_add(avl, box(496), box(229), nullptr);
+ avl = grpc_avl_add(avl, box(750), box(230), nullptr);
+ avl = grpc_avl_add(avl, box(283), box(231), nullptr);
+ avl = grpc_avl_add(avl, box(802), box(232), nullptr);
+ avl = remove_int(avl, 352);
+ avl = grpc_avl_add(avl, box(374), box(234), nullptr);
+ avl = grpc_avl_add(avl, box(6), box(235), nullptr);
+ avl = grpc_avl_add(avl, box(756), box(236), nullptr);
+ avl = grpc_avl_add(avl, box(597), box(237), nullptr);
+ avl = grpc_avl_add(avl, box(661), box(238), nullptr);
+ avl = remove_int(avl, 96);
+ avl = grpc_avl_add(avl, box(894), box(240), nullptr);
+ avl = remove_int(avl, 749);
+ avl = grpc_avl_add(avl, box(71), box(242), nullptr);
+ avl = remove_int(avl, 68);
+ avl = grpc_avl_add(avl, box(388), box(244), nullptr);
+ avl = remove_int(avl, 119);
+ avl = remove_int(avl, 856);
+ avl = grpc_avl_add(avl, box(176), box(247), nullptr);
+ avl = grpc_avl_add(avl, box(993), box(248), nullptr);
+ avl = remove_int(avl, 178);
+ avl = remove_int(avl, 781);
+ avl = remove_int(avl, 771);
+ avl = remove_int(avl, 848);
+ avl = remove_int(avl, 376);
+ avl = remove_int(avl, 157);
+ avl = remove_int(avl, 142);
+ avl = remove_int(avl, 686);
+ avl = grpc_avl_add(avl, box(779), box(257), nullptr);
+ avl = grpc_avl_add(avl, box(484), box(258), nullptr);
+ avl = remove_int(avl, 837);
+ avl = grpc_avl_add(avl, box(388), box(260), nullptr);
+ avl = remove_int(avl, 987);
+ avl = grpc_avl_add(avl, box(336), box(262), nullptr);
+ avl = remove_int(avl, 855);
+ avl = grpc_avl_add(avl, box(668), box(264), nullptr);
+ avl = remove_int(avl, 648);
+ avl = grpc_avl_add(avl, box(193), box(266), nullptr);
+ avl = remove_int(avl, 939);
+ avl = grpc_avl_add(avl, box(740), box(268), nullptr);
+ avl = grpc_avl_add(avl, box(503), box(269), nullptr);
+ avl = grpc_avl_add(avl, box(765), box(270), nullptr);
+ avl = remove_int(avl, 924);
+ avl = remove_int(avl, 513);
+ avl = grpc_avl_add(avl, box(161), box(273), nullptr);
+ avl = grpc_avl_add(avl, box(502), box(274), nullptr);
+ avl = grpc_avl_add(avl, box(846), box(275), nullptr);
+ avl = remove_int(avl, 931);
+ avl = grpc_avl_add(avl, box(87), box(277), nullptr);
+ avl = grpc_avl_add(avl, box(949), box(278), nullptr);
+ avl = grpc_avl_add(avl, box(548), box(279), nullptr);
+ avl = grpc_avl_add(avl, box(951), box(280), nullptr);
+ avl = remove_int(avl, 1018);
+ avl = remove_int(avl, 568);
+ avl = grpc_avl_add(avl, box(138), box(283), nullptr);
+ avl = grpc_avl_add(avl, box(202), box(284), nullptr);
+ avl = grpc_avl_add(avl, box(157), box(285), nullptr);
+ avl = grpc_avl_add(avl, box(264), box(286), nullptr);
+ avl = grpc_avl_add(avl, box(370), box(287), nullptr);
+ avl = remove_int(avl, 736);
+ avl = remove_int(avl, 751);
+ avl = remove_int(avl, 506);
+ avl = remove_int(avl, 81);
+ avl = remove_int(avl, 358);
+ avl = remove_int(avl, 657);
+ avl = remove_int(avl, 86);
+ avl = grpc_avl_add(avl, box(876), box(295), nullptr);
+ avl = remove_int(avl, 354);
+ avl = grpc_avl_add(avl, box(134), box(297), nullptr);
+ avl = remove_int(avl, 781);
+ avl = remove_int(avl, 183);
+ avl = grpc_avl_add(avl, box(914), box(300), nullptr);
+ avl = remove_int(avl, 926);
+ avl = remove_int(avl, 398);
+ avl = remove_int(avl, 932);
+ avl = remove_int(avl, 804);
+ avl = remove_int(avl, 326);
+ avl = grpc_avl_add(avl, box(208), box(306), nullptr);
+ avl = grpc_avl_add(avl, box(699), box(307), nullptr);
+ avl = remove_int(avl, 576);
+ avl = remove_int(avl, 850);
+ avl = remove_int(avl, 514);
+ avl = remove_int(avl, 676);
+ avl = remove_int(avl, 549);
+ avl = remove_int(avl, 767);
+ avl = grpc_avl_add(avl, box(58), box(314), nullptr);
+ avl = grpc_avl_add(avl, box(265), box(315), nullptr);
+ avl = grpc_avl_add(avl, box(268), box(316), nullptr);
+ avl = grpc_avl_add(avl, box(103), box(317), nullptr);
+ avl = grpc_avl_add(avl, box(440), box(318), nullptr);
+ avl = remove_int(avl, 777);
+ avl = grpc_avl_add(avl, box(670), box(320), nullptr);
+ avl = remove_int(avl, 506);
+ avl = remove_int(avl, 487);
+ avl = grpc_avl_add(avl, box(421), box(323), nullptr);
+ avl = remove_int(avl, 514);
+ avl = grpc_avl_add(avl, box(701), box(325), nullptr);
+ avl = remove_int(avl, 949);
+ avl = remove_int(avl, 872);
+ avl = remove_int(avl, 139);
+ avl = grpc_avl_add(avl, box(781), box(329), nullptr);
+ avl = grpc_avl_add(avl, box(543), box(330), nullptr);
+ avl = grpc_avl_add(avl, box(147), box(331), nullptr);
+ avl = remove_int(avl, 190);
+ avl = grpc_avl_add(avl, box(453), box(333), nullptr);
+ avl = remove_int(avl, 262);
+ avl = remove_int(avl, 850);
+ avl = remove_int(avl, 286);
+ avl = remove_int(avl, 787);
+ avl = grpc_avl_add(avl, box(514), box(338), nullptr);
+ avl = remove_int(avl, 812);
+ avl = grpc_avl_add(avl, box(431), box(340), nullptr);
+ avl = grpc_avl_add(avl, box(8), box(341), nullptr);
+ avl = remove_int(avl, 843);
+ avl = grpc_avl_add(avl, box(831), box(343), nullptr);
+ avl = remove_int(avl, 472);
+ avl = remove_int(avl, 157);
+ avl = grpc_avl_add(avl, box(612), box(346), nullptr);
+ avl = grpc_avl_add(avl, box(802), box(347), nullptr);
+ avl = remove_int(avl, 554);
+ avl = grpc_avl_add(avl, box(409), box(349), nullptr);
+ avl = grpc_avl_add(avl, box(439), box(350), nullptr);
+ avl = grpc_avl_add(avl, box(725), box(351), nullptr);
+ avl = grpc_avl_add(avl, box(568), box(352), nullptr);
+ avl = remove_int(avl, 475);
+ avl = remove_int(avl, 672);
+ avl = remove_int(avl, 62);
+ avl = remove_int(avl, 753);
+ avl = grpc_avl_add(avl, box(435), box(357), nullptr);
+ avl = grpc_avl_add(avl, box(950), box(358), nullptr);
+ avl = grpc_avl_add(avl, box(532), box(359), nullptr);
+ avl = grpc_avl_add(avl, box(832), box(360), nullptr);
+ avl = remove_int(avl, 390);
+ avl = grpc_avl_add(avl, box(993), box(362), nullptr);
+ avl = remove_int(avl, 198);
+ avl = remove_int(avl, 401);
+ avl = grpc_avl_add(avl, box(316), box(365), nullptr);
+ avl = remove_int(avl, 843);
+ avl = grpc_avl_add(avl, box(541), box(367), nullptr);
+ avl = grpc_avl_add(avl, box(505), box(368), nullptr);
+ avl = remove_int(avl, 445);
+ avl = remove_int(avl, 256);
+ avl = grpc_avl_add(avl, box(232), box(371), nullptr);
+ avl = remove_int(avl, 577);
+ avl = remove_int(avl, 558);
+ avl = grpc_avl_add(avl, box(910), box(374), nullptr);
+ avl = remove_int(avl, 902);
+ avl = remove_int(avl, 755);
+ avl = remove_int(avl, 114);
+ avl = remove_int(avl, 438);
+ avl = remove_int(avl, 224);
+ avl = grpc_avl_add(avl, box(920), box(380), nullptr);
+ avl = grpc_avl_add(avl, box(655), box(381), nullptr);
+ avl = remove_int(avl, 557);
+ avl = remove_int(avl, 102);
+ avl = remove_int(avl, 165);
+ avl = grpc_avl_add(avl, box(191), box(385), nullptr);
+ avl = remove_int(avl, 30);
+ avl = grpc_avl_add(avl, box(406), box(387), nullptr);
+ avl = grpc_avl_add(avl, box(66), box(388), nullptr);
+ avl = grpc_avl_add(avl, box(87), box(389), nullptr);
+ avl = remove_int(avl, 7);
+ avl = remove_int(avl, 671);
+ avl = grpc_avl_add(avl, box(234), box(392), nullptr);
+ avl = remove_int(avl, 463);
+ avl = grpc_avl_add(avl, box(75), box(394), nullptr);
+ avl = grpc_avl_add(avl, box(487), box(395), nullptr);
+ avl = remove_int(avl, 203);
+ avl = grpc_avl_add(avl, box(711), box(397), nullptr);
+ avl = remove_int(avl, 291);
+ avl = remove_int(avl, 798);
+ avl = remove_int(avl, 337);
+ avl = grpc_avl_add(avl, box(877), box(401), nullptr);
+ avl = grpc_avl_add(avl, box(388), box(402), nullptr);
+ avl = remove_int(avl, 975);
+ avl = grpc_avl_add(avl, box(200), box(404), nullptr);
+ avl = grpc_avl_add(avl, box(408), box(405), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(406), nullptr);
+ avl = grpc_avl_add(avl, box(971), box(407), nullptr);
+ avl = remove_int(avl, 841);
+ avl = remove_int(avl, 910);
+ avl = remove_int(avl, 74);
+ avl = remove_int(avl, 888);
+ avl = grpc_avl_add(avl, box(492), box(412), nullptr);
+ avl = remove_int(avl, 14);
+ avl = remove_int(avl, 364);
+ avl = grpc_avl_add(avl, box(215), box(415), nullptr);
+ avl = remove_int(avl, 778);
+ avl = remove_int(avl, 45);
+ avl = grpc_avl_add(avl, box(328), box(418), nullptr);
+ avl = grpc_avl_add(avl, box(597), box(419), nullptr);
+ avl = remove_int(avl, 34);
+ avl = grpc_avl_add(avl, box(736), box(421), nullptr);
+ avl = remove_int(avl, 37);
+ avl = grpc_avl_add(avl, box(275), box(423), nullptr);
+ avl = grpc_avl_add(avl, box(70), box(424), nullptr);
+ avl = grpc_avl_add(avl, box(771), box(425), nullptr);
+ avl = remove_int(avl, 536);
+ avl = remove_int(avl, 421);
+ avl = grpc_avl_add(avl, box(186), box(428), nullptr);
+ avl = grpc_avl_add(avl, box(788), box(429), nullptr);
+ avl = grpc_avl_add(avl, box(224), box(430), nullptr);
+ avl = remove_int(avl, 228);
+ avl = grpc_avl_add(avl, box(48), box(432), nullptr);
+ avl = grpc_avl_add(avl, box(120), box(433), nullptr);
+ avl = grpc_avl_add(avl, box(269), box(434), nullptr);
+ avl = grpc_avl_add(avl, box(904), box(435), nullptr);
+ avl = remove_int(avl, 699);
+ avl = grpc_avl_add(avl, box(340), box(437), nullptr);
+ avl = remove_int(avl, 276);
+ avl = grpc_avl_add(avl, box(591), box(439), nullptr);
+ avl = grpc_avl_add(avl, box(778), box(440), nullptr);
+ avl = remove_int(avl, 490);
+ avl = remove_int(avl, 973);
+ avl = grpc_avl_add(avl, box(294), box(443), nullptr);
+ avl = grpc_avl_add(avl, box(323), box(444), nullptr);
+ avl = remove_int(avl, 685);
+ avl = grpc_avl_add(avl, box(38), box(446), nullptr);
+ avl = grpc_avl_add(avl, box(525), box(447), nullptr);
+ avl = remove_int(avl, 162);
+ avl = grpc_avl_add(avl, box(462), box(449), nullptr);
+ avl = grpc_avl_add(avl, box(340), box(450), nullptr);
+ avl = remove_int(avl, 734);
+ avl = remove_int(avl, 959);
+ avl = grpc_avl_add(avl, box(752), box(453), nullptr);
+ avl = grpc_avl_add(avl, box(667), box(454), nullptr);
+ avl = remove_int(avl, 558);
+ avl = remove_int(avl, 657);
+ avl = grpc_avl_add(avl, box(711), box(457), nullptr);
+ avl = remove_int(avl, 937);
+ avl = grpc_avl_add(avl, box(741), box(459), nullptr);
+ avl = grpc_avl_add(avl, box(40), box(460), nullptr);
+ avl = remove_int(avl, 784);
+ avl = grpc_avl_add(avl, box(292), box(462), nullptr);
+ avl = remove_int(avl, 164);
+ avl = remove_int(avl, 931);
+ avl = remove_int(avl, 886);
+ avl = grpc_avl_add(avl, box(968), box(466), nullptr);
+ avl = remove_int(avl, 263);
+ avl = grpc_avl_add(avl, box(647), box(468), nullptr);
+ avl = grpc_avl_add(avl, box(92), box(469), nullptr);
+ avl = remove_int(avl, 310);
+ avl = grpc_avl_add(avl, box(711), box(471), nullptr);
+ avl = grpc_avl_add(avl, box(675), box(472), nullptr);
+ avl = remove_int(avl, 549);
+ avl = grpc_avl_add(avl, box(380), box(474), nullptr);
+ avl = remove_int(avl, 825);
+ avl = grpc_avl_add(avl, box(668), box(476), nullptr);
+ avl = remove_int(avl, 498);
+ avl = grpc_avl_add(avl, box(870), box(478), nullptr);
+ avl = grpc_avl_add(avl, box(391), box(479), nullptr);
+ avl = grpc_avl_add(avl, box(264), box(480), nullptr);
+ avl = remove_int(avl, 1);
+ avl = remove_int(avl, 849);
+ avl = remove_int(avl, 88);
+ avl = remove_int(avl, 255);
+ avl = remove_int(avl, 763);
+ avl = remove_int(avl, 831);
+ avl = grpc_avl_add(avl, box(508), box(487), nullptr);
+ avl = remove_int(avl, 849);
+ avl = remove_int(avl, 47);
+ avl = grpc_avl_add(avl, box(299), box(490), nullptr);
+ avl = remove_int(avl, 625);
+ avl = remove_int(avl, 433);
+ avl = remove_int(avl, 904);
+ avl = remove_int(avl, 761);
+ avl = grpc_avl_add(avl, box(33), box(495), nullptr);
+ avl = grpc_avl_add(avl, box(524), box(496), nullptr);
+ avl = remove_int(avl, 210);
+ avl = remove_int(avl, 299);
+ avl = grpc_avl_add(avl, box(823), box(499), nullptr);
+ avl = remove_int(avl, 479);
+ avl = remove_int(avl, 96);
+ avl = remove_int(avl, 1013);
+ avl = grpc_avl_add(avl, box(768), box(503), nullptr);
+ avl = remove_int(avl, 638);
+ avl = remove_int(avl, 20);
+ avl = grpc_avl_add(avl, box(663), box(506), nullptr);
+ avl = remove_int(avl, 882);
+ avl = grpc_avl_add(avl, box(745), box(508), nullptr);
+ avl = remove_int(avl, 352);
+ avl = grpc_avl_add(avl, box(10), box(510), nullptr);
+ avl = remove_int(avl, 484);
+ avl = grpc_avl_add(avl, box(420), box(512), nullptr);
+ avl = grpc_avl_add(avl, box(884), box(513), nullptr);
+ avl = grpc_avl_add(avl, box(993), box(514), nullptr);
+ avl = grpc_avl_add(avl, box(251), box(515), nullptr);
+ avl = remove_int(avl, 222);
+ avl = grpc_avl_add(avl, box(734), box(517), nullptr);
+ avl = grpc_avl_add(avl, box(952), box(518), nullptr);
+ avl = remove_int(avl, 26);
+ avl = remove_int(avl, 270);
+ avl = remove_int(avl, 481);
+ avl = remove_int(avl, 693);
+ avl = remove_int(avl, 1006);
+ avl = grpc_avl_add(avl, box(77), box(524), nullptr);
+ avl = remove_int(avl, 897);
+ avl = grpc_avl_add(avl, box(719), box(526), nullptr);
+ avl = grpc_avl_add(avl, box(622), box(527), nullptr);
+ avl = remove_int(avl, 28);
+ avl = remove_int(avl, 836);
+ avl = remove_int(avl, 142);
+ avl = grpc_avl_add(avl, box(445), box(531), nullptr);
+ avl = grpc_avl_add(avl, box(410), box(532), nullptr);
+ avl = remove_int(avl, 575);
+ avl = grpc_avl_add(avl, box(634), box(534), nullptr);
+ avl = grpc_avl_add(avl, box(906), box(535), nullptr);
+ avl = remove_int(avl, 649);
+ avl = grpc_avl_add(avl, box(813), box(537), nullptr);
+ avl = remove_int(avl, 702);
+ avl = remove_int(avl, 732);
+ avl = grpc_avl_add(avl, box(105), box(540), nullptr);
+ avl = grpc_avl_add(avl, box(867), box(541), nullptr);
+ avl = remove_int(avl, 964);
+ avl = remove_int(avl, 941);
+ avl = grpc_avl_add(avl, box(947), box(544), nullptr);
+ avl = remove_int(avl, 990);
+ avl = grpc_avl_add(avl, box(816), box(546), nullptr);
+ avl = remove_int(avl, 429);
+ avl = remove_int(avl, 567);
+ avl = remove_int(avl, 541);
+ avl = remove_int(avl, 583);
+ avl = grpc_avl_add(avl, box(57), box(551), nullptr);
+ avl = grpc_avl_add(avl, box(786), box(552), nullptr);
+ avl = grpc_avl_add(avl, box(526), box(553), nullptr);
+ avl = remove_int(avl, 642);
+ avl = remove_int(avl, 220);
+ avl = remove_int(avl, 840);
+ avl = remove_int(avl, 548);
+ avl = grpc_avl_add(avl, box(528), box(558), nullptr);
+ avl = grpc_avl_add(avl, box(749), box(559), nullptr);
+ avl = grpc_avl_add(avl, box(194), box(560), nullptr);
+ avl = remove_int(avl, 517);
+ avl = grpc_avl_add(avl, box(102), box(562), nullptr);
+ avl = remove_int(avl, 189);
+ avl = grpc_avl_add(avl, box(927), box(564), nullptr);
+ avl = remove_int(avl, 846);
+ avl = remove_int(avl, 130);
+ avl = grpc_avl_add(avl, box(694), box(567), nullptr);
+ avl = remove_int(avl, 750);
+ avl = grpc_avl_add(avl, box(357), box(569), nullptr);
+ avl = remove_int(avl, 431);
+ avl = remove_int(avl, 91);
+ avl = grpc_avl_add(avl, box(640), box(572), nullptr);
+ avl = remove_int(avl, 4);
+ avl = grpc_avl_add(avl, box(81), box(574), nullptr);
+ avl = grpc_avl_add(avl, box(595), box(575), nullptr);
+ avl = remove_int(avl, 444);
+ avl = remove_int(avl, 262);
+ avl = remove_int(avl, 11);
+ avl = grpc_avl_add(avl, box(192), box(579), nullptr);
+ avl = grpc_avl_add(avl, box(158), box(580), nullptr);
+ avl = remove_int(avl, 401);
+ avl = remove_int(avl, 918);
+ avl = grpc_avl_add(avl, box(180), box(583), nullptr);
+ avl = remove_int(avl, 268);
+ avl = grpc_avl_add(avl, box(1012), box(585), nullptr);
+ avl = grpc_avl_add(avl, box(90), box(586), nullptr);
+ avl = grpc_avl_add(avl, box(946), box(587), nullptr);
+ avl = remove_int(avl, 719);
+ avl = grpc_avl_add(avl, box(874), box(589), nullptr);
+ avl = grpc_avl_add(avl, box(679), box(590), nullptr);
+ avl = remove_int(avl, 53);
+ avl = remove_int(avl, 534);
+ avl = grpc_avl_add(avl, box(646), box(593), nullptr);
+ avl = grpc_avl_add(avl, box(767), box(594), nullptr);
+ avl = grpc_avl_add(avl, box(460), box(595), nullptr);
+ avl = grpc_avl_add(avl, box(852), box(596), nullptr);
+ avl = grpc_avl_add(avl, box(189), box(597), nullptr);
+ avl = remove_int(avl, 932);
+ avl = remove_int(avl, 366);
+ avl = remove_int(avl, 907);
+ avl = grpc_avl_add(avl, box(875), box(601), nullptr);
+ avl = grpc_avl_add(avl, box(434), box(602), nullptr);
+ avl = grpc_avl_add(avl, box(704), box(603), nullptr);
+ avl = grpc_avl_add(avl, box(724), box(604), nullptr);
+ avl = grpc_avl_add(avl, box(930), box(605), nullptr);
+ avl = grpc_avl_add(avl, box(1000), box(606), nullptr);
+ avl = remove_int(avl, 479);
+ avl = grpc_avl_add(avl, box(275), box(608), nullptr);
+ avl = remove_int(avl, 32);
+ avl = grpc_avl_add(avl, box(939), box(610), nullptr);
+ avl = remove_int(avl, 943);
+ avl = remove_int(avl, 329);
+ avl = grpc_avl_add(avl, box(490), box(613), nullptr);
+ avl = remove_int(avl, 477);
+ avl = remove_int(avl, 414);
+ avl = remove_int(avl, 187);
+ avl = remove_int(avl, 334);
+ avl = grpc_avl_add(avl, box(40), box(618), nullptr);
+ avl = remove_int(avl, 751);
+ avl = grpc_avl_add(avl, box(568), box(620), nullptr);
+ avl = grpc_avl_add(avl, box(120), box(621), nullptr);
+ avl = grpc_avl_add(avl, box(617), box(622), nullptr);
+ avl = grpc_avl_add(avl, box(32), box(623), nullptr);
+ avl = remove_int(avl, 701);
+ avl = grpc_avl_add(avl, box(910), box(625), nullptr);
+ avl = remove_int(avl, 557);
+ avl = remove_int(avl, 361);
+ avl = remove_int(avl, 937);
+ avl = remove_int(avl, 100);
+ avl = remove_int(avl, 684);
+ avl = grpc_avl_add(avl, box(751), box(631), nullptr);
+ avl = remove_int(avl, 781);
+ avl = remove_int(avl, 469);
+ avl = remove_int(avl, 75);
+ avl = remove_int(avl, 561);
+ avl = grpc_avl_add(avl, box(854), box(636), nullptr);
+ avl = remove_int(avl, 164);
+ avl = remove_int(avl, 258);
+ avl = remove_int(avl, 315);
+ avl = remove_int(avl, 261);
+ avl = grpc_avl_add(avl, box(552), box(641), nullptr);
+ avl = grpc_avl_add(avl, box(6), box(642), nullptr);
+ avl = grpc_avl_add(avl, box(680), box(643), nullptr);
+ avl = remove_int(avl, 741);
+ avl = remove_int(avl, 309);
+ avl = remove_int(avl, 272);
+ avl = grpc_avl_add(avl, box(249), box(647), nullptr);
+ avl = remove_int(avl, 97);
+ avl = remove_int(avl, 850);
+ avl = grpc_avl_add(avl, box(915), box(650), nullptr);
+ avl = grpc_avl_add(avl, box(816), box(651), nullptr);
+ avl = grpc_avl_add(avl, box(45), box(652), nullptr);
+ avl = grpc_avl_add(avl, box(168), box(653), nullptr);
+ avl = remove_int(avl, 153);
+ avl = remove_int(avl, 239);
+ avl = grpc_avl_add(avl, box(684), box(656), nullptr);
+ avl = grpc_avl_add(avl, box(208), box(657), nullptr);
+ avl = grpc_avl_add(avl, box(681), box(658), nullptr);
+ avl = grpc_avl_add(avl, box(609), box(659), nullptr);
+ avl = grpc_avl_add(avl, box(645), box(660), nullptr);
+ avl = remove_int(avl, 799);
+ avl = grpc_avl_add(avl, box(955), box(662), nullptr);
+ avl = grpc_avl_add(avl, box(946), box(663), nullptr);
+ avl = grpc_avl_add(avl, box(744), box(664), nullptr);
+ avl = grpc_avl_add(avl, box(201), box(665), nullptr);
+ avl = grpc_avl_add(avl, box(136), box(666), nullptr);
+ avl = remove_int(avl, 357);
+ avl = grpc_avl_add(avl, box(974), box(668), nullptr);
+ avl = remove_int(avl, 485);
+ avl = grpc_avl_add(avl, box(1009), box(670), nullptr);
+ avl = grpc_avl_add(avl, box(517), box(671), nullptr);
+ avl = remove_int(avl, 491);
+ avl = grpc_avl_add(avl, box(336), box(673), nullptr);
+ avl = grpc_avl_add(avl, box(589), box(674), nullptr);
+ avl = remove_int(avl, 546);
+ avl = remove_int(avl, 840);
+ avl = remove_int(avl, 104);
+ avl = remove_int(avl, 347);
+ avl = grpc_avl_add(avl, box(801), box(679), nullptr);
+ avl = remove_int(avl, 799);
+ avl = remove_int(avl, 702);
+ avl = remove_int(avl, 996);
+ avl = remove_int(avl, 93);
+ avl = grpc_avl_add(avl, box(561), box(684), nullptr);
+ avl = grpc_avl_add(avl, box(25), box(685), nullptr);
+ avl = remove_int(avl, 278);
+ avl = grpc_avl_add(avl, box(191), box(687), nullptr);
+ avl = remove_int(avl, 243);
+ avl = remove_int(avl, 918);
+ avl = remove_int(avl, 449);
+ avl = grpc_avl_add(avl, box(19), box(691), nullptr);
+ avl = grpc_avl_add(avl, box(762), box(692), nullptr);
+ avl = grpc_avl_add(avl, box(13), box(693), nullptr);
+ avl = grpc_avl_add(avl, box(151), box(694), nullptr);
+ avl = grpc_avl_add(avl, box(152), box(695), nullptr);
+ avl = grpc_avl_add(avl, box(793), box(696), nullptr);
+ avl = remove_int(avl, 862);
+ avl = remove_int(avl, 890);
+ avl = grpc_avl_add(avl, box(687), box(699), nullptr);
+ avl = grpc_avl_add(avl, box(509), box(700), nullptr);
+ avl = grpc_avl_add(avl, box(973), box(701), nullptr);
+ avl = remove_int(avl, 230);
+ avl = grpc_avl_add(avl, box(532), box(703), nullptr);
+ avl = remove_int(avl, 668);
+ avl = grpc_avl_add(avl, box(281), box(705), nullptr);
+ avl = grpc_avl_add(avl, box(867), box(706), nullptr);
+ avl = grpc_avl_add(avl, box(359), box(707), nullptr);
+ avl = remove_int(avl, 425);
+ avl = grpc_avl_add(avl, box(691), box(709), nullptr);
+ avl = grpc_avl_add(avl, box(163), box(710), nullptr);
+ avl = grpc_avl_add(avl, box(502), box(711), nullptr);
+ avl = remove_int(avl, 674);
+ avl = grpc_avl_add(avl, box(697), box(713), nullptr);
+ avl = remove_int(avl, 271);
+ avl = grpc_avl_add(avl, box(968), box(715), nullptr);
+ avl = grpc_avl_add(avl, box(48), box(716), nullptr);
+ avl = remove_int(avl, 543);
+ avl = grpc_avl_add(avl, box(35), box(718), nullptr);
+ avl = grpc_avl_add(avl, box(751), box(719), nullptr);
+ avl = grpc_avl_add(avl, box(478), box(720), nullptr);
+ avl = remove_int(avl, 797);
+ avl = remove_int(avl, 309);
+ avl = grpc_avl_add(avl, box(927), box(723), nullptr);
+ avl = remove_int(avl, 504);
+ avl = grpc_avl_add(avl, box(286), box(725), nullptr);
+ avl = grpc_avl_add(avl, box(413), box(726), nullptr);
+ avl = grpc_avl_add(avl, box(599), box(727), nullptr);
+ avl = remove_int(avl, 105);
+ avl = remove_int(avl, 605);
+ avl = grpc_avl_add(avl, box(632), box(730), nullptr);
+ avl = grpc_avl_add(avl, box(133), box(731), nullptr);
+ avl = remove_int(avl, 443);
+ avl = grpc_avl_add(avl, box(958), box(733), nullptr);
+ avl = grpc_avl_add(avl, box(729), box(734), nullptr);
+ avl = remove_int(avl, 158);
+ avl = grpc_avl_add(avl, box(694), box(736), nullptr);
+ avl = grpc_avl_add(avl, box(505), box(737), nullptr);
+ avl = remove_int(avl, 63);
+ avl = remove_int(avl, 714);
+ avl = grpc_avl_add(avl, box(1002), box(740), nullptr);
+ avl = remove_int(avl, 211);
+ avl = grpc_avl_add(avl, box(765), box(742), nullptr);
+ avl = grpc_avl_add(avl, box(455), box(743), nullptr);
+ avl = remove_int(avl, 59);
+ avl = remove_int(avl, 224);
+ avl = grpc_avl_add(avl, box(586), box(746), nullptr);
+ avl = grpc_avl_add(avl, box(348), box(747), nullptr);
+ avl = remove_int(avl, 10);
+ avl = remove_int(avl, 484);
+ avl = grpc_avl_add(avl, box(968), box(750), nullptr);
+ avl = grpc_avl_add(avl, box(923), box(751), nullptr);
+ avl = remove_int(avl, 573);
+ avl = remove_int(avl, 617);
+ avl = grpc_avl_add(avl, box(812), box(754), nullptr);
+ avl = grpc_avl_add(avl, box(179), box(755), nullptr);
+ avl = remove_int(avl, 284);
+ avl = remove_int(avl, 157);
+ avl = remove_int(avl, 177);
+ avl = remove_int(avl, 896);
+ avl = grpc_avl_add(avl, box(649), box(760), nullptr);
+ avl = grpc_avl_add(avl, box(927), box(761), nullptr);
+ avl = grpc_avl_add(avl, box(454), box(762), nullptr);
+ avl = grpc_avl_add(avl, box(217), box(763), nullptr);
+ avl = remove_int(avl, 534);
+ avl = grpc_avl_add(avl, box(180), box(765), nullptr);
+ avl = grpc_avl_add(avl, box(319), box(766), nullptr);
+ avl = remove_int(avl, 92);
+ avl = grpc_avl_add(avl, box(483), box(768), nullptr);
+ avl = remove_int(avl, 504);
+ avl = remove_int(avl, 1017);
+ avl = remove_int(avl, 37);
+ avl = remove_int(avl, 50);
+ avl = grpc_avl_add(avl, box(302), box(773), nullptr);
+ avl = remove_int(avl, 807);
+ avl = grpc_avl_add(avl, box(463), box(775), nullptr);
+ avl = grpc_avl_add(avl, box(271), box(776), nullptr);
+ avl = grpc_avl_add(avl, box(644), box(777), nullptr);
+ avl = remove_int(avl, 618);
+ avl = grpc_avl_add(avl, box(166), box(779), nullptr);
+ avl = grpc_avl_add(avl, box(538), box(780), nullptr);
+ avl = remove_int(avl, 606);
+ avl = grpc_avl_add(avl, box(425), box(782), nullptr);
+ avl = remove_int(avl, 725);
+ avl = remove_int(avl, 383);
+ avl = grpc_avl_add(avl, box(155), box(785), nullptr);
+ avl = remove_int(avl, 889);
+ avl = grpc_avl_add(avl, box(653), box(787), nullptr);
+ avl = remove_int(avl, 386);
+ avl = grpc_avl_add(avl, box(142), box(789), nullptr);
+ avl = remove_int(avl, 107);
+ avl = remove_int(avl, 603);
+ avl = remove_int(avl, 971);
+ avl = grpc_avl_add(avl, box(80), box(793), nullptr);
+ avl = grpc_avl_add(avl, box(61), box(794), nullptr);
+ avl = grpc_avl_add(avl, box(693), box(795), nullptr);
+ avl = grpc_avl_add(avl, box(592), box(796), nullptr);
+ avl = grpc_avl_add(avl, box(433), box(797), nullptr);
+ avl = grpc_avl_add(avl, box(973), box(798), nullptr);
+ avl = remove_int(avl, 901);
+ avl = remove_int(avl, 340);
+ avl = remove_int(avl, 709);
+ avl = grpc_avl_add(avl, box(224), box(802), nullptr);
+ avl = remove_int(avl, 120);
+ avl = remove_int(avl, 271);
+ avl = grpc_avl_add(avl, box(780), box(805), nullptr);
+ avl = grpc_avl_add(avl, box(867), box(806), nullptr);
+ avl = grpc_avl_add(avl, box(756), box(807), nullptr);
+ avl = grpc_avl_add(avl, box(583), box(808), nullptr);
+ avl = grpc_avl_add(avl, box(356), box(809), nullptr);
+ avl = grpc_avl_add(avl, box(58), box(810), nullptr);
+ avl = remove_int(avl, 219);
+ avl = grpc_avl_add(avl, box(301), box(812), nullptr);
+ avl = remove_int(avl, 643);
+ avl = remove_int(avl, 787);
+ avl = remove_int(avl, 583);
+ avl = remove_int(avl, 552);
+ avl = remove_int(avl, 308);
+ avl = remove_int(avl, 608);
+ avl = remove_int(avl, 363);
+ avl = remove_int(avl, 690);
+ avl = grpc_avl_add(avl, box(233), box(821), nullptr);
+ avl = grpc_avl_add(avl, box(479), box(822), nullptr);
+ avl = grpc_avl_add(avl, box(323), box(823), nullptr);
+ avl = grpc_avl_add(avl, box(802), box(824), nullptr);
+ avl = remove_int(avl, 682);
+ avl = remove_int(avl, 705);
+ avl = remove_int(avl, 487);
+ avl = grpc_avl_add(avl, box(530), box(828), nullptr);
+ avl = grpc_avl_add(avl, box(232), box(829), nullptr);
+ avl = remove_int(avl, 627);
+ avl = grpc_avl_add(avl, box(396), box(831), nullptr);
+ avl = grpc_avl_add(avl, box(61), box(832), nullptr);
+ avl = grpc_avl_add(avl, box(932), box(833), nullptr);
+ avl = grpc_avl_add(avl, box(108), box(834), nullptr);
+ avl = grpc_avl_add(avl, box(524), box(835), nullptr);
+ avl = remove_int(avl, 390);
+ avl = remove_int(avl, 307);
+ avl = grpc_avl_add(avl, box(722), box(838), nullptr);
+ avl = grpc_avl_add(avl, box(907), box(839), nullptr);
+ avl = remove_int(avl, 286);
+ avl = remove_int(avl, 337);
+ avl = remove_int(avl, 443);
+ avl = grpc_avl_add(avl, box(973), box(843), nullptr);
+ avl = remove_int(avl, 930);
+ avl = remove_int(avl, 242);
+ avl = grpc_avl_add(avl, box(997), box(846), nullptr);
+ avl = grpc_avl_add(avl, box(689), box(847), nullptr);
+ avl = remove_int(avl, 318);
+ avl = grpc_avl_add(avl, box(703), box(849), nullptr);
+ avl = grpc_avl_add(avl, box(868), box(850), nullptr);
+ avl = grpc_avl_add(avl, box(200), box(851), nullptr);
+ avl = grpc_avl_add(avl, box(960), box(852), nullptr);
+ avl = grpc_avl_add(avl, box(80), box(853), nullptr);
+ avl = remove_int(avl, 113);
+ avl = grpc_avl_add(avl, box(135), box(855), nullptr);
+ avl = remove_int(avl, 529);
+ avl = grpc_avl_add(avl, box(366), box(857), nullptr);
+ avl = remove_int(avl, 272);
+ avl = grpc_avl_add(avl, box(921), box(859), nullptr);
+ avl = remove_int(avl, 497);
+ avl = grpc_avl_add(avl, box(712), box(861), nullptr);
+ avl = remove_int(avl, 777);
+ avl = remove_int(avl, 505);
+ avl = remove_int(avl, 974);
+ avl = remove_int(avl, 497);
+ avl = grpc_avl_add(avl, box(388), box(866), nullptr);
+ avl = grpc_avl_add(avl, box(29), box(867), nullptr);
+ avl = grpc_avl_add(avl, box(180), box(868), nullptr);
+ avl = grpc_avl_add(avl, box(983), box(869), nullptr);
+ avl = grpc_avl_add(avl, box(72), box(870), nullptr);
+ avl = grpc_avl_add(avl, box(693), box(871), nullptr);
+ avl = grpc_avl_add(avl, box(567), box(872), nullptr);
+ avl = remove_int(avl, 549);
+ avl = remove_int(avl, 351);
+ avl = grpc_avl_add(avl, box(1019), box(875), nullptr);
+ avl = remove_int(avl, 585);
+ avl = remove_int(avl, 294);
+ avl = remove_int(avl, 61);
+ avl = grpc_avl_add(avl, box(409), box(879), nullptr);
+ avl = grpc_avl_add(avl, box(984), box(880), nullptr);
+ avl = grpc_avl_add(avl, box(830), box(881), nullptr);
+ avl = remove_int(avl, 579);
+ avl = grpc_avl_add(avl, box(672), box(883), nullptr);
+ avl = remove_int(avl, 968);
+
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_badcase3(void) {
+ grpc_avl avl;
+
+ gpr_log(GPR_DEBUG, "test_badcase3");
+
+ avl = grpc_avl_create(&int_int_vtable);
+ avl = remove_int(avl, 624);
+ avl = grpc_avl_add(avl, box(59), box(2), nullptr);
+ avl = grpc_avl_add(avl, box(494), box(3), nullptr);
+ avl = grpc_avl_add(avl, box(226), box(4), nullptr);
+ avl = remove_int(avl, 524);
+ avl = grpc_avl_add(avl, box(540), box(6), nullptr);
+ avl = remove_int(avl, 1008);
+ avl = grpc_avl_add(avl, box(502), box(8), nullptr);
+ avl = remove_int(avl, 267);
+ avl = remove_int(avl, 764);
+ avl = remove_int(avl, 443);
+ avl = grpc_avl_add(avl, box(8), box(12), nullptr);
+ avl = remove_int(avl, 291);
+ avl = remove_int(avl, 796);
+ avl = remove_int(avl, 1002);
+ avl = grpc_avl_add(avl, box(778), box(16), nullptr);
+ avl = remove_int(avl, 621);
+ avl = remove_int(avl, 891);
+ avl = remove_int(avl, 880);
+ avl = grpc_avl_add(avl, box(197), box(20), nullptr);
+ avl = grpc_avl_add(avl, box(441), box(21), nullptr);
+ avl = grpc_avl_add(avl, box(719), box(22), nullptr);
+ avl = remove_int(avl, 109);
+ avl = grpc_avl_add(avl, box(458), box(24), nullptr);
+ avl = remove_int(avl, 86);
+ avl = grpc_avl_add(avl, box(897), box(26), nullptr);
+ avl = grpc_avl_add(avl, box(997), box(27), nullptr);
+ avl = remove_int(avl, 235);
+ avl = remove_int(avl, 425);
+ avl = remove_int(avl, 186);
+ avl = grpc_avl_add(avl, box(887), box(31), nullptr);
+ avl = grpc_avl_add(avl, box(1005), box(32), nullptr);
+ avl = grpc_avl_add(avl, box(778), box(33), nullptr);
+ avl = grpc_avl_add(avl, box(575), box(34), nullptr);
+ avl = remove_int(avl, 966);
+ avl = remove_int(avl, 1015);
+ avl = grpc_avl_add(avl, box(486), box(37), nullptr);
+ avl = grpc_avl_add(avl, box(809), box(38), nullptr);
+ avl = grpc_avl_add(avl, box(907), box(39), nullptr);
+ avl = grpc_avl_add(avl, box(971), box(40), nullptr);
+ avl = remove_int(avl, 441);
+ avl = remove_int(avl, 498);
+ avl = grpc_avl_add(avl, box(727), box(43), nullptr);
+ avl = remove_int(avl, 679);
+ avl = remove_int(avl, 740);
+ avl = remove_int(avl, 532);
+ avl = grpc_avl_add(avl, box(805), box(47), nullptr);
+ avl = remove_int(avl, 64);
+ avl = grpc_avl_add(avl, box(362), box(49), nullptr);
+ avl = grpc_avl_add(avl, box(170), box(50), nullptr);
+ avl = grpc_avl_add(avl, box(389), box(51), nullptr);
+ avl = grpc_avl_add(avl, box(689), box(52), nullptr);
+ avl = remove_int(avl, 871);
+ avl = grpc_avl_add(avl, box(447), box(54), nullptr);
+ avl = remove_int(avl, 718);
+ avl = grpc_avl_add(avl, box(724), box(56), nullptr);
+ avl = remove_int(avl, 215);
+ avl = grpc_avl_add(avl, box(550), box(58), nullptr);
+ avl = remove_int(avl, 932);
+ avl = grpc_avl_add(avl, box(47), box(60), nullptr);
+ avl = remove_int(avl, 46);
+ avl = remove_int(avl, 229);
+ avl = grpc_avl_add(avl, box(68), box(63), nullptr);
+ avl = grpc_avl_add(avl, box(387), box(64), nullptr);
+ avl = remove_int(avl, 933);
+ avl = remove_int(avl, 736);
+ avl = remove_int(avl, 719);
+ avl = grpc_avl_add(avl, box(150), box(68), nullptr);
+ avl = remove_int(avl, 875);
+ avl = remove_int(avl, 298);
+ avl = grpc_avl_add(avl, box(991), box(71), nullptr);
+ avl = remove_int(avl, 705);
+ avl = grpc_avl_add(avl, box(197), box(73), nullptr);
+ avl = grpc_avl_add(avl, box(101), box(74), nullptr);
+ avl = remove_int(avl, 436);
+ avl = grpc_avl_add(avl, box(755), box(76), nullptr);
+ avl = grpc_avl_add(avl, box(727), box(77), nullptr);
+ avl = remove_int(avl, 309);
+ avl = remove_int(avl, 253);
+ avl = grpc_avl_add(avl, box(203), box(80), nullptr);
+ avl = remove_int(avl, 231);
+ avl = grpc_avl_add(avl, box(461), box(82), nullptr);
+ avl = remove_int(avl, 316);
+ avl = remove_int(avl, 493);
+ avl = grpc_avl_add(avl, box(184), box(85), nullptr);
+ avl = remove_int(avl, 737);
+ avl = grpc_avl_add(avl, box(790), box(87), nullptr);
+ avl = grpc_avl_add(avl, box(335), box(88), nullptr);
+ avl = remove_int(avl, 649);
+ avl = grpc_avl_add(avl, box(69), box(90), nullptr);
+ avl = remove_int(avl, 585);
+ avl = remove_int(avl, 543);
+ avl = grpc_avl_add(avl, box(784), box(93), nullptr);
+ avl = grpc_avl_add(avl, box(60), box(94), nullptr);
+ avl = grpc_avl_add(avl, box(525), box(95), nullptr);
+ avl = grpc_avl_add(avl, box(177), box(96), nullptr);
+ avl = grpc_avl_add(avl, box(178), box(97), nullptr);
+ avl = grpc_avl_add(avl, box(683), box(98), nullptr);
+ avl = grpc_avl_add(avl, box(226), box(99), nullptr);
+ avl = grpc_avl_add(avl, box(662), box(100), nullptr);
+ avl = remove_int(avl, 944);
+ avl = grpc_avl_add(avl, box(562), box(102), nullptr);
+ avl = grpc_avl_add(avl, box(793), box(103), nullptr);
+ avl = remove_int(avl, 673);
+ avl = grpc_avl_add(avl, box(310), box(105), nullptr);
+ avl = remove_int(avl, 479);
+ avl = remove_int(avl, 543);
+ avl = remove_int(avl, 159);
+ avl = remove_int(avl, 850);
+ avl = grpc_avl_add(avl, box(318), box(110), nullptr);
+ avl = grpc_avl_add(avl, box(483), box(111), nullptr);
+ avl = grpc_avl_add(avl, box(84), box(112), nullptr);
+ avl = remove_int(avl, 109);
+ avl = grpc_avl_add(avl, box(132), box(114), nullptr);
+ avl = grpc_avl_add(avl, box(920), box(115), nullptr);
+ avl = remove_int(avl, 746);
+ avl = grpc_avl_add(avl, box(145), box(117), nullptr);
+ avl = grpc_avl_add(avl, box(526), box(118), nullptr);
+ avl = remove_int(avl, 158);
+ avl = grpc_avl_add(avl, box(332), box(120), nullptr);
+ avl = grpc_avl_add(avl, box(918), box(121), nullptr);
+ avl = remove_int(avl, 339);
+ avl = grpc_avl_add(avl, box(809), box(123), nullptr);
+ avl = grpc_avl_add(avl, box(742), box(124), nullptr);
+ avl = grpc_avl_add(avl, box(718), box(125), nullptr);
+ avl = remove_int(avl, 988);
+ avl = remove_int(avl, 531);
+ avl = remove_int(avl, 840);
+ avl = grpc_avl_add(avl, box(816), box(129), nullptr);
+ avl = grpc_avl_add(avl, box(976), box(130), nullptr);
+ avl = remove_int(avl, 743);
+ avl = remove_int(avl, 528);
+ avl = remove_int(avl, 982);
+ avl = grpc_avl_add(avl, box(803), box(134), nullptr);
+ avl = grpc_avl_add(avl, box(205), box(135), nullptr);
+ avl = grpc_avl_add(avl, box(584), box(136), nullptr);
+ avl = remove_int(avl, 923);
+ avl = remove_int(avl, 538);
+ avl = remove_int(avl, 398);
+ avl = remove_int(avl, 320);
+ avl = remove_int(avl, 292);
+ avl = grpc_avl_add(avl, box(270), box(142), nullptr);
+ avl = grpc_avl_add(avl, box(333), box(143), nullptr);
+ avl = remove_int(avl, 439);
+ avl = grpc_avl_add(avl, box(35), box(145), nullptr);
+ avl = grpc_avl_add(avl, box(837), box(146), nullptr);
+ avl = remove_int(avl, 65);
+ avl = remove_int(avl, 642);
+ avl = remove_int(avl, 371);
+ avl = remove_int(avl, 140);
+ avl = remove_int(avl, 533);
+ avl = remove_int(avl, 676);
+ avl = grpc_avl_add(avl, box(624), box(153), nullptr);
+ avl = grpc_avl_add(avl, box(116), box(154), nullptr);
+ avl = grpc_avl_add(avl, box(446), box(155), nullptr);
+ avl = remove_int(avl, 91);
+ avl = remove_int(avl, 721);
+ avl = remove_int(avl, 537);
+ avl = grpc_avl_add(avl, box(448), box(159), nullptr);
+ avl = remove_int(avl, 155);
+ avl = remove_int(avl, 344);
+ avl = remove_int(avl, 237);
+ avl = grpc_avl_add(avl, box(309), box(163), nullptr);
+ avl = grpc_avl_add(avl, box(434), box(164), nullptr);
+ avl = grpc_avl_add(avl, box(277), box(165), nullptr);
+ avl = remove_int(avl, 233);
+ avl = grpc_avl_add(avl, box(275), box(167), nullptr);
+ avl = grpc_avl_add(avl, box(218), box(168), nullptr);
+ avl = grpc_avl_add(avl, box(76), box(169), nullptr);
+ avl = grpc_avl_add(avl, box(898), box(170), nullptr);
+ avl = remove_int(avl, 771);
+ avl = grpc_avl_add(avl, box(237), box(172), nullptr);
+ avl = remove_int(avl, 327);
+ avl = grpc_avl_add(avl, box(499), box(174), nullptr);
+ avl = remove_int(avl, 727);
+ avl = remove_int(avl, 234);
+ avl = remove_int(avl, 623);
+ avl = remove_int(avl, 458);
+ avl = remove_int(avl, 326);
+ avl = remove_int(avl, 589);
+ avl = grpc_avl_add(avl, box(442), box(181), nullptr);
+ avl = remove_int(avl, 389);
+ avl = grpc_avl_add(avl, box(708), box(183), nullptr);
+ avl = grpc_avl_add(avl, box(594), box(184), nullptr);
+ avl = grpc_avl_add(avl, box(942), box(185), nullptr);
+ avl = grpc_avl_add(avl, box(282), box(186), nullptr);
+ avl = remove_int(avl, 434);
+ avl = remove_int(avl, 134);
+ avl = remove_int(avl, 270);
+ avl = remove_int(avl, 512);
+ avl = remove_int(avl, 265);
+ avl = remove_int(avl, 21);
+ avl = remove_int(avl, 193);
+ avl = remove_int(avl, 797);
+ avl = remove_int(avl, 347);
+ avl = grpc_avl_add(avl, box(99), box(196), nullptr);
+ avl = grpc_avl_add(avl, box(161), box(197), nullptr);
+ avl = remove_int(avl, 484);
+ avl = grpc_avl_add(avl, box(72), box(199), nullptr);
+ avl = remove_int(avl, 629);
+ avl = grpc_avl_add(avl, box(522), box(201), nullptr);
+ avl = remove_int(avl, 679);
+ avl = grpc_avl_add(avl, box(407), box(203), nullptr);
+ avl = remove_int(avl, 693);
+ avl = grpc_avl_add(avl, box(424), box(205), nullptr);
+ avl = grpc_avl_add(avl, box(651), box(206), nullptr);
+ avl = grpc_avl_add(avl, box(927), box(207), nullptr);
+ avl = remove_int(avl, 553);
+ avl = grpc_avl_add(avl, box(128), box(209), nullptr);
+ avl = grpc_avl_add(avl, box(616), box(210), nullptr);
+ avl = grpc_avl_add(avl, box(690), box(211), nullptr);
+ avl = remove_int(avl, 241);
+ avl = remove_int(avl, 179);
+ avl = grpc_avl_add(avl, box(697), box(214), nullptr);
+ avl = remove_int(avl, 779);
+ avl = grpc_avl_add(avl, box(241), box(216), nullptr);
+ avl = remove_int(avl, 190);
+ avl = remove_int(avl, 210);
+ avl = grpc_avl_add(avl, box(711), box(219), nullptr);
+ avl = remove_int(avl, 251);
+ avl = remove_int(avl, 61);
+ avl = grpc_avl_add(avl, box(800), box(222), nullptr);
+ avl = remove_int(avl, 551);
+ avl = grpc_avl_add(avl, box(61), box(224), nullptr);
+ avl = grpc_avl_add(avl, box(656), box(225), nullptr);
+ avl = remove_int(avl, 130);
+ avl = remove_int(avl, 368);
+ avl = remove_int(avl, 150);
+ avl = remove_int(avl, 73);
+ avl = grpc_avl_add(avl, box(799), box(230), nullptr);
+ avl = grpc_avl_add(avl, box(125), box(231), nullptr);
+ avl = remove_int(avl, 107);
+ avl = grpc_avl_add(avl, box(938), box(233), nullptr);
+ avl = grpc_avl_add(avl, box(914), box(234), nullptr);
+ avl = grpc_avl_add(avl, box(197), box(235), nullptr);
+ avl = remove_int(avl, 736);
+ avl = grpc_avl_add(avl, box(20), box(237), nullptr);
+ avl = remove_int(avl, 224);
+ avl = remove_int(avl, 841);
+ avl = grpc_avl_add(avl, box(226), box(240), nullptr);
+ avl = remove_int(avl, 963);
+ avl = remove_int(avl, 796);
+ avl = remove_int(avl, 728);
+ avl = grpc_avl_add(avl, box(855), box(244), nullptr);
+ avl = grpc_avl_add(avl, box(769), box(245), nullptr);
+ avl = grpc_avl_add(avl, box(631), box(246), nullptr);
+ avl = remove_int(avl, 648);
+ avl = grpc_avl_add(avl, box(187), box(248), nullptr);
+ avl = grpc_avl_add(avl, box(31), box(249), nullptr);
+ avl = remove_int(avl, 163);
+ avl = grpc_avl_add(avl, box(218), box(251), nullptr);
+ avl = grpc_avl_add(avl, box(488), box(252), nullptr);
+ avl = grpc_avl_add(avl, box(387), box(253), nullptr);
+ avl = grpc_avl_add(avl, box(809), box(254), nullptr);
+ avl = grpc_avl_add(avl, box(997), box(255), nullptr);
+ avl = remove_int(avl, 678);
+ avl = grpc_avl_add(avl, box(368), box(257), nullptr);
+ avl = grpc_avl_add(avl, box(220), box(258), nullptr);
+ avl = grpc_avl_add(avl, box(373), box(259), nullptr);
+ avl = remove_int(avl, 874);
+ avl = remove_int(avl, 682);
+ avl = remove_int(avl, 1014);
+ avl = remove_int(avl, 195);
+ avl = grpc_avl_add(avl, box(868), box(264), nullptr);
+ avl = remove_int(avl, 254);
+ avl = remove_int(avl, 456);
+ avl = grpc_avl_add(avl, box(906), box(267), nullptr);
+ avl = remove_int(avl, 711);
+ avl = grpc_avl_add(avl, box(632), box(269), nullptr);
+ avl = remove_int(avl, 474);
+ avl = grpc_avl_add(avl, box(508), box(271), nullptr);
+ avl = grpc_avl_add(avl, box(518), box(272), nullptr);
+ avl = remove_int(avl, 579);
+ avl = remove_int(avl, 948);
+ avl = grpc_avl_add(avl, box(789), box(275), nullptr);
+ avl = grpc_avl_add(avl, box(48), box(276), nullptr);
+ avl = grpc_avl_add(avl, box(256), box(277), nullptr);
+ avl = grpc_avl_add(avl, box(754), box(278), nullptr);
+ avl = remove_int(avl, 215);
+ avl = grpc_avl_add(avl, box(679), box(280), nullptr);
+ avl = grpc_avl_add(avl, box(606), box(281), nullptr);
+ avl = remove_int(avl, 941);
+ avl = remove_int(avl, 31);
+ avl = grpc_avl_add(avl, box(758), box(284), nullptr);
+ avl = remove_int(avl, 101);
+ avl = grpc_avl_add(avl, box(244), box(286), nullptr);
+ avl = grpc_avl_add(avl, box(337), box(287), nullptr);
+ avl = grpc_avl_add(avl, box(461), box(288), nullptr);
+ avl = remove_int(avl, 476);
+ avl = grpc_avl_add(avl, box(845), box(290), nullptr);
+ avl = remove_int(avl, 160);
+ avl = grpc_avl_add(avl, box(690), box(292), nullptr);
+ avl = remove_int(avl, 931);
+ avl = grpc_avl_add(avl, box(869), box(294), nullptr);
+ avl = grpc_avl_add(avl, box(1019), box(295), nullptr);
+ avl = remove_int(avl, 591);
+ avl = remove_int(avl, 635);
+ avl = remove_int(avl, 67);
+ avl = grpc_avl_add(avl, box(113), box(299), nullptr);
+ avl = remove_int(avl, 305);
+ avl = grpc_avl_add(avl, box(10), box(301), nullptr);
+ avl = remove_int(avl, 823);
+ avl = remove_int(avl, 288);
+ avl = remove_int(avl, 239);
+ avl = grpc_avl_add(avl, box(646), box(305), nullptr);
+ avl = grpc_avl_add(avl, box(1006), box(306), nullptr);
+ avl = grpc_avl_add(avl, box(954), box(307), nullptr);
+ avl = grpc_avl_add(avl, box(199), box(308), nullptr);
+ avl = grpc_avl_add(avl, box(69), box(309), nullptr);
+ avl = grpc_avl_add(avl, box(984), box(310), nullptr);
+ avl = remove_int(avl, 568);
+ avl = remove_int(avl, 666);
+ avl = remove_int(avl, 37);
+ avl = grpc_avl_add(avl, box(845), box(314), nullptr);
+ avl = remove_int(avl, 535);
+ avl = remove_int(avl, 365);
+ avl = remove_int(avl, 676);
+ avl = remove_int(avl, 892);
+ avl = remove_int(avl, 425);
+ avl = remove_int(avl, 704);
+ avl = remove_int(avl, 168);
+ avl = grpc_avl_add(avl, box(853), box(322), nullptr);
+ avl = grpc_avl_add(avl, box(335), box(323), nullptr);
+ avl = grpc_avl_add(avl, box(961), box(324), nullptr);
+ avl = grpc_avl_add(avl, box(73), box(325), nullptr);
+ avl = remove_int(avl, 469);
+ avl = grpc_avl_add(avl, box(449), box(327), nullptr);
+ avl = remove_int(avl, 821);
+ avl = grpc_avl_add(avl, box(845), box(329), nullptr);
+ avl = remove_int(avl, 637);
+ avl = grpc_avl_add(avl, box(769), box(331), nullptr);
+ avl = grpc_avl_add(avl, box(901), box(332), nullptr);
+ avl = remove_int(avl, 142);
+ avl = remove_int(avl, 361);
+ avl = remove_int(avl, 876);
+ avl = grpc_avl_add(avl, box(614), box(336), nullptr);
+ avl = grpc_avl_add(avl, box(729), box(337), nullptr);
+ avl = remove_int(avl, 120);
+ avl = remove_int(avl, 473);
+ avl = remove_int(avl, 445);
+ avl = grpc_avl_add(avl, box(978), box(341), nullptr);
+ avl = grpc_avl_add(avl, box(164), box(342), nullptr);
+ avl = grpc_avl_add(avl, box(1), box(343), nullptr);
+ avl = remove_int(avl, 890);
+ avl = grpc_avl_add(avl, box(605), box(345), nullptr);
+ avl = grpc_avl_add(avl, box(178), box(346), nullptr);
+ avl = grpc_avl_add(avl, box(481), box(347), nullptr);
+ avl = grpc_avl_add(avl, box(772), box(348), nullptr);
+ avl = remove_int(avl, 824);
+ avl = remove_int(avl, 167);
+ avl = remove_int(avl, 151);
+ avl = grpc_avl_add(avl, box(698), box(352), nullptr);
+ avl = grpc_avl_add(avl, box(202), box(353), nullptr);
+ avl = grpc_avl_add(avl, box(921), box(354), nullptr);
+ avl = grpc_avl_add(avl, box(875), box(355), nullptr);
+ avl = remove_int(avl, 197);
+ avl = remove_int(avl, 232);
+ avl = grpc_avl_add(avl, box(209), box(358), nullptr);
+ avl = remove_int(avl, 324);
+ avl = remove_int(avl, 56);
+ avl = remove_int(avl, 579);
+ avl = remove_int(avl, 255);
+ avl = remove_int(avl, 290);
+ avl = grpc_avl_add(avl, box(661), box(364), nullptr);
+ avl = grpc_avl_add(avl, box(113), box(365), nullptr);
+ avl = remove_int(avl, 767);
+ avl = grpc_avl_add(avl, box(586), box(367), nullptr);
+ avl = grpc_avl_add(avl, box(121), box(368), nullptr);
+ avl = remove_int(avl, 235);
+ avl = remove_int(avl, 439);
+ avl = remove_int(avl, 360);
+ avl = grpc_avl_add(avl, box(916), box(372), nullptr);
+ avl = remove_int(avl, 999);
+ avl = grpc_avl_add(avl, box(825), box(374), nullptr);
+ avl = grpc_avl_add(avl, box(177), box(375), nullptr);
+ avl = remove_int(avl, 204);
+ avl = remove_int(avl, 92);
+ avl = grpc_avl_add(avl, box(794), box(378), nullptr);
+ avl = grpc_avl_add(avl, box(463), box(379), nullptr);
+ avl = grpc_avl_add(avl, box(472), box(380), nullptr);
+ avl = remove_int(avl, 235);
+ avl = grpc_avl_add(avl, box(840), box(382), nullptr);
+ avl = remove_int(avl, 657);
+ avl = grpc_avl_add(avl, box(586), box(384), nullptr);
+ avl = grpc_avl_add(avl, box(979), box(385), nullptr);
+ avl = remove_int(avl, 979);
+ avl = grpc_avl_add(avl, box(639), box(387), nullptr);
+ avl = remove_int(avl, 907);
+ avl = remove_int(avl, 973);
+ avl = grpc_avl_add(avl, box(913), box(390), nullptr);
+ avl = grpc_avl_add(avl, box(566), box(391), nullptr);
+ avl = grpc_avl_add(avl, box(883), box(392), nullptr);
+ avl = grpc_avl_add(avl, box(552), box(393), nullptr);
+ avl = grpc_avl_add(avl, box(16), box(394), nullptr);
+ avl = remove_int(avl, 60);
+ avl = grpc_avl_add(avl, box(567), box(396), nullptr);
+ avl = grpc_avl_add(avl, box(705), box(397), nullptr);
+ avl = grpc_avl_add(avl, box(94), box(398), nullptr);
+ avl = remove_int(avl, 321);
+ avl = grpc_avl_add(avl, box(207), box(400), nullptr);
+ avl = grpc_avl_add(avl, box(682), box(401), nullptr);
+ avl = grpc_avl_add(avl, box(592), box(402), nullptr);
+ avl = grpc_avl_add(avl, box(10), box(403), nullptr);
+ avl = remove_int(avl, 911);
+ avl = remove_int(avl, 161);
+ avl = grpc_avl_add(avl, box(86), box(406), nullptr);
+ avl = remove_int(avl, 893);
+ avl = remove_int(avl, 362);
+ avl = grpc_avl_add(avl, box(599), box(409), nullptr);
+ avl = remove_int(avl, 413);
+ avl = grpc_avl_add(avl, box(867), box(411), nullptr);
+ avl = remove_int(avl, 955);
+ avl = grpc_avl_add(avl, box(341), box(413), nullptr);
+ avl = grpc_avl_add(avl, box(887), box(414), nullptr);
+ avl = remove_int(avl, 706);
+ avl = grpc_avl_add(avl, box(939), box(416), nullptr);
+ avl = remove_int(avl, 233);
+ avl = remove_int(avl, 662);
+ avl = remove_int(avl, 984);
+ avl = remove_int(avl, 203);
+ avl = grpc_avl_add(avl, box(326), box(421), nullptr);
+ avl = remove_int(avl, 848);
+ avl = grpc_avl_add(avl, box(235), box(423), nullptr);
+ avl = remove_int(avl, 617);
+ avl = grpc_avl_add(avl, box(565), box(425), nullptr);
+ avl = remove_int(avl, 469);
+ avl = grpc_avl_add(avl, box(988), box(427), nullptr);
+ avl = remove_int(avl, 957);
+ avl = grpc_avl_add(avl, box(426), box(429), nullptr);
+ avl = remove_int(avl, 967);
+ avl = grpc_avl_add(avl, box(890), box(431), nullptr);
+ avl = grpc_avl_add(avl, box(473), box(432), nullptr);
+ avl = remove_int(avl, 367);
+ avl = remove_int(avl, 344);
+ avl = remove_int(avl, 660);
+ avl = remove_int(avl, 448);
+ avl = remove_int(avl, 837);
+ avl = remove_int(avl, 158);
+ avl = grpc_avl_add(avl, box(459), box(439), nullptr);
+ avl = remove_int(avl, 882);
+ avl = remove_int(avl, 782);
+ avl = grpc_avl_add(avl, box(408), box(442), nullptr);
+ avl = grpc_avl_add(avl, box(728), box(443), nullptr);
+ avl = remove_int(avl, 27);
+ avl = grpc_avl_add(avl, box(137), box(445), nullptr);
+ avl = grpc_avl_add(avl, box(239), box(446), nullptr);
+ avl = remove_int(avl, 854);
+ avl = grpc_avl_add(avl, box(104), box(448), nullptr);
+ avl = grpc_avl_add(avl, box(823), box(449), nullptr);
+ avl = grpc_avl_add(avl, box(524), box(450), nullptr);
+ avl = grpc_avl_add(avl, box(995), box(451), nullptr);
+ avl = remove_int(avl, 422);
+ avl = remove_int(avl, 220);
+ avl = grpc_avl_add(avl, box(856), box(454), nullptr);
+ avl = remove_int(avl, 332);
+ avl = grpc_avl_add(avl, box(679), box(456), nullptr);
+ avl = remove_int(avl, 18);
+ avl = grpc_avl_add(avl, box(837), box(458), nullptr);
+ avl = remove_int(avl, 405);
+ avl = remove_int(avl, 877);
+ avl = remove_int(avl, 835);
+ avl = grpc_avl_add(avl, box(547), box(462), nullptr);
+ avl = remove_int(avl, 805);
+ avl = remove_int(avl, 862);
+ avl = grpc_avl_add(avl, box(75), box(465), nullptr);
+ avl = remove_int(avl, 41);
+ avl = grpc_avl_add(avl, box(310), box(467), nullptr);
+ avl = remove_int(avl, 855);
+ avl = grpc_avl_add(avl, box(20), box(469), nullptr);
+ avl = remove_int(avl, 186);
+ avl = remove_int(avl, 378);
+ avl = remove_int(avl, 442);
+ avl = remove_int(avl, 930);
+ avl = grpc_avl_add(avl, box(118), box(474), nullptr);
+ avl = grpc_avl_add(avl, box(96), box(475), nullptr);
+ avl = remove_int(avl, 854);
+ avl = grpc_avl_add(avl, box(65), box(477), nullptr);
+ avl = grpc_avl_add(avl, box(573), box(478), nullptr);
+ avl = grpc_avl_add(avl, box(4), box(479), nullptr);
+ avl = grpc_avl_add(avl, box(451), box(480), nullptr);
+ avl = grpc_avl_add(avl, box(774), box(481), nullptr);
+ avl = grpc_avl_add(avl, box(126), box(482), nullptr);
+ avl = remove_int(avl, 956);
+ avl = remove_int(avl, 591);
+ avl = remove_int(avl, 644);
+ avl = grpc_avl_add(avl, box(304), box(486), nullptr);
+ avl = remove_int(avl, 620);
+ avl = remove_int(avl, 394);
+ avl = grpc_avl_add(avl, box(1002), box(489), nullptr);
+ avl = grpc_avl_add(avl, box(837), box(490), nullptr);
+ avl = remove_int(avl, 485);
+ avl = grpc_avl_add(avl, box(1005), box(492), nullptr);
+ avl = remove_int(avl, 21);
+ avl = grpc_avl_add(avl, box(396), box(494), nullptr);
+ avl = remove_int(avl, 966);
+ avl = grpc_avl_add(avl, box(105), box(496), nullptr);
+ avl = grpc_avl_add(avl, box(316), box(497), nullptr);
+ avl = remove_int(avl, 776);
+ avl = grpc_avl_add(avl, box(188), box(499), nullptr);
+ avl = remove_int(avl, 200);
+ avl = grpc_avl_add(avl, box(98), box(501), nullptr);
+ avl = grpc_avl_add(avl, box(831), box(502), nullptr);
+ avl = grpc_avl_add(avl, box(227), box(503), nullptr);
+ avl = grpc_avl_add(avl, box(220), box(504), nullptr);
+ avl = remove_int(avl, 715);
+ avl = remove_int(avl, 279);
+ avl = grpc_avl_add(avl, box(701), box(507), nullptr);
+ avl = grpc_avl_add(avl, box(726), box(508), nullptr);
+ avl = grpc_avl_add(avl, box(815), box(509), nullptr);
+ avl = grpc_avl_add(avl, box(749), box(510), nullptr);
+ avl = remove_int(avl, 946);
+ avl = remove_int(avl, 449);
+ avl = remove_int(avl, 62);
+ avl = remove_int(avl, 487);
+ avl = grpc_avl_add(avl, box(545), box(515), nullptr);
+ avl = remove_int(avl, 59);
+ avl = grpc_avl_add(avl, box(168), box(517), nullptr);
+ avl = remove_int(avl, 337);
+ avl = grpc_avl_add(avl, box(69), box(519), nullptr);
+ avl = remove_int(avl, 600);
+ avl = grpc_avl_add(avl, box(591), box(521), nullptr);
+ avl = grpc_avl_add(avl, box(960), box(522), nullptr);
+ avl = grpc_avl_add(avl, box(116), box(523), nullptr);
+ avl = remove_int(avl, 991);
+ avl = grpc_avl_add(avl, box(760), box(525), nullptr);
+ avl = grpc_avl_add(avl, box(664), box(526), nullptr);
+ avl = grpc_avl_add(avl, box(547), box(527), nullptr);
+ avl = remove_int(avl, 922);
+ avl = grpc_avl_add(avl, box(290), box(529), nullptr);
+ avl = grpc_avl_add(avl, box(859), box(530), nullptr);
+ avl = grpc_avl_add(avl, box(49), box(531), nullptr);
+ avl = remove_int(avl, 455);
+ avl = remove_int(avl, 786);
+ avl = grpc_avl_add(avl, box(613), box(534), nullptr);
+ avl = grpc_avl_add(avl, box(326), box(535), nullptr);
+ avl = remove_int(avl, 615);
+ avl = grpc_avl_add(avl, box(45), box(537), nullptr);
+ avl = grpc_avl_add(avl, box(162), box(538), nullptr);
+ avl = grpc_avl_add(avl, box(189), box(539), nullptr);
+ avl = remove_int(avl, 68);
+ avl = remove_int(avl, 846);
+ avl = grpc_avl_add(avl, box(608), box(542), nullptr);
+ avl = remove_int(avl, 821);
+ avl = grpc_avl_add(avl, box(978), box(544), nullptr);
+ avl = grpc_avl_add(avl, box(892), box(545), nullptr);
+ avl = remove_int(avl, 924);
+ avl = grpc_avl_add(avl, box(708), box(547), nullptr);
+ avl = remove_int(avl, 135);
+ avl = remove_int(avl, 124);
+ avl = grpc_avl_add(avl, box(301), box(550), nullptr);
+ avl = grpc_avl_add(avl, box(939), box(551), nullptr);
+ avl = grpc_avl_add(avl, box(344), box(552), nullptr);
+ avl = remove_int(avl, 443);
+ avl = remove_int(avl, 122);
+ avl = grpc_avl_add(avl, box(636), box(555), nullptr);
+ avl = remove_int(avl, 558);
+ avl = grpc_avl_add(avl, box(923), box(557), nullptr);
+ avl = remove_int(avl, 827);
+ avl = grpc_avl_add(avl, box(649), box(559), nullptr);
+ avl = grpc_avl_add(avl, box(808), box(560), nullptr);
+ avl = remove_int(avl, 570);
+ avl = remove_int(avl, 434);
+ avl = grpc_avl_add(avl, box(40), box(563), nullptr);
+ avl = grpc_avl_add(avl, box(725), box(564), nullptr);
+ avl = remove_int(avl, 295);
+ avl = remove_int(avl, 615);
+ avl = remove_int(avl, 919);
+ avl = remove_int(avl, 170);
+ avl = remove_int(avl, 442);
+ avl = remove_int(avl, 971);
+ avl = grpc_avl_add(avl, box(483), box(571), nullptr);
+ avl = grpc_avl_add(avl, box(512), box(572), nullptr);
+ avl = remove_int(avl, 648);
+ avl = remove_int(avl, 78);
+ avl = remove_int(avl, 72);
+ avl = remove_int(avl, 790);
+ avl = remove_int(avl, 571);
+ avl = grpc_avl_add(avl, box(898), box(578), nullptr);
+ avl = remove_int(avl, 770);
+ avl = remove_int(avl, 776);
+ avl = grpc_avl_add(avl, box(602), box(581), nullptr);
+ avl = remove_int(avl, 251);
+ avl = grpc_avl_add(avl, box(303), box(583), nullptr);
+ avl = remove_int(avl, 837);
+ avl = grpc_avl_add(avl, box(714), box(585), nullptr);
+ avl = remove_int(avl, 800);
+ avl = grpc_avl_add(avl, box(266), box(587), nullptr);
+ avl = grpc_avl_add(avl, box(555), box(588), nullptr);
+ avl = remove_int(avl, 604);
+ avl = remove_int(avl, 163);
+ avl = remove_int(avl, 497);
+ avl = grpc_avl_add(avl, box(296), box(592), nullptr);
+ avl = remove_int(avl, 129);
+ avl = grpc_avl_add(avl, box(656), box(594), nullptr);
+ avl = remove_int(avl, 769);
+ avl = remove_int(avl, 941);
+ avl = grpc_avl_add(avl, box(775), box(597), nullptr);
+ avl = grpc_avl_add(avl, box(846), box(598), nullptr);
+ avl = remove_int(avl, 591);
+ avl = remove_int(avl, 801);
+ avl = remove_int(avl, 419);
+ avl = remove_int(avl, 455);
+ avl = grpc_avl_add(avl, box(866), box(603), nullptr);
+ avl = grpc_avl_add(avl, box(575), box(604), nullptr);
+ avl = grpc_avl_add(avl, box(620), box(605), nullptr);
+ avl = remove_int(avl, 100);
+ avl = remove_int(avl, 667);
+ avl = grpc_avl_add(avl, box(138), box(608), nullptr);
+ avl = grpc_avl_add(avl, box(566), box(609), nullptr);
+ avl = grpc_avl_add(avl, box(673), box(610), nullptr);
+ avl = grpc_avl_add(avl, box(178), box(611), nullptr);
+ avl = remove_int(avl, 659);
+ avl = grpc_avl_add(avl, box(759), box(613), nullptr);
+ avl = grpc_avl_add(avl, box(1008), box(614), nullptr);
+ avl = remove_int(avl, 116);
+ avl = grpc_avl_add(avl, box(608), box(616), nullptr);
+ avl = grpc_avl_add(avl, box(339), box(617), nullptr);
+ avl = grpc_avl_add(avl, box(197), box(618), nullptr);
+ avl = remove_int(avl, 25);
+ avl = remove_int(avl, 628);
+ avl = grpc_avl_add(avl, box(487), box(621), nullptr);
+ avl = remove_int(avl, 739);
+ avl = remove_int(avl, 100);
+ avl = remove_int(avl, 928);
+ avl = grpc_avl_add(avl, box(647), box(625), nullptr);
+ avl = remove_int(avl, 978);
+ avl = remove_int(avl, 143);
+ avl = remove_int(avl, 755);
+ avl = grpc_avl_add(avl, box(71), box(629), nullptr);
+ avl = remove_int(avl, 205);
+ avl = grpc_avl_add(avl, box(501), box(631), nullptr);
+ avl = remove_int(avl, 723);
+ avl = remove_int(avl, 852);
+ avl = remove_int(avl, 1021);
+ avl = remove_int(avl, 670);
+ avl = remove_int(avl, 500);
+ avl = grpc_avl_add(avl, box(330), box(637), nullptr);
+ avl = remove_int(avl, 264);
+ avl = grpc_avl_add(avl, box(69), box(639), nullptr);
+ avl = remove_int(avl, 73);
+ avl = grpc_avl_add(avl, box(745), box(641), nullptr);
+ avl = remove_int(avl, 518);
+ avl = remove_int(avl, 641);
+ avl = remove_int(avl, 768);
+ avl = grpc_avl_add(avl, box(988), box(645), nullptr);
+ avl = grpc_avl_add(avl, box(899), box(646), nullptr);
+ avl = remove_int(avl, 763);
+ avl = remove_int(avl, 281);
+ avl = remove_int(avl, 496);
+ avl = grpc_avl_add(avl, box(445), box(650), nullptr);
+ avl = remove_int(avl, 905);
+ avl = grpc_avl_add(avl, box(275), box(652), nullptr);
+ avl = grpc_avl_add(avl, box(137), box(653), nullptr);
+ avl = remove_int(avl, 642);
+ avl = grpc_avl_add(avl, box(708), box(655), nullptr);
+ avl = remove_int(avl, 922);
+ avl = grpc_avl_add(avl, box(743), box(657), nullptr);
+ avl = remove_int(avl, 295);
+ avl = remove_int(avl, 665);
+ avl = remove_int(avl, 48);
+ avl = grpc_avl_add(avl, box(1012), box(661), nullptr);
+ avl = remove_int(avl, 71);
+ avl = remove_int(avl, 523);
+ avl = grpc_avl_add(avl, box(319), box(664), nullptr);
+ avl = remove_int(avl, 632);
+ avl = grpc_avl_add(avl, box(137), box(666), nullptr);
+ avl = grpc_avl_add(avl, box(686), box(667), nullptr);
+ avl = grpc_avl_add(avl, box(724), box(668), nullptr);
+ avl = grpc_avl_add(avl, box(952), box(669), nullptr);
+ avl = grpc_avl_add(avl, box(5), box(670), nullptr);
+ avl = remove_int(avl, 35);
+ avl = grpc_avl_add(avl, box(43), box(672), nullptr);
+ avl = grpc_avl_add(avl, box(320), box(673), nullptr);
+ avl = grpc_avl_add(avl, box(115), box(674), nullptr);
+ avl = remove_int(avl, 377);
+ avl = remove_int(avl, 591);
+ avl = remove_int(avl, 87);
+ avl = remove_int(avl, 93);
+ avl = grpc_avl_add(avl, box(1016), box(679), nullptr);
+ avl = grpc_avl_add(avl, box(605), box(680), nullptr);
+ avl = grpc_avl_add(avl, box(152), box(681), nullptr);
+ avl = grpc_avl_add(avl, box(113), box(682), nullptr);
+ avl = remove_int(avl, 131);
+ avl = remove_int(avl, 637);
+ avl = grpc_avl_add(avl, box(156), box(685), nullptr);
+ avl = remove_int(avl, 696);
+ avl = grpc_avl_add(avl, box(546), box(687), nullptr);
+ avl = remove_int(avl, 970);
+ avl = remove_int(avl, 53);
+ avl = remove_int(avl, 827);
+ avl = remove_int(avl, 224);
+ avl = remove_int(avl, 796);
+ avl = remove_int(avl, 34);
+ avl = remove_int(avl, 922);
+ avl = remove_int(avl, 277);
+ avl = remove_int(avl, 650);
+ avl = remove_int(avl, 222);
+ avl = remove_int(avl, 244);
+ avl = remove_int(avl, 576);
+ avl = remove_int(avl, 413);
+ avl = grpc_avl_add(avl, box(500), box(701), nullptr);
+ avl = remove_int(avl, 924);
+ avl = grpc_avl_add(avl, box(825), box(703), nullptr);
+ avl = remove_int(avl, 888);
+ avl = remove_int(avl, 931);
+ avl = grpc_avl_add(avl, box(285), box(706), nullptr);
+ avl = remove_int(avl, 62);
+ avl = remove_int(avl, 444);
+ avl = remove_int(avl, 946);
+ avl = grpc_avl_add(avl, box(122), box(710), nullptr);
+ avl = grpc_avl_add(avl, box(846), box(711), nullptr);
+ avl = remove_int(avl, 628);
+ avl = grpc_avl_add(avl, box(511), box(713), nullptr);
+ avl = grpc_avl_add(avl, box(398), box(714), nullptr);
+ avl = remove_int(avl, 730);
+ avl = grpc_avl_add(avl, box(797), box(716), nullptr);
+ avl = remove_int(avl, 897);
+ avl = remove_int(avl, 228);
+ avl = remove_int(avl, 544);
+ avl = remove_int(avl, 552);
+ avl = remove_int(avl, 783);
+ avl = remove_int(avl, 583);
+ avl = remove_int(avl, 894);
+ avl = remove_int(avl, 942);
+ avl = grpc_avl_add(avl, box(346), box(725), nullptr);
+ avl = grpc_avl_add(avl, box(1015), box(726), nullptr);
+ avl = remove_int(avl, 813);
+ avl = grpc_avl_add(avl, box(213), box(728), nullptr);
+ avl = remove_int(avl, 468);
+ avl = remove_int(avl, 365);
+ avl = remove_int(avl, 399);
+ avl = grpc_avl_add(avl, box(380), box(732), nullptr);
+ avl = remove_int(avl, 835);
+ avl = remove_int(avl, 970);
+ avl = grpc_avl_add(avl, box(700), box(735), nullptr);
+ avl = grpc_avl_add(avl, box(807), box(736), nullptr);
+ avl = remove_int(avl, 312);
+ avl = remove_int(avl, 282);
+ avl = remove_int(avl, 370);
+ avl = remove_int(avl, 999);
+ avl = remove_int(avl, 241);
+ avl = remove_int(avl, 884);
+ avl = grpc_avl_add(avl, box(587), box(743), nullptr);
+ avl = grpc_avl_add(avl, box(332), box(744), nullptr);
+ avl = remove_int(avl, 686);
+ avl = remove_int(avl, 206);
+ avl = remove_int(avl, 835);
+ avl = grpc_avl_add(avl, box(334), box(748), nullptr);
+ avl = remove_int(avl, 171);
+ avl = grpc_avl_add(avl, box(1002), box(750), nullptr);
+ avl = grpc_avl_add(avl, box(779), box(751), nullptr);
+ avl = grpc_avl_add(avl, box(307), box(752), nullptr);
+ avl = grpc_avl_add(avl, box(127), box(753), nullptr);
+ avl = grpc_avl_add(avl, box(251), box(754), nullptr);
+ avl = remove_int(avl, 790);
+ avl = remove_int(avl, 189);
+ avl = remove_int(avl, 193);
+ avl = remove_int(avl, 38);
+ avl = remove_int(avl, 124);
+ avl = grpc_avl_add(avl, box(812), box(760), nullptr);
+ avl = remove_int(avl, 43);
+ avl = grpc_avl_add(avl, box(871), box(762), nullptr);
+ avl = grpc_avl_add(avl, box(580), box(763), nullptr);
+ avl = remove_int(avl, 501);
+ avl = remove_int(avl, 462);
+ avl = remove_int(avl, 599);
+ avl = grpc_avl_add(avl, box(240), box(767), nullptr);
+ avl = grpc_avl_add(avl, box(285), box(768), nullptr);
+ avl = grpc_avl_add(avl, box(472), box(769), nullptr);
+ avl = remove_int(avl, 865);
+ avl = remove_int(avl, 763);
+ avl = remove_int(avl, 245);
+ avl = remove_int(avl, 80);
+ avl = remove_int(avl, 713);
+ avl = remove_int(avl, 654);
+ avl = remove_int(avl, 1014);
+ avl = grpc_avl_add(avl, box(495), box(777), nullptr);
+ avl = grpc_avl_add(avl, box(552), box(778), nullptr);
+ avl = remove_int(avl, 19);
+ avl = remove_int(avl, 803);
+ avl = grpc_avl_add(avl, box(508), box(781), nullptr);
+ avl = remove_int(avl, 699);
+ avl = remove_int(avl, 260);
+ avl = remove_int(avl, 92);
+ avl = remove_int(avl, 497);
+ avl = grpc_avl_add(avl, box(970), box(786), nullptr);
+ avl = remove_int(avl, 987);
+ avl = remove_int(avl, 168);
+ avl = remove_int(avl, 476);
+ avl = remove_int(avl, 248);
+ avl = grpc_avl_add(avl, box(358), box(791), nullptr);
+ avl = remove_int(avl, 804);
+ avl = remove_int(avl, 77);
+ avl = remove_int(avl, 905);
+ avl = remove_int(avl, 362);
+ avl = grpc_avl_add(avl, box(578), box(796), nullptr);
+ avl = remove_int(avl, 38);
+ avl = remove_int(avl, 595);
+ avl = grpc_avl_add(avl, box(213), box(799), nullptr);
+ avl = remove_int(avl, 7);
+ avl = remove_int(avl, 620);
+ avl = grpc_avl_add(avl, box(946), box(802), nullptr);
+ avl = remove_int(avl, 145);
+ avl = grpc_avl_add(avl, box(628), box(804), nullptr);
+ avl = remove_int(avl, 972);
+ avl = grpc_avl_add(avl, box(728), box(806), nullptr);
+ avl = remove_int(avl, 91);
+ avl = grpc_avl_add(avl, box(136), box(808), nullptr);
+ avl = grpc_avl_add(avl, box(841), box(809), nullptr);
+ avl = grpc_avl_add(avl, box(265), box(810), nullptr);
+ avl = grpc_avl_add(avl, box(701), box(811), nullptr);
+ avl = grpc_avl_add(avl, box(27), box(812), nullptr);
+ avl = remove_int(avl, 72);
+ avl = remove_int(avl, 14);
+ avl = grpc_avl_add(avl, box(286), box(815), nullptr);
+ avl = remove_int(avl, 996);
+ avl = remove_int(avl, 998);
+ avl = grpc_avl_add(avl, box(466), box(818), nullptr);
+ avl = remove_int(avl, 1009);
+ avl = remove_int(avl, 741);
+ avl = remove_int(avl, 947);
+ avl = remove_int(avl, 241);
+ avl = remove_int(avl, 954);
+ avl = remove_int(avl, 183);
+ avl = remove_int(avl, 395);
+ avl = remove_int(avl, 951);
+ avl = grpc_avl_add(avl, box(267), box(827), nullptr);
+ avl = remove_int(avl, 812);
+ avl = grpc_avl_add(avl, box(577), box(829), nullptr);
+ avl = remove_int(avl, 624);
+ avl = remove_int(avl, 847);
+ avl = remove_int(avl, 745);
+ avl = grpc_avl_add(avl, box(491), box(833), nullptr);
+ avl = grpc_avl_add(avl, box(941), box(834), nullptr);
+ avl = remove_int(avl, 258);
+ avl = grpc_avl_add(avl, box(410), box(836), nullptr);
+ avl = grpc_avl_add(avl, box(80), box(837), nullptr);
+ avl = grpc_avl_add(avl, box(196), box(838), nullptr);
+ avl = grpc_avl_add(avl, box(5), box(839), nullptr);
+ avl = remove_int(avl, 782);
+ avl = grpc_avl_add(avl, box(827), box(841), nullptr);
+ avl = remove_int(avl, 472);
+ avl = remove_int(avl, 664);
+ avl = grpc_avl_add(avl, box(409), box(844), nullptr);
+ avl = grpc_avl_add(avl, box(62), box(845), nullptr);
+ avl = remove_int(avl, 56);
+ avl = remove_int(avl, 606);
+ avl = remove_int(avl, 707);
+ avl = remove_int(avl, 989);
+ avl = remove_int(avl, 549);
+ avl = remove_int(avl, 259);
+ avl = grpc_avl_add(avl, box(405), box(852), nullptr);
+ avl = remove_int(avl, 587);
+ avl = remove_int(avl, 350);
+ avl = grpc_avl_add(avl, box(980), box(855), nullptr);
+ avl = grpc_avl_add(avl, box(992), box(856), nullptr);
+ avl = grpc_avl_add(avl, box(818), box(857), nullptr);
+ avl = remove_int(avl, 853);
+ avl = remove_int(avl, 701);
+ avl = grpc_avl_add(avl, box(675), box(860), nullptr);
+ avl = remove_int(avl, 248);
+ avl = remove_int(avl, 649);
+ avl = grpc_avl_add(avl, box(508), box(863), nullptr);
+ avl = remove_int(avl, 927);
+ avl = grpc_avl_add(avl, box(957), box(865), nullptr);
+ avl = grpc_avl_add(avl, box(698), box(866), nullptr);
+ avl = grpc_avl_add(avl, box(388), box(867), nullptr);
+ avl = grpc_avl_add(avl, box(532), box(868), nullptr);
+ avl = grpc_avl_add(avl, box(681), box(869), nullptr);
+ avl = remove_int(avl, 544);
+ avl = remove_int(avl, 991);
+ avl = remove_int(avl, 397);
+ avl = grpc_avl_add(avl, box(954), box(873), nullptr);
+ avl = grpc_avl_add(avl, box(219), box(874), nullptr);
+ avl = grpc_avl_add(avl, box(465), box(875), nullptr);
+ avl = remove_int(avl, 371);
+ avl = grpc_avl_add(avl, box(601), box(877), nullptr);
+ avl = grpc_avl_add(avl, box(543), box(878), nullptr);
+ avl = remove_int(avl, 329);
+ avl = grpc_avl_add(avl, box(560), box(880), nullptr);
+ avl = remove_int(avl, 898);
+ avl = grpc_avl_add(avl, box(455), box(882), nullptr);
+ avl = remove_int(avl, 313);
+ avl = grpc_avl_add(avl, box(215), box(884), nullptr);
+ avl = remove_int(avl, 846);
+ avl = grpc_avl_add(avl, box(608), box(886), nullptr);
+ avl = remove_int(avl, 248);
+ avl = grpc_avl_add(avl, box(575), box(888), nullptr);
+ avl = remove_int(avl, 207);
+ avl = remove_int(avl, 810);
+ avl = remove_int(avl, 665);
+ avl = remove_int(avl, 361);
+ avl = grpc_avl_add(avl, box(154), box(893), nullptr);
+ avl = grpc_avl_add(avl, box(329), box(894), nullptr);
+ avl = grpc_avl_add(avl, box(326), box(895), nullptr);
+ avl = remove_int(avl, 746);
+ avl = remove_int(avl, 99);
+ avl = grpc_avl_add(avl, box(464), box(898), nullptr);
+ avl = grpc_avl_add(avl, box(141), box(899), nullptr);
+ avl = remove_int(avl, 383);
+ avl = grpc_avl_add(avl, box(414), box(901), nullptr);
+ avl = grpc_avl_add(avl, box(777), box(902), nullptr);
+ avl = remove_int(avl, 972);
+ avl = remove_int(avl, 841);
+ avl = remove_int(avl, 100);
+ avl = grpc_avl_add(avl, box(828), box(906), nullptr);
+ avl = remove_int(avl, 785);
+ avl = grpc_avl_add(avl, box(1008), box(908), nullptr);
+ avl = grpc_avl_add(avl, box(46), box(909), nullptr);
+ avl = remove_int(avl, 399);
+ avl = grpc_avl_add(avl, box(178), box(911), nullptr);
+ avl = grpc_avl_add(avl, box(573), box(912), nullptr);
+ avl = remove_int(avl, 299);
+ avl = grpc_avl_add(avl, box(690), box(914), nullptr);
+ avl = grpc_avl_add(avl, box(692), box(915), nullptr);
+ avl = remove_int(avl, 404);
+ avl = remove_int(avl, 16);
+ avl = remove_int(avl, 746);
+ avl = remove_int(avl, 486);
+ avl = remove_int(avl, 119);
+ avl = grpc_avl_add(avl, box(167), box(921), nullptr);
+ avl = remove_int(avl, 328);
+ avl = grpc_avl_add(avl, box(89), box(923), nullptr);
+ avl = remove_int(avl, 867);
+ avl = remove_int(avl, 626);
+ avl = remove_int(avl, 507);
+ avl = grpc_avl_add(avl, box(365), box(927), nullptr);
+ avl = grpc_avl_add(avl, box(58), box(928), nullptr);
+ avl = grpc_avl_add(avl, box(70), box(929), nullptr);
+ avl = remove_int(avl, 81);
+ avl = remove_int(avl, 797);
+ avl = grpc_avl_add(avl, box(846), box(932), nullptr);
+ avl = remove_int(avl, 642);
+ avl = grpc_avl_add(avl, box(777), box(934), nullptr);
+ avl = remove_int(avl, 107);
+ avl = grpc_avl_add(avl, box(691), box(936), nullptr);
+ avl = grpc_avl_add(avl, box(820), box(937), nullptr);
+ avl = grpc_avl_add(avl, box(202), box(938), nullptr);
+ avl = grpc_avl_add(avl, box(308), box(939), nullptr);
+ avl = grpc_avl_add(avl, box(20), box(940), nullptr);
+ avl = remove_int(avl, 289);
+ avl = grpc_avl_add(avl, box(714), box(942), nullptr);
+ avl = grpc_avl_add(avl, box(584), box(943), nullptr);
+ avl = remove_int(avl, 294);
+ avl = grpc_avl_add(avl, box(496), box(945), nullptr);
+ avl = grpc_avl_add(avl, box(394), box(946), nullptr);
+ avl = grpc_avl_add(avl, box(860), box(947), nullptr);
+ avl = grpc_avl_add(avl, box(58), box(948), nullptr);
+ avl = remove_int(avl, 784);
+ avl = remove_int(avl, 584);
+ avl = remove_int(avl, 708);
+ avl = grpc_avl_add(avl, box(142), box(952), nullptr);
+ avl = grpc_avl_add(avl, box(247), box(953), nullptr);
+ avl = grpc_avl_add(avl, box(389), box(954), nullptr);
+ avl = remove_int(avl, 390);
+ avl = grpc_avl_add(avl, box(465), box(956), nullptr);
+ avl = grpc_avl_add(avl, box(936), box(957), nullptr);
+ avl = grpc_avl_add(avl, box(309), box(958), nullptr);
+ avl = remove_int(avl, 928);
+ avl = remove_int(avl, 128);
+ avl = remove_int(avl, 979);
+ avl = remove_int(avl, 670);
+ avl = remove_int(avl, 738);
+ avl = remove_int(avl, 271);
+ avl = remove_int(avl, 540);
+ avl = grpc_avl_add(avl, box(365), box(966), nullptr);
+ avl = remove_int(avl, 82);
+ avl = grpc_avl_add(avl, box(728), box(968), nullptr);
+ avl = remove_int(avl, 852);
+ avl = grpc_avl_add(avl, box(884), box(970), nullptr);
+ avl = grpc_avl_add(avl, box(502), box(971), nullptr);
+ avl = remove_int(avl, 898);
+ avl = remove_int(avl, 481);
+ avl = grpc_avl_add(avl, box(911), box(974), nullptr);
+ avl = remove_int(avl, 787);
+ avl = remove_int(avl, 785);
+ avl = remove_int(avl, 537);
+ avl = remove_int(avl, 535);
+ avl = remove_int(avl, 136);
+ avl = remove_int(avl, 749);
+ avl = remove_int(avl, 637);
+ avl = remove_int(avl, 900);
+ avl = grpc_avl_add(avl, box(598), box(983), nullptr);
+ avl = remove_int(avl, 25);
+ avl = remove_int(avl, 697);
+ avl = grpc_avl_add(avl, box(645), box(986), nullptr);
+ avl = grpc_avl_add(avl, box(211), box(987), nullptr);
+ avl = grpc_avl_add(avl, box(589), box(988), nullptr);
+ avl = remove_int(avl, 702);
+ avl = grpc_avl_add(avl, box(53), box(990), nullptr);
+ avl = remove_int(avl, 492);
+ avl = remove_int(avl, 185);
+ avl = remove_int(avl, 246);
+ avl = remove_int(avl, 257);
+ avl = remove_int(avl, 502);
+ avl = remove_int(avl, 34);
+ avl = grpc_avl_add(avl, box(74), box(997), nullptr);
+ avl = grpc_avl_add(avl, box(834), box(998), nullptr);
+ avl = grpc_avl_add(avl, box(514), box(999), nullptr);
+ avl = grpc_avl_add(avl, box(75), box(1000), nullptr);
+ avl = remove_int(avl, 745);
+ avl = grpc_avl_add(avl, box(362), box(1002), nullptr);
+ avl = remove_int(avl, 215);
+ avl = grpc_avl_add(avl, box(624), box(1004), nullptr);
+ avl = remove_int(avl, 404);
+ avl = remove_int(avl, 359);
+ avl = remove_int(avl, 491);
+ avl = grpc_avl_add(avl, box(903), box(1008), nullptr);
+ avl = grpc_avl_add(avl, box(240), box(1009), nullptr);
+ avl = remove_int(avl, 95);
+ avl = grpc_avl_add(avl, box(119), box(1011), nullptr);
+ avl = grpc_avl_add(avl, box(857), box(1012), nullptr);
+ avl = remove_int(avl, 39);
+ avl = remove_int(avl, 866);
+ avl = grpc_avl_add(avl, box(503), box(1015), nullptr);
+ avl = grpc_avl_add(avl, box(740), box(1016), nullptr);
+ avl = remove_int(avl, 637);
+ avl = remove_int(avl, 156);
+ avl = remove_int(avl, 6);
+ avl = remove_int(avl, 745);
+ avl = remove_int(avl, 433);
+ avl = remove_int(avl, 283);
+ avl = grpc_avl_add(avl, box(625), box(1023), nullptr);
+ avl = remove_int(avl, 638);
+ avl = grpc_avl_add(avl, box(299), box(1025), nullptr);
+ avl = grpc_avl_add(avl, box(584), box(1026), nullptr);
+ avl = remove_int(avl, 863);
+ avl = grpc_avl_add(avl, box(612), box(1028), nullptr);
+ avl = grpc_avl_add(avl, box(62), box(1029), nullptr);
+ avl = grpc_avl_add(avl, box(432), box(1030), nullptr);
+ avl = remove_int(avl, 371);
+ avl = remove_int(avl, 790);
+ avl = remove_int(avl, 227);
+ avl = remove_int(avl, 836);
+ avl = grpc_avl_add(avl, box(703), box(1035), nullptr);
+ avl = grpc_avl_add(avl, box(644), box(1036), nullptr);
+ avl = remove_int(avl, 638);
+ avl = grpc_avl_add(avl, box(13), box(1038), nullptr);
+ avl = remove_int(avl, 66);
+ avl = remove_int(avl, 82);
+ avl = grpc_avl_add(avl, box(362), box(1041), nullptr);
+ avl = grpc_avl_add(avl, box(783), box(1042), nullptr);
+ avl = remove_int(avl, 60);
+ avl = grpc_avl_add(avl, box(80), box(1044), nullptr);
+ avl = grpc_avl_add(avl, box(825), box(1045), nullptr);
+ avl = grpc_avl_add(avl, box(688), box(1046), nullptr);
+ avl = grpc_avl_add(avl, box(662), box(1047), nullptr);
+ avl = remove_int(avl, 156);
+ avl = remove_int(avl, 376);
+ avl = remove_int(avl, 99);
+ avl = grpc_avl_add(avl, box(526), box(1051), nullptr);
+ avl = grpc_avl_add(avl, box(168), box(1052), nullptr);
+ avl = remove_int(avl, 646);
+ avl = remove_int(avl, 380);
+ avl = remove_int(avl, 833);
+ avl = grpc_avl_add(avl, box(53), box(1056), nullptr);
+ avl = remove_int(avl, 105);
+ avl = grpc_avl_add(avl, box(373), box(1058), nullptr);
+ avl = grpc_avl_add(avl, box(184), box(1059), nullptr);
+ avl = remove_int(avl, 288);
+ avl = grpc_avl_add(avl, box(966), box(1061), nullptr);
+ avl = remove_int(avl, 158);
+ avl = grpc_avl_add(avl, box(406), box(1063), nullptr);
+ avl = remove_int(avl, 470);
+ avl = grpc_avl_add(avl, box(283), box(1065), nullptr);
+ avl = grpc_avl_add(avl, box(838), box(1066), nullptr);
+ avl = grpc_avl_add(avl, box(288), box(1067), nullptr);
+ avl = grpc_avl_add(avl, box(950), box(1068), nullptr);
+ avl = grpc_avl_add(avl, box(163), box(1069), nullptr);
+ avl = remove_int(avl, 623);
+ avl = remove_int(avl, 769);
+ avl = grpc_avl_add(avl, box(144), box(1072), nullptr);
+ avl = grpc_avl_add(avl, box(489), box(1073), nullptr);
+ avl = remove_int(avl, 15);
+ avl = grpc_avl_add(avl, box(971), box(1075), nullptr);
+ avl = remove_int(avl, 660);
+ avl = grpc_avl_add(avl, box(255), box(1077), nullptr);
+ avl = remove_int(avl, 494);
+ avl = grpc_avl_add(avl, box(109), box(1079), nullptr);
+ avl = grpc_avl_add(avl, box(420), box(1080), nullptr);
+ avl = grpc_avl_add(avl, box(509), box(1081), nullptr);
+ avl = remove_int(avl, 178);
+ avl = grpc_avl_add(avl, box(216), box(1083), nullptr);
+ avl = grpc_avl_add(avl, box(707), box(1084), nullptr);
+ avl = grpc_avl_add(avl, box(411), box(1085), nullptr);
+ avl = grpc_avl_add(avl, box(352), box(1086), nullptr);
+ avl = remove_int(avl, 983);
+ avl = grpc_avl_add(avl, box(6), box(1088), nullptr);
+ avl = grpc_avl_add(avl, box(1014), box(1089), nullptr);
+ avl = remove_int(avl, 98);
+ avl = remove_int(avl, 325);
+ avl = grpc_avl_add(avl, box(851), box(1092), nullptr);
+ avl = remove_int(avl, 553);
+ avl = grpc_avl_add(avl, box(218), box(1094), nullptr);
+ avl = grpc_avl_add(avl, box(261), box(1095), nullptr);
+ avl = remove_int(avl, 31);
+ avl = grpc_avl_add(avl, box(872), box(1097), nullptr);
+ avl = remove_int(avl, 543);
+ avl = remove_int(avl, 314);
+ avl = remove_int(avl, 443);
+ avl = grpc_avl_add(avl, box(533), box(1101), nullptr);
+ avl = remove_int(avl, 881);
+ avl = remove_int(avl, 269);
+ avl = remove_int(avl, 940);
+ avl = remove_int(avl, 909);
+ avl = remove_int(avl, 197);
+ avl = remove_int(avl, 773);
+ avl = remove_int(avl, 790);
+ avl = remove_int(avl, 345);
+ avl = grpc_avl_add(avl, box(965), box(1110), nullptr);
+ avl = remove_int(avl, 622);
+ avl = grpc_avl_add(avl, box(352), box(1112), nullptr);
+ avl = remove_int(avl, 182);
+ avl = grpc_avl_add(avl, box(534), box(1114), nullptr);
+ avl = grpc_avl_add(avl, box(97), box(1115), nullptr);
+ avl = grpc_avl_add(avl, box(198), box(1116), nullptr);
+ avl = remove_int(avl, 750);
+ avl = grpc_avl_add(avl, box(98), box(1118), nullptr);
+ avl = remove_int(avl, 943);
+ avl = grpc_avl_add(avl, box(254), box(1120), nullptr);
+ avl = grpc_avl_add(avl, box(30), box(1121), nullptr);
+ avl = remove_int(avl, 14);
+ avl = remove_int(avl, 475);
+ avl = remove_int(avl, 82);
+ avl = grpc_avl_add(avl, box(789), box(1125), nullptr);
+ avl = grpc_avl_add(avl, box(402), box(1126), nullptr);
+ avl = remove_int(avl, 1019);
+ avl = grpc_avl_add(avl, box(858), box(1128), nullptr);
+ avl = grpc_avl_add(avl, box(625), box(1129), nullptr);
+ avl = remove_int(avl, 675);
+ avl = remove_int(avl, 323);
+ avl = grpc_avl_add(avl, box(329), box(1132), nullptr);
+ avl = remove_int(avl, 929);
+ avl = remove_int(avl, 44);
+ avl = grpc_avl_add(avl, box(443), box(1135), nullptr);
+ avl = grpc_avl_add(avl, box(653), box(1136), nullptr);
+ avl = grpc_avl_add(avl, box(750), box(1137), nullptr);
+ avl = grpc_avl_add(avl, box(252), box(1138), nullptr);
+ avl = grpc_avl_add(avl, box(449), box(1139), nullptr);
+ avl = remove_int(avl, 1022);
+ avl = remove_int(avl, 357);
+ avl = remove_int(avl, 602);
+ avl = remove_int(avl, 131);
+ avl = grpc_avl_add(avl, box(531), box(1144), nullptr);
+ avl = remove_int(avl, 806);
+ avl = grpc_avl_add(avl, box(455), box(1146), nullptr);
+ avl = remove_int(avl, 31);
+ avl = grpc_avl_add(avl, box(154), box(1148), nullptr);
+ avl = grpc_avl_add(avl, box(189), box(1149), nullptr);
+ avl = remove_int(avl, 786);
+ avl = grpc_avl_add(avl, box(496), box(1151), nullptr);
+ avl = grpc_avl_add(avl, box(81), box(1152), nullptr);
+ avl = grpc_avl_add(avl, box(59), box(1153), nullptr);
+ avl = remove_int(avl, 424);
+ avl = remove_int(avl, 668);
+ avl = grpc_avl_add(avl, box(723), box(1156), nullptr);
+ avl = grpc_avl_add(avl, box(822), box(1157), nullptr);
+ avl = grpc_avl_add(avl, box(354), box(1158), nullptr);
+ avl = remove_int(avl, 738);
+ avl = grpc_avl_add(avl, box(686), box(1160), nullptr);
+ avl = grpc_avl_add(avl, box(43), box(1161), nullptr);
+ avl = grpc_avl_add(avl, box(625), box(1162), nullptr);
+ avl = grpc_avl_add(avl, box(902), box(1163), nullptr);
+ avl = grpc_avl_add(avl, box(12), box(1164), nullptr);
+ avl = grpc_avl_add(avl, box(977), box(1165), nullptr);
+ avl = grpc_avl_add(avl, box(699), box(1166), nullptr);
+ avl = grpc_avl_add(avl, box(189), box(1167), nullptr);
+ avl = remove_int(avl, 672);
+ avl = remove_int(avl, 90);
+ avl = remove_int(avl, 757);
+ avl = remove_int(avl, 494);
+ avl = grpc_avl_add(avl, box(759), box(1172), nullptr);
+ avl = remove_int(avl, 758);
+ avl = remove_int(avl, 222);
+ avl = grpc_avl_add(avl, box(975), box(1175), nullptr);
+ avl = remove_int(avl, 993);
+ avl = grpc_avl_add(avl, box(2), box(1177), nullptr);
+ avl = grpc_avl_add(avl, box(70), box(1178), nullptr);
+ avl = remove_int(avl, 350);
+ avl = remove_int(avl, 972);
+ avl = remove_int(avl, 880);
+ avl = grpc_avl_add(avl, box(753), box(1182), nullptr);
+ avl = remove_int(avl, 404);
+ avl = grpc_avl_add(avl, box(294), box(1184), nullptr);
+ avl = remove_int(avl, 474);
+ avl = grpc_avl_add(avl, box(228), box(1186), nullptr);
+ avl = grpc_avl_add(avl, box(484), box(1187), nullptr);
+ avl = remove_int(avl, 238);
+ avl = remove_int(avl, 53);
+ avl = remove_int(avl, 691);
+ avl = grpc_avl_add(avl, box(345), box(1191), nullptr);
+ avl = remove_int(avl, 0);
+ avl = grpc_avl_add(avl, box(230), box(1193), nullptr);
+ avl = remove_int(avl, 227);
+ avl = remove_int(avl, 152);
+ avl = grpc_avl_add(avl, box(884), box(1196), nullptr);
+ avl = remove_int(avl, 823);
+ avl = remove_int(avl, 53);
+ avl = grpc_avl_add(avl, box(1015), box(1199), nullptr);
+ avl = grpc_avl_add(avl, box(697), box(1200), nullptr);
+ avl = grpc_avl_add(avl, box(376), box(1201), nullptr);
+ avl = remove_int(avl, 411);
+ avl = grpc_avl_add(avl, box(888), box(1203), nullptr);
+ avl = remove_int(avl, 55);
+ avl = grpc_avl_add(avl, box(85), box(1205), nullptr);
+ avl = remove_int(avl, 947);
+ avl = remove_int(avl, 382);
+ avl = remove_int(avl, 777);
+ avl = grpc_avl_add(avl, box(1017), box(1209), nullptr);
+ avl = grpc_avl_add(avl, box(169), box(1210), nullptr);
+ avl = grpc_avl_add(avl, box(156), box(1211), nullptr);
+ avl = remove_int(avl, 153);
+ avl = remove_int(avl, 642);
+ avl = remove_int(avl, 158);
+ avl = grpc_avl_add(avl, box(554), box(1215), nullptr);
+ avl = grpc_avl_add(avl, box(76), box(1216), nullptr);
+ avl = grpc_avl_add(avl, box(756), box(1217), nullptr);
+ avl = remove_int(avl, 767);
+ avl = remove_int(avl, 112);
+ avl = remove_int(avl, 539);
+ avl = remove_int(avl, 544);
+ avl = remove_int(avl, 628);
+ avl = remove_int(avl, 385);
+ avl = remove_int(avl, 514);
+ avl = remove_int(avl, 362);
+ avl = grpc_avl_add(avl, box(523), box(1226), nullptr);
+ avl = grpc_avl_add(avl, box(712), box(1227), nullptr);
+ avl = grpc_avl_add(avl, box(474), box(1228), nullptr);
+ avl = grpc_avl_add(avl, box(882), box(1229), nullptr);
+ avl = grpc_avl_add(avl, box(965), box(1230), nullptr);
+ avl = remove_int(avl, 464);
+ avl = grpc_avl_add(avl, box(319), box(1232), nullptr);
+ avl = grpc_avl_add(avl, box(504), box(1233), nullptr);
+ avl = remove_int(avl, 818);
+ avl = grpc_avl_add(avl, box(884), box(1235), nullptr);
+ avl = grpc_avl_add(avl, box(813), box(1236), nullptr);
+ avl = grpc_avl_add(avl, box(795), box(1237), nullptr);
+ avl = remove_int(avl, 306);
+ avl = grpc_avl_add(avl, box(799), box(1239), nullptr);
+ avl = remove_int(avl, 534);
+ avl = grpc_avl_add(avl, box(480), box(1241), nullptr);
+ avl = grpc_avl_add(avl, box(656), box(1242), nullptr);
+ avl = grpc_avl_add(avl, box(709), box(1243), nullptr);
+ avl = grpc_avl_add(avl, box(500), box(1244), nullptr);
+ avl = remove_int(avl, 740);
+ avl = grpc_avl_add(avl, box(980), box(1246), nullptr);
+ avl = grpc_avl_add(avl, box(458), box(1247), nullptr);
+ avl = remove_int(avl, 377);
+ avl = remove_int(avl, 338);
+ avl = grpc_avl_add(avl, box(554), box(1250), nullptr);
+ avl = grpc_avl_add(avl, box(504), box(1251), nullptr);
+ avl = grpc_avl_add(avl, box(603), box(1252), nullptr);
+ avl = grpc_avl_add(avl, box(761), box(1253), nullptr);
+ avl = remove_int(avl, 431);
+ avl = grpc_avl_add(avl, box(707), box(1255), nullptr);
+ avl = grpc_avl_add(avl, box(673), box(1256), nullptr);
+ avl = remove_int(avl, 998);
+ avl = remove_int(avl, 332);
+ avl = remove_int(avl, 413);
+ avl = remove_int(avl, 227);
+ avl = remove_int(avl, 249);
+ avl = remove_int(avl, 309);
+ avl = remove_int(avl, 459);
+ avl = grpc_avl_add(avl, box(645), box(1264), nullptr);
+ avl = remove_int(avl, 858);
+ avl = remove_int(avl, 997);
+ avl = grpc_avl_add(avl, box(519), box(1267), nullptr);
+ avl = remove_int(avl, 614);
+ avl = remove_int(avl, 462);
+ avl = remove_int(avl, 792);
+ avl = grpc_avl_add(avl, box(987), box(1271), nullptr);
+ avl = grpc_avl_add(avl, box(309), box(1272), nullptr);
+ avl = remove_int(avl, 747);
+ avl = grpc_avl_add(avl, box(621), box(1274), nullptr);
+ avl = grpc_avl_add(avl, box(450), box(1275), nullptr);
+ avl = remove_int(avl, 265);
+ avl = remove_int(avl, 8);
+ avl = remove_int(avl, 383);
+ avl = grpc_avl_add(avl, box(238), box(1279), nullptr);
+ avl = remove_int(avl, 241);
+ avl = grpc_avl_add(avl, box(180), box(1281), nullptr);
+ avl = grpc_avl_add(avl, box(411), box(1282), nullptr);
+ avl = grpc_avl_add(avl, box(791), box(1283), nullptr);
+ avl = grpc_avl_add(avl, box(955), box(1284), nullptr);
+ avl = remove_int(avl, 24);
+ avl = remove_int(avl, 375);
+ avl = grpc_avl_add(avl, box(140), box(1287), nullptr);
+ avl = remove_int(avl, 949);
+ avl = grpc_avl_add(avl, box(301), box(1289), nullptr);
+ avl = grpc_avl_add(avl, box(0), box(1290), nullptr);
+ avl = remove_int(avl, 371);
+ avl = remove_int(avl, 427);
+ avl = remove_int(avl, 841);
+ avl = remove_int(avl, 847);
+ avl = grpc_avl_add(avl, box(814), box(1295), nullptr);
+ avl = grpc_avl_add(avl, box(127), box(1296), nullptr);
+ avl = grpc_avl_add(avl, box(279), box(1297), nullptr);
+ avl = remove_int(avl, 669);
+ avl = remove_int(avl, 541);
+ avl = remove_int(avl, 275);
+ avl = remove_int(avl, 299);
+ avl = remove_int(avl, 552);
+ avl = grpc_avl_add(avl, box(310), box(1303), nullptr);
+ avl = grpc_avl_add(avl, box(304), box(1304), nullptr);
+ avl = grpc_avl_add(avl, box(1), box(1305), nullptr);
+ avl = grpc_avl_add(avl, box(339), box(1306), nullptr);
+ avl = remove_int(avl, 570);
+ avl = remove_int(avl, 752);
+ avl = remove_int(avl, 552);
+ avl = remove_int(avl, 442);
+ avl = remove_int(avl, 639);
+ avl = grpc_avl_add(avl, box(313), box(1312), nullptr);
+ avl = remove_int(avl, 85);
+ avl = grpc_avl_add(avl, box(964), box(1314), nullptr);
+ avl = grpc_avl_add(avl, box(559), box(1315), nullptr);
+ avl = remove_int(avl, 167);
+ avl = grpc_avl_add(avl, box(866), box(1317), nullptr);
+ avl = remove_int(avl, 275);
+ avl = grpc_avl_add(avl, box(173), box(1319), nullptr);
+ avl = grpc_avl_add(avl, box(765), box(1320), nullptr);
+ avl = remove_int(avl, 883);
+ avl = grpc_avl_add(avl, box(547), box(1322), nullptr);
+ avl = grpc_avl_add(avl, box(847), box(1323), nullptr);
+ avl = remove_int(avl, 817);
+ avl = remove_int(avl, 850);
+ avl = remove_int(avl, 718);
+ avl = grpc_avl_add(avl, box(806), box(1327), nullptr);
+ avl = grpc_avl_add(avl, box(360), box(1328), nullptr);
+ avl = remove_int(avl, 991);
+ avl = grpc_avl_add(avl, box(493), box(1330), nullptr);
+ avl = remove_int(avl, 516);
+ avl = grpc_avl_add(avl, box(361), box(1332), nullptr);
+ avl = remove_int(avl, 355);
+ avl = grpc_avl_add(avl, box(512), box(1334), nullptr);
+ avl = grpc_avl_add(avl, box(191), box(1335), nullptr);
+ avl = remove_int(avl, 703);
+ avl = grpc_avl_add(avl, box(333), box(1337), nullptr);
+ avl = remove_int(avl, 481);
+ avl = grpc_avl_add(avl, box(501), box(1339), nullptr);
+ avl = remove_int(avl, 532);
+ avl = remove_int(avl, 510);
+ avl = grpc_avl_add(avl, box(793), box(1342), nullptr);
+ avl = grpc_avl_add(avl, box(234), box(1343), nullptr);
+ avl = remove_int(avl, 159);
+ avl = remove_int(avl, 429);
+ avl = remove_int(avl, 728);
+ avl = remove_int(avl, 288);
+ avl = grpc_avl_add(avl, box(281), box(1348), nullptr);
+ avl = grpc_avl_add(avl, box(702), box(1349), nullptr);
+ avl = grpc_avl_add(avl, box(149), box(1350), nullptr);
+ avl = remove_int(avl, 22);
+ avl = remove_int(avl, 944);
+ avl = remove_int(avl, 55);
+ avl = remove_int(avl, 512);
+ avl = remove_int(avl, 676);
+ avl = remove_int(avl, 884);
+ avl = grpc_avl_add(avl, box(246), box(1357), nullptr);
+ avl = grpc_avl_add(avl, box(455), box(1358), nullptr);
+ avl = remove_int(avl, 782);
+ avl = remove_int(avl, 682);
+ avl = grpc_avl_add(avl, box(243), box(1361), nullptr);
+ avl = grpc_avl_add(avl, box(109), box(1362), nullptr);
+ avl = grpc_avl_add(avl, box(452), box(1363), nullptr);
+ avl = remove_int(avl, 151);
+ avl = grpc_avl_add(avl, box(159), box(1365), nullptr);
+ avl = remove_int(avl, 1023);
+ avl = grpc_avl_add(avl, box(129), box(1367), nullptr);
+ avl = grpc_avl_add(avl, box(537), box(1368), nullptr);
+ avl = remove_int(avl, 321);
+ avl = grpc_avl_add(avl, box(740), box(1370), nullptr);
+ avl = remove_int(avl, 45);
+ avl = remove_int(avl, 136);
+ avl = grpc_avl_add(avl, box(229), box(1373), nullptr);
+ avl = remove_int(avl, 772);
+ avl = grpc_avl_add(avl, box(181), box(1375), nullptr);
+ avl = remove_int(avl, 175);
+ avl = grpc_avl_add(avl, box(817), box(1377), nullptr);
+ avl = remove_int(avl, 956);
+ avl = grpc_avl_add(avl, box(675), box(1379), nullptr);
+ avl = grpc_avl_add(avl, box(375), box(1380), nullptr);
+ avl = remove_int(avl, 384);
+ avl = grpc_avl_add(avl, box(1016), box(1382), nullptr);
+ avl = remove_int(avl, 295);
+ avl = remove_int(avl, 697);
+ avl = remove_int(avl, 554);
+ avl = remove_int(avl, 590);
+ avl = remove_int(avl, 1014);
+ avl = grpc_avl_add(avl, box(890), box(1388), nullptr);
+ avl = grpc_avl_add(avl, box(293), box(1389), nullptr);
+ avl = remove_int(avl, 207);
+ avl = remove_int(avl, 46);
+ avl = grpc_avl_add(avl, box(899), box(1392), nullptr);
+ avl = grpc_avl_add(avl, box(666), box(1393), nullptr);
+ avl = grpc_avl_add(avl, box(85), box(1394), nullptr);
+ avl = grpc_avl_add(avl, box(914), box(1395), nullptr);
+ avl = grpc_avl_add(avl, box(128), box(1396), nullptr);
+ avl = grpc_avl_add(avl, box(835), box(1397), nullptr);
+ avl = grpc_avl_add(avl, box(787), box(1398), nullptr);
+ avl = grpc_avl_add(avl, box(649), box(1399), nullptr);
+ avl = grpc_avl_add(avl, box(723), box(1400), nullptr);
+ avl = remove_int(avl, 874);
+ avl = grpc_avl_add(avl, box(778), box(1402), nullptr);
+ avl = grpc_avl_add(avl, box(1015), box(1403), nullptr);
+ avl = grpc_avl_add(avl, box(59), box(1404), nullptr);
+ avl = grpc_avl_add(avl, box(259), box(1405), nullptr);
+ avl = grpc_avl_add(avl, box(758), box(1406), nullptr);
+ avl = remove_int(avl, 648);
+ avl = grpc_avl_add(avl, box(145), box(1408), nullptr);
+ avl = grpc_avl_add(avl, box(440), box(1409), nullptr);
+ avl = remove_int(avl, 608);
+ avl = remove_int(avl, 690);
+ avl = grpc_avl_add(avl, box(605), box(1412), nullptr);
+ avl = remove_int(avl, 856);
+ avl = remove_int(avl, 608);
+ avl = grpc_avl_add(avl, box(829), box(1415), nullptr);
+ avl = grpc_avl_add(avl, box(660), box(1416), nullptr);
+ avl = remove_int(avl, 596);
+ avl = grpc_avl_add(avl, box(519), box(1418), nullptr);
+ avl = grpc_avl_add(avl, box(35), box(1419), nullptr);
+ avl = grpc_avl_add(avl, box(871), box(1420), nullptr);
+ avl = remove_int(avl, 845);
+ avl = grpc_avl_add(avl, box(600), box(1422), nullptr);
+ avl = grpc_avl_add(avl, box(215), box(1423), nullptr);
+ avl = remove_int(avl, 761);
+ avl = grpc_avl_add(avl, box(975), box(1425), nullptr);
+ avl = remove_int(avl, 987);
+ avl = grpc_avl_add(avl, box(58), box(1427), nullptr);
+ avl = remove_int(avl, 119);
+ avl = grpc_avl_add(avl, box(937), box(1429), nullptr);
+ avl = grpc_avl_add(avl, box(372), box(1430), nullptr);
+ avl = grpc_avl_add(avl, box(11), box(1431), nullptr);
+ avl = grpc_avl_add(avl, box(398), box(1432), nullptr);
+ avl = grpc_avl_add(avl, box(423), box(1433), nullptr);
+ avl = remove_int(avl, 171);
+ avl = grpc_avl_add(avl, box(473), box(1435), nullptr);
+ avl = remove_int(avl, 752);
+ avl = remove_int(avl, 625);
+ avl = remove_int(avl, 764);
+ avl = remove_int(avl, 49);
+ avl = grpc_avl_add(avl, box(472), box(1440), nullptr);
+ avl = remove_int(avl, 847);
+ avl = remove_int(avl, 642);
+ avl = remove_int(avl, 1004);
+ avl = remove_int(avl, 795);
+ avl = remove_int(avl, 465);
+ avl = grpc_avl_add(avl, box(636), box(1446), nullptr);
+ avl = remove_int(avl, 152);
+ avl = grpc_avl_add(avl, box(61), box(1448), nullptr);
+ avl = remove_int(avl, 929);
+ avl = remove_int(avl, 9);
+ avl = grpc_avl_add(avl, box(251), box(1451), nullptr);
+ avl = grpc_avl_add(avl, box(672), box(1452), nullptr);
+ avl = grpc_avl_add(avl, box(66), box(1453), nullptr);
+ avl = remove_int(avl, 693);
+ avl = remove_int(avl, 914);
+ avl = remove_int(avl, 116);
+ avl = remove_int(avl, 577);
+ avl = grpc_avl_add(avl, box(618), box(1458), nullptr);
+ avl = grpc_avl_add(avl, box(495), box(1459), nullptr);
+ avl = remove_int(avl, 450);
+ avl = grpc_avl_add(avl, box(533), box(1461), nullptr);
+ avl = grpc_avl_add(avl, box(414), box(1462), nullptr);
+ avl = remove_int(avl, 74);
+ avl = remove_int(avl, 236);
+ avl = grpc_avl_add(avl, box(707), box(1465), nullptr);
+ avl = grpc_avl_add(avl, box(357), box(1466), nullptr);
+ avl = grpc_avl_add(avl, box(1007), box(1467), nullptr);
+ avl = grpc_avl_add(avl, box(811), box(1468), nullptr);
+ avl = grpc_avl_add(avl, box(418), box(1469), nullptr);
+ avl = grpc_avl_add(avl, box(164), box(1470), nullptr);
+ avl = grpc_avl_add(avl, box(622), box(1471), nullptr);
+ avl = remove_int(avl, 22);
+ avl = remove_int(avl, 14);
+ avl = remove_int(avl, 732);
+ avl = remove_int(avl, 7);
+ avl = remove_int(avl, 447);
+ avl = grpc_avl_add(avl, box(221), box(1477), nullptr);
+ avl = grpc_avl_add(avl, box(202), box(1478), nullptr);
+ avl = grpc_avl_add(avl, box(312), box(1479), nullptr);
+ avl = remove_int(avl, 274);
+ avl = grpc_avl_add(avl, box(684), box(1481), nullptr);
+ avl = grpc_avl_add(avl, box(954), box(1482), nullptr);
+ avl = grpc_avl_add(avl, box(637), box(1483), nullptr);
+ avl = remove_int(avl, 716);
+ avl = grpc_avl_add(avl, box(198), box(1485), nullptr);
+ avl = remove_int(avl, 340);
+ avl = remove_int(avl, 137);
+ avl = remove_int(avl, 995);
+ avl = remove_int(avl, 1004);
+ avl = grpc_avl_add(avl, box(661), box(1490), nullptr);
+ avl = grpc_avl_add(avl, box(862), box(1491), nullptr);
+ avl = remove_int(avl, 527);
+ avl = grpc_avl_add(avl, box(945), box(1493), nullptr);
+ avl = remove_int(avl, 355);
+ avl = remove_int(avl, 144);
+ avl = grpc_avl_add(avl, box(229), box(1496), nullptr);
+ avl = grpc_avl_add(avl, box(237), box(1497), nullptr);
+ avl = remove_int(avl, 471);
+ avl = remove_int(avl, 901);
+ avl = grpc_avl_add(avl, box(905), box(1500), nullptr);
+ avl = remove_int(avl, 19);
+ avl = remove_int(avl, 896);
+ avl = remove_int(avl, 585);
+ avl = remove_int(avl, 308);
+ avl = grpc_avl_add(avl, box(547), box(1505), nullptr);
+ avl = grpc_avl_add(avl, box(552), box(1506), nullptr);
+ avl = grpc_avl_add(avl, box(30), box(1507), nullptr);
+ avl = grpc_avl_add(avl, box(445), box(1508), nullptr);
+ avl = remove_int(avl, 785);
+ avl = remove_int(avl, 185);
+ avl = grpc_avl_add(avl, box(405), box(1511), nullptr);
+ avl = grpc_avl_add(avl, box(733), box(1512), nullptr);
+ avl = grpc_avl_add(avl, box(573), box(1513), nullptr);
+ avl = grpc_avl_add(avl, box(492), box(1514), nullptr);
+ avl = grpc_avl_add(avl, box(343), box(1515), nullptr);
+ avl = grpc_avl_add(avl, box(527), box(1516), nullptr);
+ avl = grpc_avl_add(avl, box(596), box(1517), nullptr);
+ avl = grpc_avl_add(avl, box(519), box(1518), nullptr);
+ avl = remove_int(avl, 243);
+ avl = remove_int(avl, 722);
+ avl = grpc_avl_add(avl, box(772), box(1521), nullptr);
+ avl = remove_int(avl, 152);
+ avl = remove_int(avl, 305);
+ avl = grpc_avl_add(avl, box(754), box(1524), nullptr);
+ avl = grpc_avl_add(avl, box(373), box(1525), nullptr);
+ avl = remove_int(avl, 995);
+ avl = grpc_avl_add(avl, box(329), box(1527), nullptr);
+ avl = remove_int(avl, 397);
+ avl = grpc_avl_add(avl, box(884), box(1529), nullptr);
+ avl = remove_int(avl, 329);
+ avl = remove_int(avl, 240);
+ avl = grpc_avl_add(avl, box(566), box(1532), nullptr);
+ avl = grpc_avl_add(avl, box(232), box(1533), nullptr);
+ avl = remove_int(avl, 993);
+ avl = grpc_avl_add(avl, box(888), box(1535), nullptr);
+ avl = remove_int(avl, 242);
+ avl = grpc_avl_add(avl, box(941), box(1537), nullptr);
+ avl = remove_int(avl, 415);
+ avl = grpc_avl_add(avl, box(992), box(1539), nullptr);
+ avl = remove_int(avl, 289);
+ avl = grpc_avl_add(avl, box(60), box(1541), nullptr);
+ avl = grpc_avl_add(avl, box(97), box(1542), nullptr);
+ avl = remove_int(avl, 965);
+ avl = remove_int(avl, 267);
+ avl = remove_int(avl, 360);
+ avl = grpc_avl_add(avl, box(5), box(1546), nullptr);
+ avl = remove_int(avl, 429);
+ avl = grpc_avl_add(avl, box(412), box(1548), nullptr);
+ avl = remove_int(avl, 632);
+ avl = remove_int(avl, 113);
+ avl = grpc_avl_add(avl, box(48), box(1551), nullptr);
+ avl = grpc_avl_add(avl, box(108), box(1552), nullptr);
+ avl = grpc_avl_add(avl, box(750), box(1553), nullptr);
+ avl = remove_int(avl, 188);
+ avl = grpc_avl_add(avl, box(668), box(1555), nullptr);
+ avl = remove_int(avl, 37);
+ avl = remove_int(avl, 737);
+ avl = grpc_avl_add(avl, box(93), box(1558), nullptr);
+ avl = grpc_avl_add(avl, box(628), box(1559), nullptr);
+ avl = grpc_avl_add(avl, box(480), box(1560), nullptr);
+ avl = remove_int(avl, 958);
+ avl = remove_int(avl, 565);
+ avl = remove_int(avl, 32);
+ avl = remove_int(avl, 1);
+ avl = remove_int(avl, 335);
+ avl = grpc_avl_add(avl, box(136), box(1566), nullptr);
+ avl = grpc_avl_add(avl, box(469), box(1567), nullptr);
+ avl = remove_int(avl, 349);
+ avl = grpc_avl_add(avl, box(768), box(1569), nullptr);
+ avl = grpc_avl_add(avl, box(915), box(1570), nullptr);
+ avl = remove_int(avl, 1014);
+ avl = grpc_avl_add(avl, box(117), box(1572), nullptr);
+ avl = remove_int(avl, 62);
+ avl = grpc_avl_add(avl, box(382), box(1574), nullptr);
+ avl = remove_int(avl, 571);
+ avl = grpc_avl_add(avl, box(655), box(1576), nullptr);
+ avl = grpc_avl_add(avl, box(323), box(1577), nullptr);
+ avl = remove_int(avl, 869);
+ avl = remove_int(avl, 151);
+ avl = grpc_avl_add(avl, box(1019), box(1580), nullptr);
+ avl = grpc_avl_add(avl, box(984), box(1581), nullptr);
+ avl = grpc_avl_add(avl, box(870), box(1582), nullptr);
+ avl = grpc_avl_add(avl, box(376), box(1583), nullptr);
+ avl = remove_int(avl, 625);
+ avl = grpc_avl_add(avl, box(733), box(1585), nullptr);
+ avl = remove_int(avl, 532);
+ avl = remove_int(avl, 444);
+ avl = grpc_avl_add(avl, box(428), box(1588), nullptr);
+ avl = grpc_avl_add(avl, box(860), box(1589), nullptr);
+ avl = grpc_avl_add(avl, box(173), box(1590), nullptr);
+ avl = remove_int(avl, 649);
+ avl = remove_int(avl, 913);
+ avl = remove_int(avl, 1);
+ avl = remove_int(avl, 304);
+ avl = grpc_avl_add(avl, box(604), box(1595), nullptr);
+ avl = grpc_avl_add(avl, box(639), box(1596), nullptr);
+ avl = remove_int(avl, 431);
+ avl = grpc_avl_add(avl, box(993), box(1598), nullptr);
+ avl = remove_int(avl, 681);
+ avl = remove_int(avl, 927);
+ avl = grpc_avl_add(avl, box(87), box(1601), nullptr);
+ avl = grpc_avl_add(avl, box(91), box(1602), nullptr);
+ avl = remove_int(avl, 61);
+ avl = remove_int(avl, 14);
+ avl = remove_int(avl, 305);
+ avl = remove_int(avl, 304);
+ avl = remove_int(avl, 1016);
+ avl = grpc_avl_add(avl, box(903), box(1608), nullptr);
+ avl = grpc_avl_add(avl, box(951), box(1609), nullptr);
+ avl = grpc_avl_add(avl, box(146), box(1610), nullptr);
+ avl = grpc_avl_add(avl, box(482), box(1611), nullptr);
+ avl = grpc_avl_add(avl, box(71), box(1612), nullptr);
+ avl = remove_int(avl, 246);
+ avl = remove_int(avl, 696);
+ avl = grpc_avl_add(avl, box(636), box(1615), nullptr);
+ avl = grpc_avl_add(avl, box(295), box(1616), nullptr);
+ avl = remove_int(avl, 11);
+ avl = remove_int(avl, 231);
+ avl = grpc_avl_add(avl, box(905), box(1619), nullptr);
+ avl = grpc_avl_add(avl, box(993), box(1620), nullptr);
+ avl = grpc_avl_add(avl, box(433), box(1621), nullptr);
+ avl = grpc_avl_add(avl, box(117), box(1622), nullptr);
+ avl = grpc_avl_add(avl, box(467), box(1623), nullptr);
+ avl = remove_int(avl, 419);
+ avl = grpc_avl_add(avl, box(179), box(1625), nullptr);
+ avl = remove_int(avl, 926);
+ avl = remove_int(avl, 326);
+ avl = grpc_avl_add(avl, box(551), box(1628), nullptr);
+ avl = remove_int(avl, 14);
+ avl = remove_int(avl, 476);
+ avl = remove_int(avl, 823);
+ avl = grpc_avl_add(avl, box(350), box(1632), nullptr);
+ avl = grpc_avl_add(avl, box(133), box(1633), nullptr);
+ avl = remove_int(avl, 906);
+ avl = grpc_avl_add(avl, box(827), box(1635), nullptr);
+ avl = grpc_avl_add(avl, box(201), box(1636), nullptr);
+ avl = remove_int(avl, 124);
+ avl = remove_int(avl, 662);
+ avl = grpc_avl_add(avl, box(314), box(1639), nullptr);
+ avl = grpc_avl_add(avl, box(986), box(1640), nullptr);
+ avl = grpc_avl_add(avl, box(622), box(1641), nullptr);
+ avl = remove_int(avl, 130);
+ avl = grpc_avl_add(avl, box(861), box(1643), nullptr);
+ avl = remove_int(avl, 497);
+ avl = remove_int(avl, 905);
+ avl = grpc_avl_add(avl, box(502), box(1646), nullptr);
+ avl = remove_int(avl, 721);
+ avl = grpc_avl_add(avl, box(514), box(1648), nullptr);
+ avl = grpc_avl_add(avl, box(410), box(1649), nullptr);
+ avl = remove_int(avl, 869);
+ avl = remove_int(avl, 247);
+ avl = grpc_avl_add(avl, box(450), box(1652), nullptr);
+ avl = remove_int(avl, 364);
+ avl = grpc_avl_add(avl, box(963), box(1654), nullptr);
+ avl = grpc_avl_add(avl, box(146), box(1655), nullptr);
+ avl = remove_int(avl, 147);
+ avl = remove_int(avl, 789);
+ avl = grpc_avl_add(avl, box(693), box(1658), nullptr);
+ avl = grpc_avl_add(avl, box(959), box(1659), nullptr);
+ avl = remove_int(avl, 478);
+ avl = grpc_avl_add(avl, box(116), box(1661), nullptr);
+ avl = grpc_avl_add(avl, box(520), box(1662), nullptr);
+ avl = grpc_avl_add(avl, box(809), box(1663), nullptr);
+ avl = grpc_avl_add(avl, box(667), box(1664), nullptr);
+ avl = grpc_avl_add(avl, box(406), box(1665), nullptr);
+ avl = remove_int(avl, 409);
+ avl = grpc_avl_add(avl, box(558), box(1667), nullptr);
+ avl = grpc_avl_add(avl, box(0), box(1668), nullptr);
+ avl = grpc_avl_add(avl, box(948), box(1669), nullptr);
+ avl = grpc_avl_add(avl, box(576), box(1670), nullptr);
+ avl = remove_int(avl, 864);
+ avl = remove_int(avl, 840);
+ avl = remove_int(avl, 1001);
+ avl = grpc_avl_add(avl, box(232), box(1674), nullptr);
+ avl = remove_int(avl, 676);
+ avl = remove_int(avl, 752);
+ avl = remove_int(avl, 667);
+ avl = remove_int(avl, 605);
+ avl = grpc_avl_add(avl, box(258), box(1679), nullptr);
+ avl = grpc_avl_add(avl, box(648), box(1680), nullptr);
+ avl = grpc_avl_add(avl, box(761), box(1681), nullptr);
+ avl = remove_int(avl, 293);
+ avl = remove_int(avl, 893);
+ avl = grpc_avl_add(avl, box(194), box(1684), nullptr);
+ avl = remove_int(avl, 233);
+ avl = grpc_avl_add(avl, box(888), box(1686), nullptr);
+ avl = remove_int(avl, 470);
+ avl = remove_int(avl, 703);
+ avl = remove_int(avl, 190);
+ avl = remove_int(avl, 359);
+ avl = grpc_avl_add(avl, box(621), box(1691), nullptr);
+ avl = remove_int(avl, 634);
+ avl = remove_int(avl, 335);
+ avl = grpc_avl_add(avl, box(718), box(1694), nullptr);
+ avl = grpc_avl_add(avl, box(463), box(1695), nullptr);
+ avl = grpc_avl_add(avl, box(233), box(1696), nullptr);
+ avl = remove_int(avl, 376);
+ avl = remove_int(avl, 496);
+ avl = remove_int(avl, 819);
+ avl = remove_int(avl, 38);
+ avl = remove_int(avl, 436);
+ avl = remove_int(avl, 102);
+ avl = grpc_avl_add(avl, box(607), box(1703), nullptr);
+ avl = remove_int(avl, 329);
+ avl = grpc_avl_add(avl, box(716), box(1705), nullptr);
+ avl = remove_int(avl, 639);
+ avl = remove_int(avl, 775);
+ avl = remove_int(avl, 578);
+ avl = remove_int(avl, 464);
+ avl = remove_int(avl, 679);
+ avl = remove_int(avl, 615);
+ avl = remove_int(avl, 104);
+ avl = grpc_avl_add(avl, box(414), box(1713), nullptr);
+ avl = grpc_avl_add(avl, box(212), box(1714), nullptr);
+ avl = grpc_avl_add(avl, box(266), box(1715), nullptr);
+ avl = grpc_avl_add(avl, box(238), box(1716), nullptr);
+ avl = remove_int(avl, 153);
+ avl = grpc_avl_add(avl, box(585), box(1718), nullptr);
+ avl = remove_int(avl, 121);
+ avl = grpc_avl_add(avl, box(534), box(1720), nullptr);
+ avl = remove_int(avl, 579);
+ avl = grpc_avl_add(avl, box(127), box(1722), nullptr);
+ avl = grpc_avl_add(avl, box(399), box(1723), nullptr);
+ avl = remove_int(avl, 417);
+ avl = grpc_avl_add(avl, box(978), box(1725), nullptr);
+ avl = grpc_avl_add(avl, box(768), box(1726), nullptr);
+ avl = remove_int(avl, 985);
+ avl = grpc_avl_add(avl, box(536), box(1728), nullptr);
+ avl = grpc_avl_add(avl, box(449), box(1729), nullptr);
+ avl = grpc_avl_add(avl, box(586), box(1730), nullptr);
+ avl = remove_int(avl, 998);
+ avl = remove_int(avl, 394);
+ avl = remove_int(avl, 141);
+ avl = grpc_avl_add(avl, box(889), box(1734), nullptr);
+ avl = grpc_avl_add(avl, box(871), box(1735), nullptr);
+ avl = grpc_avl_add(avl, box(76), box(1736), nullptr);
+ avl = grpc_avl_add(avl, box(549), box(1737), nullptr);
+ avl = grpc_avl_add(avl, box(757), box(1738), nullptr);
+ avl = remove_int(avl, 908);
+ avl = grpc_avl_add(avl, box(789), box(1740), nullptr);
+ avl = remove_int(avl, 224);
+ avl = grpc_avl_add(avl, box(407), box(1742), nullptr);
+ avl = grpc_avl_add(avl, box(381), box(1743), nullptr);
+ avl = grpc_avl_add(avl, box(561), box(1744), nullptr);
+ avl = grpc_avl_add(avl, box(667), box(1745), nullptr);
+ avl = grpc_avl_add(avl, box(522), box(1746), nullptr);
+ avl = grpc_avl_add(avl, box(948), box(1747), nullptr);
+ avl = remove_int(avl, 770);
+ avl = grpc_avl_add(avl, box(872), box(1749), nullptr);
+ avl = grpc_avl_add(avl, box(327), box(1750), nullptr);
+ avl = remove_int(avl, 10);
+ avl = grpc_avl_add(avl, box(122), box(1752), nullptr);
+ avl = remove_int(avl, 606);
+ avl = grpc_avl_add(avl, box(485), box(1754), nullptr);
+ avl = remove_int(avl, 6);
+ avl = grpc_avl_add(avl, box(329), box(1756), nullptr);
+ avl = grpc_avl_add(avl, box(783), box(1757), nullptr);
+ avl = remove_int(avl, 416);
+ avl = grpc_avl_add(avl, box(656), box(1759), nullptr);
+ avl = grpc_avl_add(avl, box(971), box(1760), nullptr);
+ avl = grpc_avl_add(avl, box(77), box(1761), nullptr);
+ avl = grpc_avl_add(avl, box(942), box(1762), nullptr);
+ avl = remove_int(avl, 361);
+ avl = grpc_avl_add(avl, box(66), box(1764), nullptr);
+ avl = grpc_avl_add(avl, box(299), box(1765), nullptr);
+ avl = grpc_avl_add(avl, box(929), box(1766), nullptr);
+ avl = grpc_avl_add(avl, box(797), box(1767), nullptr);
+ avl = remove_int(avl, 869);
+ avl = remove_int(avl, 907);
+ avl = grpc_avl_add(avl, box(870), box(1770), nullptr);
+ avl = remove_int(avl, 580);
+ avl = remove_int(avl, 120);
+ avl = grpc_avl_add(avl, box(913), box(1773), nullptr);
+ avl = remove_int(avl, 480);
+ avl = grpc_avl_add(avl, box(489), box(1775), nullptr);
+ avl = remove_int(avl, 845);
+ avl = grpc_avl_add(avl, box(896), box(1777), nullptr);
+ avl = remove_int(avl, 567);
+ avl = remove_int(avl, 427);
+ avl = grpc_avl_add(avl, box(443), box(1780), nullptr);
+ avl = grpc_avl_add(avl, box(3), box(1781), nullptr);
+ avl = remove_int(avl, 12);
+ avl = grpc_avl_add(avl, box(376), box(1783), nullptr);
+ avl = grpc_avl_add(avl, box(155), box(1784), nullptr);
+ avl = grpc_avl_add(avl, box(188), box(1785), nullptr);
+ avl = grpc_avl_add(avl, box(149), box(1786), nullptr);
+ avl = grpc_avl_add(avl, box(178), box(1787), nullptr);
+ avl = remove_int(avl, 84);
+ avl = grpc_avl_add(avl, box(805), box(1789), nullptr);
+ avl = grpc_avl_add(avl, box(612), box(1790), nullptr);
+ avl = remove_int(avl, 991);
+ avl = grpc_avl_add(avl, box(837), box(1792), nullptr);
+ avl = remove_int(avl, 173);
+ avl = remove_int(avl, 72);
+ avl = grpc_avl_add(avl, box(1014), box(1795), nullptr);
+ avl = remove_int(avl, 303);
+ avl = grpc_avl_add(avl, box(865), box(1797), nullptr);
+ avl = grpc_avl_add(avl, box(793), box(1798), nullptr);
+ avl = remove_int(avl, 173);
+ avl = remove_int(avl, 477);
+ avl = grpc_avl_add(avl, box(950), box(1801), nullptr);
+ avl = grpc_avl_add(avl, box(105), box(1802), nullptr);
+ avl = grpc_avl_add(avl, box(895), box(1803), nullptr);
+ avl = grpc_avl_add(avl, box(171), box(1804), nullptr);
+ avl = grpc_avl_add(avl, box(753), box(1805), nullptr);
+ avl = grpc_avl_add(avl, box(946), box(1806), nullptr);
+ avl = remove_int(avl, 194);
+ avl = remove_int(avl, 559);
+ avl = remove_int(avl, 116);
+ avl = grpc_avl_add(avl, box(968), box(1810), nullptr);
+ avl = remove_int(avl, 124);
+ avl = remove_int(avl, 99);
+ avl = grpc_avl_add(avl, box(563), box(1813), nullptr);
+ avl = remove_int(avl, 182);
+ avl = grpc_avl_add(avl, box(816), box(1815), nullptr);
+ avl = remove_int(avl, 73);
+ avl = remove_int(avl, 261);
+ avl = grpc_avl_add(avl, box(847), box(1818), nullptr);
+ avl = grpc_avl_add(avl, box(368), box(1819), nullptr);
+ avl = grpc_avl_add(avl, box(808), box(1820), nullptr);
+ avl = grpc_avl_add(avl, box(779), box(1821), nullptr);
+ avl = remove_int(avl, 818);
+ avl = grpc_avl_add(avl, box(466), box(1823), nullptr);
+ avl = remove_int(avl, 316);
+ avl = grpc_avl_add(avl, box(986), box(1825), nullptr);
+ avl = grpc_avl_add(avl, box(688), box(1826), nullptr);
+ avl = grpc_avl_add(avl, box(509), box(1827), nullptr);
+ avl = grpc_avl_add(avl, box(51), box(1828), nullptr);
+ avl = remove_int(avl, 655);
+ avl = remove_int(avl, 785);
+ avl = remove_int(avl, 893);
+ avl = grpc_avl_add(avl, box(167), box(1832), nullptr);
+ avl = remove_int(avl, 13);
+ avl = remove_int(avl, 263);
+ avl = grpc_avl_add(avl, box(1009), box(1835), nullptr);
+ avl = remove_int(avl, 480);
+ avl = remove_int(avl, 778);
+ avl = remove_int(avl, 713);
+ avl = remove_int(avl, 628);
+ avl = grpc_avl_add(avl, box(803), box(1840), nullptr);
+ avl = remove_int(avl, 267);
+ avl = grpc_avl_add(avl, box(676), box(1842), nullptr);
+ avl = grpc_avl_add(avl, box(231), box(1843), nullptr);
+ avl = grpc_avl_add(avl, box(824), box(1844), nullptr);
+ avl = remove_int(avl, 961);
+ avl = grpc_avl_add(avl, box(311), box(1846), nullptr);
+ avl = grpc_avl_add(avl, box(420), box(1847), nullptr);
+ avl = grpc_avl_add(avl, box(960), box(1848), nullptr);
+ avl = grpc_avl_add(avl, box(468), box(1849), nullptr);
+ avl = grpc_avl_add(avl, box(815), box(1850), nullptr);
+ avl = remove_int(avl, 247);
+ avl = remove_int(avl, 194);
+ avl = grpc_avl_add(avl, box(546), box(1853), nullptr);
+ avl = remove_int(avl, 222);
+ avl = remove_int(avl, 914);
+ avl = remove_int(avl, 741);
+ avl = grpc_avl_add(avl, box(470), box(1857), nullptr);
+ avl = grpc_avl_add(avl, box(933), box(1858), nullptr);
+ avl = grpc_avl_add(avl, box(97), box(1859), nullptr);
+ avl = remove_int(avl, 564);
+ avl = remove_int(avl, 295);
+ avl = grpc_avl_add(avl, box(864), box(1862), nullptr);
+ avl = remove_int(avl, 329);
+ avl = grpc_avl_add(avl, box(124), box(1864), nullptr);
+ avl = grpc_avl_add(avl, box(1000), box(1865), nullptr);
+ avl = grpc_avl_add(avl, box(228), box(1866), nullptr);
+ avl = grpc_avl_add(avl, box(187), box(1867), nullptr);
+ avl = remove_int(avl, 224);
+ avl = remove_int(avl, 306);
+ avl = remove_int(avl, 884);
+ avl = grpc_avl_add(avl, box(449), box(1871), nullptr);
+ avl = grpc_avl_add(avl, box(353), box(1872), nullptr);
+ avl = grpc_avl_add(avl, box(994), box(1873), nullptr);
+ avl = grpc_avl_add(avl, box(596), box(1874), nullptr);
+ avl = grpc_avl_add(avl, box(996), box(1875), nullptr);
+ avl = grpc_avl_add(avl, box(101), box(1876), nullptr);
+ avl = grpc_avl_add(avl, box(1012), box(1877), nullptr);
+ avl = grpc_avl_add(avl, box(982), box(1878), nullptr);
+ avl = grpc_avl_add(avl, box(742), box(1879), nullptr);
+ avl = remove_int(avl, 92);
+ avl = remove_int(avl, 1022);
+ avl = grpc_avl_add(avl, box(941), box(1882), nullptr);
+ avl = remove_int(avl, 742);
+ avl = remove_int(avl, 919);
+ avl = grpc_avl_add(avl, box(588), box(1885), nullptr);
+ avl = remove_int(avl, 221);
+ avl = grpc_avl_add(avl, box(356), box(1887), nullptr);
+ avl = grpc_avl_add(avl, box(932), box(1888), nullptr);
+ avl = remove_int(avl, 837);
+ avl = grpc_avl_add(avl, box(394), box(1890), nullptr);
+ avl = grpc_avl_add(avl, box(642), box(1891), nullptr);
+ avl = grpc_avl_add(avl, box(52), box(1892), nullptr);
+ avl = grpc_avl_add(avl, box(437), box(1893), nullptr);
+ avl = grpc_avl_add(avl, box(948), box(1894), nullptr);
+ avl = grpc_avl_add(avl, box(93), box(1895), nullptr);
+ avl = remove_int(avl, 873);
+ avl = remove_int(avl, 336);
+ avl = remove_int(avl, 277);
+ avl = remove_int(avl, 932);
+ avl = grpc_avl_add(avl, box(80), box(1900), nullptr);
+ avl = grpc_avl_add(avl, box(952), box(1901), nullptr);
+ avl = grpc_avl_add(avl, box(510), box(1902), nullptr);
+ avl = remove_int(avl, 876);
+ avl = remove_int(avl, 612);
+ avl = grpc_avl_add(avl, box(923), box(1905), nullptr);
+ avl = grpc_avl_add(avl, box(475), box(1906), nullptr);
+ avl = remove_int(avl, 478);
+ avl = remove_int(avl, 148);
+ avl = grpc_avl_add(avl, box(538), box(1909), nullptr);
+ avl = remove_int(avl, 47);
+ avl = grpc_avl_add(avl, box(89), box(1911), nullptr);
+ avl = remove_int(avl, 723);
+ avl = grpc_avl_add(avl, box(687), box(1913), nullptr);
+ avl = grpc_avl_add(avl, box(480), box(1914), nullptr);
+ avl = grpc_avl_add(avl, box(149), box(1915), nullptr);
+ avl = remove_int(avl, 68);
+ avl = remove_int(avl, 862);
+ avl = remove_int(avl, 363);
+ avl = grpc_avl_add(avl, box(996), box(1919), nullptr);
+ avl = remove_int(avl, 380);
+ avl = grpc_avl_add(avl, box(957), box(1921), nullptr);
+ avl = remove_int(avl, 413);
+ avl = grpc_avl_add(avl, box(360), box(1923), nullptr);
+ avl = grpc_avl_add(avl, box(304), box(1924), nullptr);
+ avl = grpc_avl_add(avl, box(634), box(1925), nullptr);
+ avl = grpc_avl_add(avl, box(506), box(1926), nullptr);
+ avl = remove_int(avl, 248);
+ avl = grpc_avl_add(avl, box(124), box(1928), nullptr);
+ avl = grpc_avl_add(avl, box(181), box(1929), nullptr);
+ avl = remove_int(avl, 507);
+ avl = grpc_avl_add(avl, box(141), box(1931), nullptr);
+ avl = remove_int(avl, 409);
+ avl = remove_int(avl, 129);
+ avl = remove_int(avl, 694);
+ avl = remove_int(avl, 723);
+ avl = grpc_avl_add(avl, box(998), box(1936), nullptr);
+ avl = grpc_avl_add(avl, box(906), box(1937), nullptr);
+ avl = grpc_avl_add(avl, box(44), box(1938), nullptr);
+ avl = remove_int(avl, 949);
+ avl = remove_int(avl, 117);
+ avl = grpc_avl_add(avl, box(700), box(1941), nullptr);
+ avl = grpc_avl_add(avl, box(258), box(1942), nullptr);
+ avl = remove_int(avl, 828);
+ avl = grpc_avl_add(avl, box(860), box(1944), nullptr);
+ avl = grpc_avl_add(avl, box(987), box(1945), nullptr);
+ avl = grpc_avl_add(avl, box(316), box(1946), nullptr);
+ avl = grpc_avl_add(avl, box(919), box(1947), nullptr);
+ avl = remove_int(avl, 84);
+ avl = grpc_avl_add(avl, box(473), box(1949), nullptr);
+ avl = remove_int(avl, 127);
+ avl = remove_int(avl, 829);
+ avl = remove_int(avl, 829);
+ avl = grpc_avl_add(avl, box(488), box(1953), nullptr);
+ avl = grpc_avl_add(avl, box(954), box(1954), nullptr);
+ avl = remove_int(avl, 198);
+ avl = remove_int(avl, 972);
+ avl = remove_int(avl, 670);
+ avl = grpc_avl_add(avl, box(822), box(1958), nullptr);
+ avl = remove_int(avl, 589);
+ avl = remove_int(avl, 459);
+ avl = grpc_avl_add(avl, box(1003), box(1961), nullptr);
+ avl = grpc_avl_add(avl, box(657), box(1962), nullptr);
+ avl = grpc_avl_add(avl, box(477), box(1963), nullptr);
+ avl = grpc_avl_add(avl, box(923), box(1964), nullptr);
+ avl = remove_int(avl, 496);
+ avl = remove_int(avl, 99);
+ avl = grpc_avl_add(avl, box(127), box(1967), nullptr);
+ avl = grpc_avl_add(avl, box(1013), box(1968), nullptr);
+ avl = grpc_avl_add(avl, box(778), box(1969), nullptr);
+ avl = remove_int(avl, 5);
+ avl = remove_int(avl, 990);
+ avl = remove_int(avl, 850);
+ avl = remove_int(avl, 160);
+ avl = remove_int(avl, 86);
+ avl = grpc_avl_add(avl, box(283), box(1975), nullptr);
+ avl = remove_int(avl, 278);
+ avl = remove_int(avl, 297);
+ avl = remove_int(avl, 137);
+ avl = remove_int(avl, 653);
+ avl = grpc_avl_add(avl, box(702), box(1980), nullptr);
+ avl = remove_int(avl, 63);
+ avl = remove_int(avl, 427);
+ avl = remove_int(avl, 706);
+ avl = remove_int(avl, 806);
+ avl = grpc_avl_add(avl, box(335), box(1985), nullptr);
+ avl = grpc_avl_add(avl, box(412), box(1986), nullptr);
+ avl = remove_int(avl, 766);
+ avl = remove_int(avl, 937);
+ avl = remove_int(avl, 886);
+ avl = remove_int(avl, 652);
+ avl = grpc_avl_add(avl, box(545), box(1991), nullptr);
+ avl = grpc_avl_add(avl, box(408), box(1992), nullptr);
+ avl = grpc_avl_add(avl, box(841), box(1993), nullptr);
+ avl = remove_int(avl, 593);
+ avl = grpc_avl_add(avl, box(582), box(1995), nullptr);
+ avl = grpc_avl_add(avl, box(597), box(1996), nullptr);
+ avl = remove_int(avl, 49);
+ avl = remove_int(avl, 835);
+ avl = grpc_avl_add(avl, box(417), box(1999), nullptr);
+ avl = grpc_avl_add(avl, box(191), box(2000), nullptr);
+ avl = remove_int(avl, 406);
+ avl = grpc_avl_add(avl, box(30), box(2002), nullptr);
+ avl = remove_int(avl, 841);
+ avl = remove_int(avl, 50);
+ avl = grpc_avl_add(avl, box(967), box(2005), nullptr);
+ avl = grpc_avl_add(avl, box(849), box(2006), nullptr);
+ avl = remove_int(avl, 608);
+ avl = grpc_avl_add(avl, box(306), box(2008), nullptr);
+ avl = remove_int(avl, 779);
+ avl = grpc_avl_add(avl, box(897), box(2010), nullptr);
+ avl = grpc_avl_add(avl, box(147), box(2011), nullptr);
+ avl = remove_int(avl, 982);
+ avl = grpc_avl_add(avl, box(470), box(2013), nullptr);
+ avl = remove_int(avl, 951);
+ avl = grpc_avl_add(avl, box(388), box(2015), nullptr);
+ avl = remove_int(avl, 616);
+ avl = remove_int(avl, 721);
+ avl = remove_int(avl, 942);
+ avl = remove_int(avl, 589);
+ avl = grpc_avl_add(avl, box(218), box(2020), nullptr);
+ avl = remove_int(avl, 671);
+ avl = grpc_avl_add(avl, box(1020), box(2022), nullptr);
+ avl = remove_int(avl, 277);
+ avl = grpc_avl_add(avl, box(681), box(2024), nullptr);
+ avl = grpc_avl_add(avl, box(179), box(2025), nullptr);
+ avl = grpc_avl_add(avl, box(370), box(2026), nullptr);
+ avl = grpc_avl_add(avl, box(0), box(2027), nullptr);
+ avl = remove_int(avl, 523);
+ avl = grpc_avl_add(avl, box(99), box(2029), nullptr);
+ avl = grpc_avl_add(avl, box(334), box(2030), nullptr);
+ avl = grpc_avl_add(avl, box(569), box(2031), nullptr);
+ avl = grpc_avl_add(avl, box(257), box(2032), nullptr);
+ avl = remove_int(avl, 572);
+ avl = grpc_avl_add(avl, box(805), box(2034), nullptr);
+ avl = grpc_avl_add(avl, box(143), box(2035), nullptr);
+ avl = grpc_avl_add(avl, box(670), box(2036), nullptr);
+ avl = remove_int(avl, 42);
+ avl = grpc_avl_add(avl, box(46), box(2038), nullptr);
+ avl = remove_int(avl, 970);
+ avl = grpc_avl_add(avl, box(353), box(2040), nullptr);
+ avl = remove_int(avl, 258);
+ avl = grpc_avl_add(avl, box(451), box(2042), nullptr);
+ avl = grpc_avl_add(avl, box(28), box(2043), nullptr);
+ avl = grpc_avl_add(avl, box(729), box(2044), nullptr);
+ avl = grpc_avl_add(avl, box(401), box(2045), nullptr);
+ avl = grpc_avl_add(avl, box(614), box(2046), nullptr);
+ avl = remove_int(avl, 990);
+ avl = remove_int(avl, 212);
+ avl = remove_int(avl, 22);
+ avl = remove_int(avl, 677);
+ avl = grpc_avl_add(avl, box(1016), box(2051), nullptr);
+ avl = grpc_avl_add(avl, box(980), box(2052), nullptr);
+ avl = grpc_avl_add(avl, box(990), box(2053), nullptr);
+ avl = grpc_avl_add(avl, box(355), box(2054), nullptr);
+ avl = remove_int(avl, 730);
+ avl = remove_int(avl, 37);
+ avl = grpc_avl_add(avl, box(407), box(2057), nullptr);
+ avl = grpc_avl_add(avl, box(222), box(2058), nullptr);
+ avl = grpc_avl_add(avl, box(439), box(2059), nullptr);
+ avl = grpc_avl_add(avl, box(563), box(2060), nullptr);
+ avl = remove_int(avl, 992);
+ avl = remove_int(avl, 786);
+ avl = grpc_avl_add(avl, box(1), box(2063), nullptr);
+ avl = grpc_avl_add(avl, box(473), box(2064), nullptr);
+ avl = grpc_avl_add(avl, box(992), box(2065), nullptr);
+ avl = remove_int(avl, 190);
+ avl = remove_int(avl, 450);
+ avl = remove_int(avl, 1020);
+ avl = remove_int(avl, 149);
+ avl = grpc_avl_add(avl, box(329), box(2070), nullptr);
+ avl = grpc_avl_add(avl, box(35), box(2071), nullptr);
+ avl = remove_int(avl, 843);
+ avl = grpc_avl_add(avl, box(855), box(2073), nullptr);
+ avl = remove_int(avl, 878);
+ avl = grpc_avl_add(avl, box(993), box(2075), nullptr);
+ avl = grpc_avl_add(avl, box(87), box(2076), nullptr);
+ avl = grpc_avl_add(avl, box(572), box(2077), nullptr);
+ avl = remove_int(avl, 896);
+ avl = grpc_avl_add(avl, box(849), box(2079), nullptr);
+ avl = remove_int(avl, 597);
+ avl = grpc_avl_add(avl, box(472), box(2081), nullptr);
+ avl = remove_int(avl, 778);
+ avl = remove_int(avl, 934);
+ avl = remove_int(avl, 314);
+ avl = grpc_avl_add(avl, box(101), box(2085), nullptr);
+ avl = remove_int(avl, 938);
+ avl = remove_int(avl, 1010);
+ avl = grpc_avl_add(avl, box(579), box(2088), nullptr);
+ avl = remove_int(avl, 798);
+ avl = remove_int(avl, 88);
+ avl = grpc_avl_add(avl, box(851), box(2091), nullptr);
+ avl = remove_int(avl, 705);
+ avl = grpc_avl_add(avl, box(26), box(2093), nullptr);
+ avl = remove_int(avl, 973);
+ avl = grpc_avl_add(avl, box(923), box(2095), nullptr);
+ avl = remove_int(avl, 668);
+ avl = grpc_avl_add(avl, box(310), box(2097), nullptr);
+ avl = grpc_avl_add(avl, box(269), box(2098), nullptr);
+ avl = remove_int(avl, 173);
+ avl = grpc_avl_add(avl, box(279), box(2100), nullptr);
+ avl = remove_int(avl, 203);
+ avl = grpc_avl_add(avl, box(411), box(2102), nullptr);
+ avl = remove_int(avl, 950);
+ avl = grpc_avl_add(avl, box(6), box(2104), nullptr);
+ avl = remove_int(avl, 400);
+ avl = remove_int(avl, 468);
+ avl = remove_int(avl, 271);
+ avl = grpc_avl_add(avl, box(627), box(2108), nullptr);
+ avl = remove_int(avl, 727);
+ avl = remove_int(avl, 148);
+ avl = remove_int(avl, 98);
+ avl = remove_int(avl, 997);
+ avl = remove_int(avl, 215);
+ avl = remove_int(avl, 628);
+ avl = remove_int(avl, 826);
+ avl = remove_int(avl, 664);
+ avl = grpc_avl_add(avl, box(76), box(2117), nullptr);
+ avl = remove_int(avl, 194);
+ avl = remove_int(avl, 18);
+ avl = grpc_avl_add(avl, box(727), box(2120), nullptr);
+ avl = remove_int(avl, 295);
+ avl = grpc_avl_add(avl, box(645), box(2122), nullptr);
+ avl = remove_int(avl, 321);
+ avl = remove_int(avl, 863);
+ avl = grpc_avl_add(avl, box(824), box(2125), nullptr);
+ avl = grpc_avl_add(avl, box(651), box(2126), nullptr);
+ avl = grpc_avl_add(avl, box(804), box(2127), nullptr);
+ avl = remove_int(avl, 307);
+ avl = grpc_avl_add(avl, box(867), box(2129), nullptr);
+ avl = remove_int(avl, 384);
+ avl = grpc_avl_add(avl, box(819), box(2131), nullptr);
+ avl = remove_int(avl, 674);
+ avl = grpc_avl_add(avl, box(76), box(2133), nullptr);
+ avl = remove_int(avl, 898);
+ avl = grpc_avl_add(avl, box(45), box(2135), nullptr);
+ avl = grpc_avl_add(avl, box(512), box(2136), nullptr);
+ avl = remove_int(avl, 773);
+ avl = remove_int(avl, 907);
+ avl = remove_int(avl, 382);
+ avl = remove_int(avl, 95);
+ avl = remove_int(avl, 734);
+ avl = remove_int(avl, 81);
+ avl = grpc_avl_add(avl, box(348), box(2143), nullptr);
+ avl = remove_int(avl, 509);
+ avl = remove_int(avl, 301);
+ avl = grpc_avl_add(avl, box(861), box(2146), nullptr);
+ avl = grpc_avl_add(avl, box(918), box(2147), nullptr);
+ avl = remove_int(avl, 992);
+ avl = grpc_avl_add(avl, box(356), box(2149), nullptr);
+ avl = remove_int(avl, 64);
+ avl = remove_int(avl, 444);
+ avl = remove_int(avl, 741);
+ avl = grpc_avl_add(avl, box(710), box(2153), nullptr);
+ avl = grpc_avl_add(avl, box(264), box(2154), nullptr);
+ avl = remove_int(avl, 347);
+ avl = remove_int(avl, 250);
+ avl = grpc_avl_add(avl, box(82), box(2157), nullptr);
+ avl = grpc_avl_add(avl, box(571), box(2158), nullptr);
+ avl = remove_int(avl, 721);
+ avl = remove_int(avl, 622);
+ avl = grpc_avl_add(avl, box(950), box(2161), nullptr);
+ avl = grpc_avl_add(avl, box(94), box(2162), nullptr);
+ avl = remove_int(avl, 970);
+ avl = grpc_avl_add(avl, box(815), box(2164), nullptr);
+ avl = remove_int(avl, 930);
+ avl = remove_int(avl, 703);
+ avl = grpc_avl_add(avl, box(432), box(2167), nullptr);
+ avl = remove_int(avl, 544);
+ avl = grpc_avl_add(avl, box(21), box(2169), nullptr);
+ avl = grpc_avl_add(avl, box(186), box(2170), nullptr);
+ avl = remove_int(avl, 143);
+ avl = grpc_avl_add(avl, box(425), box(2172), nullptr);
+ avl = remove_int(avl, 769);
+ avl = grpc_avl_add(avl, box(656), box(2174), nullptr);
+ avl = remove_int(avl, 29);
+ avl = grpc_avl_add(avl, box(464), box(2176), nullptr);
+ avl = remove_int(avl, 713);
+ avl = grpc_avl_add(avl, box(800), box(2178), nullptr);
+ avl = remove_int(avl, 621);
+ avl = grpc_avl_add(avl, box(962), box(2180), nullptr);
+ avl = remove_int(avl, 448);
+ avl = grpc_avl_add(avl, box(878), box(2182), nullptr);
+ avl = remove_int(avl, 39);
+ avl = remove_int(avl, 999);
+ avl = grpc_avl_add(avl, box(182), box(2185), nullptr);
+ avl = grpc_avl_add(avl, box(429), box(2186), nullptr);
+ avl = grpc_avl_add(avl, box(598), box(2187), nullptr);
+ avl = remove_int(avl, 551);
+ avl = grpc_avl_add(avl, box(827), box(2189), nullptr);
+ avl = grpc_avl_add(avl, box(809), box(2190), nullptr);
+ avl = remove_int(avl, 438);
+ avl = remove_int(avl, 811);
+ avl = grpc_avl_add(avl, box(808), box(2193), nullptr);
+ avl = grpc_avl_add(avl, box(788), box(2194), nullptr);
+ avl = remove_int(avl, 156);
+ avl = grpc_avl_add(avl, box(933), box(2196), nullptr);
+ avl = grpc_avl_add(avl, box(344), box(2197), nullptr);
+ avl = remove_int(avl, 460);
+ avl = grpc_avl_add(avl, box(161), box(2199), nullptr);
+ avl = grpc_avl_add(avl, box(444), box(2200), nullptr);
+ avl = remove_int(avl, 597);
+ avl = remove_int(avl, 668);
+ avl = grpc_avl_add(avl, box(703), box(2203), nullptr);
+ avl = remove_int(avl, 515);
+ avl = grpc_avl_add(avl, box(380), box(2205), nullptr);
+ avl = grpc_avl_add(avl, box(338), box(2206), nullptr);
+ avl = remove_int(avl, 550);
+ avl = remove_int(avl, 946);
+ avl = remove_int(avl, 714);
+ avl = remove_int(avl, 739);
+ avl = grpc_avl_add(avl, box(413), box(2211), nullptr);
+ avl = remove_int(avl, 450);
+ avl = grpc_avl_add(avl, box(411), box(2213), nullptr);
+ avl = grpc_avl_add(avl, box(117), box(2214), nullptr);
+ avl = grpc_avl_add(avl, box(322), box(2215), nullptr);
+ avl = grpc_avl_add(avl, box(915), box(2216), nullptr);
+ avl = grpc_avl_add(avl, box(410), box(2217), nullptr);
+ avl = grpc_avl_add(avl, box(66), box(2218), nullptr);
+ avl = remove_int(avl, 756);
+ avl = remove_int(avl, 596);
+ avl = grpc_avl_add(avl, box(882), box(2221), nullptr);
+ avl = grpc_avl_add(avl, box(930), box(2222), nullptr);
+ avl = grpc_avl_add(avl, box(36), box(2223), nullptr);
+ avl = remove_int(avl, 742);
+ avl = grpc_avl_add(avl, box(539), box(2225), nullptr);
+ avl = grpc_avl_add(avl, box(596), box(2226), nullptr);
+ avl = remove_int(avl, 82);
+ avl = remove_int(avl, 686);
+ avl = remove_int(avl, 933);
+ avl = remove_int(avl, 42);
+ avl = remove_int(avl, 340);
+ avl = grpc_avl_add(avl, box(126), box(2232), nullptr);
+ avl = grpc_avl_add(avl, box(493), box(2233), nullptr);
+ avl = grpc_avl_add(avl, box(839), box(2234), nullptr);
+ avl = remove_int(avl, 774);
+ avl = grpc_avl_add(avl, box(337), box(2236), nullptr);
+ avl = remove_int(avl, 322);
+ avl = grpc_avl_add(avl, box(16), box(2238), nullptr);
+ avl = remove_int(avl, 73);
+ avl = remove_int(avl, 85);
+ avl = remove_int(avl, 191);
+ avl = remove_int(avl, 541);
+ avl = grpc_avl_add(avl, box(704), box(2243), nullptr);
+ avl = remove_int(avl, 767);
+ avl = remove_int(avl, 1006);
+ avl = remove_int(avl, 844);
+ avl = remove_int(avl, 742);
+ avl = grpc_avl_add(avl, box(48), box(2248), nullptr);
+ avl = grpc_avl_add(avl, box(138), box(2249), nullptr);
+ avl = grpc_avl_add(avl, box(437), box(2250), nullptr);
+ avl = grpc_avl_add(avl, box(275), box(2251), nullptr);
+ avl = remove_int(avl, 520);
+ avl = grpc_avl_add(avl, box(1019), box(2253), nullptr);
+ avl = remove_int(avl, 955);
+ avl = grpc_avl_add(avl, box(270), box(2255), nullptr);
+ avl = remove_int(avl, 680);
+ avl = remove_int(avl, 698);
+ avl = grpc_avl_add(avl, box(735), box(2258), nullptr);
+ avl = grpc_avl_add(avl, box(400), box(2259), nullptr);
+ avl = remove_int(avl, 991);
+ avl = grpc_avl_add(avl, box(263), box(2261), nullptr);
+ avl = remove_int(avl, 704);
+ avl = grpc_avl_add(avl, box(757), box(2263), nullptr);
+ avl = remove_int(avl, 194);
+ avl = remove_int(avl, 616);
+ avl = remove_int(avl, 784);
+ avl = grpc_avl_add(avl, box(382), box(2267), nullptr);
+ avl = grpc_avl_add(avl, box(464), box(2268), nullptr);
+ avl = grpc_avl_add(avl, box(817), box(2269), nullptr);
+ avl = remove_int(avl, 445);
+ avl = grpc_avl_add(avl, box(412), box(2271), nullptr);
+ avl = remove_int(avl, 525);
+ avl = grpc_avl_add(avl, box(299), box(2273), nullptr);
+ avl = grpc_avl_add(avl, box(464), box(2274), nullptr);
+ avl = grpc_avl_add(avl, box(715), box(2275), nullptr);
+ avl = remove_int(avl, 58);
+ avl = remove_int(avl, 218);
+ avl = grpc_avl_add(avl, box(961), box(2278), nullptr);
+ avl = grpc_avl_add(avl, box(491), box(2279), nullptr);
+ avl = remove_int(avl, 846);
+ avl = grpc_avl_add(avl, box(762), box(2281), nullptr);
+ avl = remove_int(avl, 974);
+ avl = remove_int(avl, 887);
+ avl = grpc_avl_add(avl, box(498), box(2284), nullptr);
+ avl = remove_int(avl, 810);
+ avl = remove_int(avl, 743);
+ avl = remove_int(avl, 22);
+ avl = remove_int(avl, 284);
+ avl = grpc_avl_add(avl, box(482), box(2289), nullptr);
+ avl = grpc_avl_add(avl, box(1021), box(2290), nullptr);
+ avl = remove_int(avl, 155);
+ avl = remove_int(avl, 128);
+ avl = grpc_avl_add(avl, box(819), box(2293), nullptr);
+ avl = grpc_avl_add(avl, box(324), box(2294), nullptr);
+ avl = remove_int(avl, 196);
+ avl = remove_int(avl, 370);
+ avl = remove_int(avl, 753);
+ avl = remove_int(avl, 56);
+ avl = remove_int(avl, 735);
+ avl = grpc_avl_add(avl, box(272), box(2300), nullptr);
+ avl = grpc_avl_add(avl, box(474), box(2301), nullptr);
+ avl = grpc_avl_add(avl, box(719), box(2302), nullptr);
+ avl = grpc_avl_add(avl, box(236), box(2303), nullptr);
+ avl = remove_int(avl, 818);
+ avl = grpc_avl_add(avl, box(727), box(2305), nullptr);
+ avl = remove_int(avl, 892);
+ avl = remove_int(avl, 871);
+ avl = remove_int(avl, 231);
+ avl = grpc_avl_add(avl, box(62), box(2309), nullptr);
+ avl = grpc_avl_add(avl, box(953), box(2310), nullptr);
+ avl = remove_int(avl, 701);
+ avl = grpc_avl_add(avl, box(193), box(2312), nullptr);
+ avl = remove_int(avl, 619);
+ avl = remove_int(avl, 22);
+ avl = remove_int(avl, 804);
+ avl = remove_int(avl, 851);
+ avl = grpc_avl_add(avl, box(286), box(2317), nullptr);
+ avl = grpc_avl_add(avl, box(751), box(2318), nullptr);
+ avl = remove_int(avl, 525);
+ avl = grpc_avl_add(avl, box(217), box(2320), nullptr);
+ avl = remove_int(avl, 336);
+ avl = grpc_avl_add(avl, box(86), box(2322), nullptr);
+ avl = grpc_avl_add(avl, box(81), box(2323), nullptr);
+ avl = grpc_avl_add(avl, box(850), box(2324), nullptr);
+ avl = remove_int(avl, 872);
+ avl = grpc_avl_add(avl, box(402), box(2326), nullptr);
+ avl = grpc_avl_add(avl, box(54), box(2327), nullptr);
+ avl = grpc_avl_add(avl, box(980), box(2328), nullptr);
+ avl = grpc_avl_add(avl, box(845), box(2329), nullptr);
+ avl = remove_int(avl, 1004);
+ avl = remove_int(avl, 273);
+ avl = remove_int(avl, 879);
+ avl = grpc_avl_add(avl, box(354), box(2333), nullptr);
+ avl = grpc_avl_add(avl, box(58), box(2334), nullptr);
+ avl = grpc_avl_add(avl, box(127), box(2335), nullptr);
+ avl = remove_int(avl, 84);
+ avl = grpc_avl_add(avl, box(360), box(2337), nullptr);
+ avl = remove_int(avl, 648);
+ avl = remove_int(avl, 488);
+ avl = remove_int(avl, 585);
+ avl = remove_int(avl, 230);
+ avl = grpc_avl_add(avl, box(887), box(2342), nullptr);
+ avl = remove_int(avl, 558);
+ avl = remove_int(avl, 958);
+ avl = grpc_avl_add(avl, box(822), box(2345), nullptr);
+ avl = remove_int(avl, 1004);
+ avl = remove_int(avl, 747);
+ avl = grpc_avl_add(avl, box(631), box(2348), nullptr);
+ avl = grpc_avl_add(avl, box(442), box(2349), nullptr);
+ avl = remove_int(avl, 957);
+ avl = remove_int(avl, 964);
+ avl = grpc_avl_add(avl, box(10), box(2352), nullptr);
+ avl = remove_int(avl, 189);
+ avl = grpc_avl_add(avl, box(742), box(2354), nullptr);
+ avl = remove_int(avl, 108);
+ avl = grpc_avl_add(avl, box(1014), box(2356), nullptr);
+ avl = remove_int(avl, 266);
+ avl = remove_int(avl, 623);
+ avl = remove_int(avl, 697);
+ avl = grpc_avl_add(avl, box(180), box(2360), nullptr);
+ avl = remove_int(avl, 472);
+ avl = grpc_avl_add(avl, box(567), box(2362), nullptr);
+ avl = remove_int(avl, 1020);
+ avl = remove_int(avl, 273);
+ avl = grpc_avl_add(avl, box(864), box(2365), nullptr);
+ avl = grpc_avl_add(avl, box(1009), box(2366), nullptr);
+ avl = remove_int(avl, 224);
+ avl = remove_int(avl, 81);
+ avl = grpc_avl_add(avl, box(653), box(2369), nullptr);
+ avl = remove_int(avl, 67);
+ avl = remove_int(avl, 102);
+ avl = remove_int(avl, 76);
+ avl = remove_int(avl, 935);
+ avl = remove_int(avl, 169);
+ avl = remove_int(avl, 232);
+ avl = remove_int(avl, 79);
+ avl = grpc_avl_add(avl, box(509), box(2377), nullptr);
+ avl = remove_int(avl, 900);
+ avl = remove_int(avl, 822);
+ avl = remove_int(avl, 945);
+ avl = remove_int(avl, 356);
+ avl = grpc_avl_add(avl, box(443), box(2382), nullptr);
+ avl = grpc_avl_add(avl, box(925), box(2383), nullptr);
+ avl = remove_int(avl, 994);
+ avl = remove_int(avl, 324);
+ avl = grpc_avl_add(avl, box(291), box(2386), nullptr);
+ avl = remove_int(avl, 94);
+ avl = remove_int(avl, 795);
+ avl = remove_int(avl, 42);
+ avl = grpc_avl_add(avl, box(613), box(2390), nullptr);
+ avl = remove_int(avl, 289);
+ avl = grpc_avl_add(avl, box(980), box(2392), nullptr);
+ avl = remove_int(avl, 316);
+ avl = grpc_avl_add(avl, box(281), box(2394), nullptr);
+ avl = grpc_avl_add(avl, box(1006), box(2395), nullptr);
+ avl = remove_int(avl, 776);
+ avl = grpc_avl_add(avl, box(108), box(2397), nullptr);
+ avl = grpc_avl_add(avl, box(918), box(2398), nullptr);
+ avl = remove_int(avl, 721);
+ avl = remove_int(avl, 563);
+ avl = grpc_avl_add(avl, box(925), box(2401), nullptr);
+ avl = remove_int(avl, 448);
+ avl = remove_int(avl, 198);
+ avl = remove_int(avl, 1);
+ avl = grpc_avl_add(avl, box(160), box(2405), nullptr);
+ avl = remove_int(avl, 515);
+ avl = grpc_avl_add(avl, box(284), box(2407), nullptr);
+ avl = grpc_avl_add(avl, box(225), box(2408), nullptr);
+ avl = remove_int(avl, 304);
+ avl = grpc_avl_add(avl, box(714), box(2410), nullptr);
+ avl = grpc_avl_add(avl, box(708), box(2411), nullptr);
+ avl = grpc_avl_add(avl, box(624), box(2412), nullptr);
+ avl = remove_int(avl, 662);
+ avl = remove_int(avl, 825);
+ avl = remove_int(avl, 383);
+ avl = remove_int(avl, 381);
+ avl = grpc_avl_add(avl, box(194), box(2417), nullptr);
+ avl = remove_int(avl, 280);
+ avl = remove_int(avl, 25);
+ avl = remove_int(avl, 633);
+ avl = grpc_avl_add(avl, box(897), box(2421), nullptr);
+ avl = remove_int(avl, 636);
+ avl = remove_int(avl, 596);
+ avl = remove_int(avl, 757);
+ avl = remove_int(avl, 343);
+ avl = remove_int(avl, 162);
+ avl = remove_int(avl, 913);
+ avl = remove_int(avl, 843);
+ avl = remove_int(avl, 280);
+ avl = remove_int(avl, 911);
+ avl = grpc_avl_add(avl, box(1008), box(2431), nullptr);
+ avl = remove_int(avl, 948);
+ avl = remove_int(avl, 74);
+ avl = remove_int(avl, 571);
+ avl = grpc_avl_add(avl, box(486), box(2435), nullptr);
+ avl = grpc_avl_add(avl, box(285), box(2436), nullptr);
+ avl = remove_int(avl, 304);
+ avl = remove_int(avl, 516);
+ avl = grpc_avl_add(avl, box(758), box(2439), nullptr);
+ avl = grpc_avl_add(avl, box(776), box(2440), nullptr);
+ avl = remove_int(avl, 696);
+ avl = grpc_avl_add(avl, box(104), box(2442), nullptr);
+ avl = grpc_avl_add(avl, box(700), box(2443), nullptr);
+ avl = grpc_avl_add(avl, box(114), box(2444), nullptr);
+ avl = grpc_avl_add(avl, box(567), box(2445), nullptr);
+ avl = remove_int(avl, 620);
+ avl = grpc_avl_add(avl, box(270), box(2447), nullptr);
+ avl = remove_int(avl, 730);
+ avl = grpc_avl_add(avl, box(749), box(2449), nullptr);
+ avl = grpc_avl_add(avl, box(443), box(2450), nullptr);
+ avl = remove_int(avl, 457);
+ avl = grpc_avl_add(avl, box(571), box(2452), nullptr);
+ avl = grpc_avl_add(avl, box(626), box(2453), nullptr);
+ avl = remove_int(avl, 638);
+ avl = remove_int(avl, 313);
+
+ grpc_avl_unref(avl, nullptr);
+}
+
+static void test_stress(int amount_of_stress) {
+ int added[1024];
+ int i, j;
+ int deletions = 0;
+ grpc_avl avl;
+
+ unsigned seed = static_cast<unsigned>(time(nullptr));
+
+ gpr_log(GPR_DEBUG, "test_stress amount=%d seed=%u", amount_of_stress, seed);
+
+ srand(static_cast<unsigned>(time(nullptr)));
+ avl = grpc_avl_create(&int_int_vtable);
+
+ memset(added, 0, sizeof(added));
+
+ for (i = 1; deletions < amount_of_stress; i++) {
+ int idx = rand() % static_cast<int> GPR_ARRAY_SIZE(added);
+ GPR_ASSERT(i);
+ if (rand() < RAND_MAX / 2) {
+ added[idx] = i;
+ printf("avl = grpc_avl_add(avl, box(%d), box(%d), NULL); /* d=%d */\n",
+ idx, i, deletions);
+ avl = grpc_avl_add(avl, box(idx), box(i), nullptr);
+ } else {
+ deletions += (added[idx] != 0);
+ added[idx] = 0;
+ printf("avl = remove_int(avl, %d); /* d=%d */\n", idx, deletions);
+ avl = remove_int(avl, idx);
+ }
+ for (j = 0; j < static_cast<int> GPR_ARRAY_SIZE(added); j++) {
+ if (added[j] != 0) {
+ check_get(avl, j, added[j]);
+ } else {
+ check_negget(avl, j);
+ }
+ }
+ }
+
+ grpc_avl_unref(avl, nullptr);
+}
+
+int main(int argc, char* argv[]) {
+ grpc_test_init(argc, argv);
+
+ test_get();
+ test_ll();
+ test_lr();
+ test_rr();
+ test_rl();
+ test_unbalanced();
+ test_replace();
+ test_remove();
+ test_badcase1();
+ test_badcase2();
+ test_badcase3();
+ test_stress(10);
+
+ return 0;
+}
diff --git a/test/core/backoff/backoff_test.cc b/test/core/backoff/backoff_test.cc
index 2e61243831..1998a83977 100644
--- a/test/core/backoff/backoff_test.cc
+++ b/test/core/backoff/backoff_test.cc
@@ -21,7 +21,6 @@
#include <algorithm>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include <gtest/gtest.h>
#include "test/core/util/test_config.h"
@@ -144,10 +143,10 @@ TEST(BackOffTest, JitterBackOff) {
grpc_millis next = backoff.NextAttemptTime();
EXPECT_EQ(next - grpc_core::ExecCtx::Get()->Now(), initial_backoff);
- grpc_millis expected_next_lower_bound =
- (grpc_millis)((double)current_backoff * (1 - jitter));
- grpc_millis expected_next_upper_bound =
- (grpc_millis)((double)current_backoff * (1 + jitter));
+ grpc_millis expected_next_lower_bound = static_cast<grpc_millis>(
+ static_cast<double>(current_backoff) * (1 - jitter));
+ grpc_millis expected_next_upper_bound = static_cast<grpc_millis>(
+ static_cast<double>(current_backoff) * (1 + jitter));
for (int i = 0; i < 10000; i++) {
next = backoff.NextAttemptTime();
@@ -156,12 +155,14 @@ TEST(BackOffTest, JitterBackOff) {
const grpc_millis timeout_millis = next - grpc_core::ExecCtx::Get()->Now();
EXPECT_GE(timeout_millis, expected_next_lower_bound);
EXPECT_LE(timeout_millis, expected_next_upper_bound);
- current_backoff = std::min(
- (grpc_millis)((double)current_backoff * multiplier), max_backoff);
- expected_next_lower_bound =
- (grpc_millis)((double)current_backoff * (1 - jitter));
- expected_next_upper_bound =
- (grpc_millis)((double)current_backoff * (1 + jitter));
+ current_backoff =
+ std::min(static_cast<grpc_millis>(static_cast<double>(current_backoff) *
+ multiplier),
+ max_backoff);
+ expected_next_lower_bound = static_cast<grpc_millis>(
+ static_cast<double>(current_backoff) * (1 - jitter));
+ expected_next_upper_bound = static_cast<grpc_millis>(
+ static_cast<double>(current_backoff) * (1 + jitter));
}
}
diff --git a/test/core/bad_client/bad_client.cc b/test/core/bad_client/bad_client.cc
index dd8d88170e..ee55a95e4e 100644
--- a/test/core/bad_client/bad_client.cc
+++ b/test/core/bad_client/bad_client.cc
@@ -34,164 +34,207 @@
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/surface/completion_queue.h"
#include "src/core/lib/surface/server.h"
+#include "test/core/end2end/cq_verifier.h"
+#define MIN_HTTP2_FRAME_SIZE 9
+
+/* Args to provide to thread running server side validator */
typedef struct {
grpc_server* server;
grpc_completion_queue* cq;
grpc_bad_client_server_side_validator validator;
void* registered_method;
gpr_event done_thd;
- gpr_event done_write;
} thd_args;
+/* Run the server side validator and set done_thd once done */
static void thd_func(void* arg) {
- thd_args* a = (thd_args*)arg;
- a->validator(a->server, a->cq, a->registered_method);
+ thd_args* a = static_cast<thd_args*>(arg);
+ if (a->validator != nullptr) {
+ a->validator(a->server, a->cq, a->registered_method);
+ }
gpr_event_set(&a->done_thd, (void*)1);
}
-static void done_write(void* arg, grpc_error* error) {
- thd_args* a = (thd_args*)arg;
- gpr_event_set(&a->done_write, (void*)1);
+/* Sets the done_write event */
+static void set_done_write(void* arg, grpc_error* error) {
+ gpr_event* done_write = static_cast<gpr_event*>(arg);
+ gpr_event_set(done_write, (void*)1);
}
static void server_setup_transport(void* ts, grpc_transport* transport) {
- thd_args* a = (thd_args*)ts;
+ thd_args* a = static_cast<thd_args*>(ts);
grpc_core::ExecCtx exec_ctx;
grpc_server_setup_transport(a->server, transport, nullptr,
grpc_server_get_channel_args(a->server));
}
-static void read_done(void* arg, grpc_error* error) {
- gpr_event* read_done = (gpr_event*)arg;
+/* Sets the read_done event */
+static void set_read_done(void* arg, grpc_error* error) {
+ gpr_event* read_done = static_cast<gpr_event*>(arg);
gpr_event_set(read_done, (void*)1);
}
-void grpc_run_bad_client_test(
- grpc_bad_client_server_side_validator server_validator,
- grpc_bad_client_client_stream_validator client_validator,
- const char* client_payload, size_t client_payload_length, uint32_t flags) {
- grpc_endpoint_pair sfd;
- thd_args a;
- gpr_thd_id id;
- char* hex;
- grpc_transport* transport;
- grpc_slice slice =
- grpc_slice_from_copied_buffer(client_payload, client_payload_length);
- grpc_slice_buffer outgoing;
- grpc_closure done_write_closure;
- grpc_core::ExecCtx exec_ctx;
- grpc_completion_queue* shutdown_cq;
+/* shutdown client */
+static void shutdown_client(grpc_endpoint** client_fd) {
+ if (*client_fd != nullptr) {
+ grpc_endpoint_shutdown(
+ *client_fd, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Forced Disconnect"));
+ grpc_endpoint_destroy(*client_fd);
+ grpc_core::ExecCtx::Get()->Flush();
+ *client_fd = nullptr;
+ }
+}
- if (client_payload_length < 4 * 1024) {
- hex = gpr_dump(client_payload, client_payload_length,
+/* Runs client side validator */
+void grpc_run_client_side_validator(grpc_bad_client_arg* arg, uint32_t flags,
+ grpc_endpoint_pair* sfd,
+ grpc_completion_queue* client_cq) {
+ char* hex;
+ gpr_event done_write;
+ if (arg->client_payload_length < 4 * 1024) {
+ hex = gpr_dump(arg->client_payload, arg->client_payload_length,
GPR_DUMP_HEX | GPR_DUMP_ASCII);
-
/* Add a debug log */
gpr_log(GPR_INFO, "TEST: %s", hex);
-
gpr_free(hex);
} else {
gpr_log(GPR_INFO, "TEST: (%" PRIdPTR " byte long string)",
- client_payload_length);
+ arg->client_payload_length);
}
- /* Init grpc */
- grpc_init();
-
- /* Create endpoints */
- sfd = grpc_iomgr_create_endpoint_pair("fixture", nullptr);
-
- /* Create server, completion events */
- a.server = grpc_server_create(nullptr, nullptr);
- a.cq = grpc_completion_queue_create_for_next(nullptr);
- gpr_event_init(&a.done_thd);
- gpr_event_init(&a.done_write);
- a.validator = server_validator;
- grpc_server_register_completion_queue(a.server, a.cq, nullptr);
- a.registered_method =
- grpc_server_register_method(a.server, GRPC_BAD_CLIENT_REGISTERED_METHOD,
- GRPC_BAD_CLIENT_REGISTERED_HOST,
- GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER, 0);
- grpc_server_start(a.server);
- transport = grpc_create_chttp2_transport(nullptr, sfd.server, false);
- server_setup_transport(&a, transport);
- grpc_chttp2_transport_start_reading(transport, nullptr, nullptr);
-
- /* Bind everything into the same pollset */
- grpc_endpoint_add_to_pollset(sfd.client, grpc_cq_pollset(a.cq));
- grpc_endpoint_add_to_pollset(sfd.server, grpc_cq_pollset(a.cq));
-
- /* Check a ground truth */
- GPR_ASSERT(grpc_server_has_open_connections(a.server));
-
- /* Start validator */
- gpr_thd_new(&id, "grpc_bad_client", thd_func, &a, nullptr);
+ grpc_slice slice = grpc_slice_from_copied_buffer(arg->client_payload,
+ arg->client_payload_length);
+ grpc_slice_buffer outgoing;
+ grpc_closure done_write_closure;
+ gpr_event_init(&done_write);
grpc_slice_buffer_init(&outgoing);
grpc_slice_buffer_add(&outgoing, slice);
- GRPC_CLOSURE_INIT(&done_write_closure, done_write, &a,
+ GRPC_CLOSURE_INIT(&done_write_closure, set_done_write, &done_write,
grpc_schedule_on_exec_ctx);
/* Write data */
- grpc_endpoint_write(sfd.client, &outgoing, &done_write_closure);
+ grpc_endpoint_write(sfd->client, &outgoing, &done_write_closure);
grpc_core::ExecCtx::Get()->Flush();
/* Await completion, unless the request is large and write may not finish
* before the peer shuts down. */
if (!(flags & GRPC_BAD_CLIENT_LARGE_REQUEST)) {
GPR_ASSERT(
- gpr_event_wait(&a.done_write, grpc_timeout_seconds_to_deadline(5)));
+ gpr_event_wait(&done_write, grpc_timeout_seconds_to_deadline(5)));
}
if (flags & GRPC_BAD_CLIENT_DISCONNECT) {
- grpc_endpoint_shutdown(
- sfd.client, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Forced Disconnect"));
- grpc_endpoint_destroy(sfd.client);
- grpc_core::ExecCtx::Get()->Flush();
- sfd.client = nullptr;
+ shutdown_client(&sfd->client);
}
- GPR_ASSERT(gpr_event_wait(&a.done_thd, grpc_timeout_seconds_to_deadline(5)));
-
- if (sfd.client != nullptr) {
- // Validate client stream, if requested.
- if (client_validator != nullptr) {
+ if (sfd->client != nullptr) {
+ /* Validate client stream, if requested. */
+ if (arg->client_validator != nullptr) {
gpr_timespec deadline = grpc_timeout_seconds_to_deadline(5);
grpc_slice_buffer incoming;
grpc_slice_buffer_init(&incoming);
- // We may need to do multiple reads to read the complete server response.
+ /* We may need to do multiple reads to read the complete server
+ * response. */
while (true) {
gpr_event read_done_event;
gpr_event_init(&read_done_event);
grpc_closure read_done_closure;
- GRPC_CLOSURE_INIT(&read_done_closure, read_done, &read_done_event,
+ GRPC_CLOSURE_INIT(&read_done_closure, set_read_done, &read_done_event,
grpc_schedule_on_exec_ctx);
- grpc_endpoint_read(sfd.client, &incoming, &read_done_closure);
+ grpc_endpoint_read(sfd->client, &incoming, &read_done_closure);
grpc_core::ExecCtx::Get()->Flush();
do {
GPR_ASSERT(gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0);
- GPR_ASSERT(
- grpc_completion_queue_next(
- a.cq, grpc_timeout_milliseconds_to_deadline(100), nullptr)
- .type == GRPC_QUEUE_TIMEOUT);
+ /* Perform a cq next just to provide a thread that can read incoming
+ bytes on the client fd */
+ GPR_ASSERT(grpc_completion_queue_next(
+ client_cq, grpc_timeout_milliseconds_to_deadline(100),
+ nullptr)
+ .type == GRPC_QUEUE_TIMEOUT);
} while (!gpr_event_get(&read_done_event));
- if (client_validator(&incoming)) break;
+ if (arg->client_validator(&incoming, arg->client_validator_arg)) break;
gpr_log(GPR_INFO,
"client validator failed; trying additional read "
"in case we didn't get all the data");
}
grpc_slice_buffer_destroy_internal(&incoming);
}
- // Shutdown.
- grpc_endpoint_shutdown(
- sfd.client, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Test Shutdown"));
- grpc_endpoint_destroy(sfd.client);
grpc_core::ExecCtx::Get()->Flush();
}
- GPR_ASSERT(
- gpr_event_wait(&a.done_write, grpc_timeout_seconds_to_deadline(1)));
+ /* If the request was too large, then we need to forcefully shut down the
+ * client, so that the write can be considered completed */
+ if (flags & GRPC_BAD_CLIENT_LARGE_REQUEST) {
+ shutdown_client(&sfd->client);
+ }
+
+ /* Make sure that the client is done writing */
+ while (!gpr_event_get(&done_write)) {
+ GPR_ASSERT(
+ grpc_completion_queue_next(
+ client_cq, grpc_timeout_milliseconds_to_deadline(100), nullptr)
+ .type == GRPC_QUEUE_TIMEOUT);
+ }
+
+ grpc_slice_buffer_destroy_internal(&outgoing);
+ grpc_core::ExecCtx::Get()->Flush();
+}
+
+void grpc_run_bad_client_test(
+ grpc_bad_client_server_side_validator server_validator,
+ grpc_bad_client_arg args[], int num_args, uint32_t flags) {
+ grpc_endpoint_pair sfd;
+ thd_args a;
+ grpc_transport* transport;
+ grpc_core::ExecCtx exec_ctx;
+ grpc_completion_queue* shutdown_cq;
+ grpc_completion_queue* client_cq;
+
+ /* Init grpc */
+ grpc_init();
+
+ /* Create endpoints */
+ sfd = grpc_iomgr_create_endpoint_pair("fixture", nullptr);
+
+ /* Create server, completion events */
+ a.server = grpc_server_create(nullptr, nullptr);
+ a.cq = grpc_completion_queue_create_for_next(nullptr);
+ client_cq = grpc_completion_queue_create_for_next(nullptr);
+
+ grpc_server_register_completion_queue(a.server, a.cq, nullptr);
+ a.registered_method =
+ grpc_server_register_method(a.server, GRPC_BAD_CLIENT_REGISTERED_METHOD,
+ GRPC_BAD_CLIENT_REGISTERED_HOST,
+ GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER, 0);
+ grpc_server_start(a.server);
+ transport = grpc_create_chttp2_transport(nullptr, sfd.server, false);
+ server_setup_transport(&a, transport);
+ grpc_chttp2_transport_start_reading(transport, nullptr, nullptr);
+
+ /* Bind fds to pollsets */
+ grpc_endpoint_add_to_pollset(sfd.client, grpc_cq_pollset(client_cq));
+ grpc_endpoint_add_to_pollset(sfd.server, grpc_cq_pollset(a.cq));
+
+ /* Check a ground truth */
+ GPR_ASSERT(grpc_server_has_open_connections(a.server));
+
+ gpr_thd_id id;
+ gpr_event_init(&a.done_thd);
+ a.validator = server_validator;
+ /* Start validator */
+ gpr_thd_new(&id, "grpc_bad_client", thd_func, &a, nullptr);
+ for (int i = 0; i < num_args; i++) {
+ grpc_run_client_side_validator(&args[i], i == (num_args - 1) ? flags : 0,
+ &sfd, client_cq);
+ }
+ /* Wait for server thread to finish */
+ GPR_ASSERT(gpr_event_wait(&a.done_thd, grpc_timeout_seconds_to_deadline(1)));
+
+ /* Shutdown. */
+ shutdown_client(&sfd.client);
+
shutdown_cq = grpc_completion_queue_create_for_pluck(nullptr);
grpc_server_shutdown_and_notify(a.server, shutdown_cq, nullptr);
GPR_ASSERT(grpc_completion_queue_pluck(shutdown_cq, nullptr,
@@ -201,7 +244,91 @@ void grpc_run_bad_client_test(
grpc_completion_queue_destroy(shutdown_cq);
grpc_server_destroy(a.server);
grpc_completion_queue_destroy(a.cq);
- grpc_slice_buffer_destroy_internal(&outgoing);
-
+ grpc_completion_queue_destroy(client_cq);
grpc_shutdown();
}
+
+bool client_connection_preface_validator(grpc_slice_buffer* incoming,
+ void* arg) {
+ if (incoming->count < 1) {
+ return false;
+ }
+ grpc_slice slice = incoming->slices[0];
+ /* There should be atleast a settings frame present */
+ if (GRPC_SLICE_LENGTH(slice) < MIN_HTTP2_FRAME_SIZE) {
+ return false;
+ }
+ const uint8_t* p = GRPC_SLICE_START_PTR(slice);
+ /* Check the frame type (SETTINGS) */
+ if (*(p + 3) != 4) {
+ return false;
+ }
+ return true;
+}
+
+/* connection preface and settings frame to be sent by the client */
+#define CONNECTION_PREFACE_FROM_CLIENT \
+ "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \
+ "\x00\x00\x00\x04\x00\x00\x00\x00\x00"
+
+grpc_bad_client_arg connection_preface_arg = {
+ client_connection_preface_validator, nullptr,
+ CONNECTION_PREFACE_FROM_CLIENT, sizeof(CONNECTION_PREFACE_FROM_CLIENT) - 1};
+
+bool rst_stream_client_validator(grpc_slice_buffer* incoming, void* arg) {
+ // Get last frame from incoming slice buffer.
+ grpc_slice_buffer last_frame_buffer;
+ grpc_slice_buffer_init(&last_frame_buffer);
+ grpc_slice_buffer_trim_end(incoming, 13, &last_frame_buffer);
+ GPR_ASSERT(last_frame_buffer.count == 1);
+ grpc_slice last_frame = last_frame_buffer.slices[0];
+
+ const uint8_t* p = GRPC_SLICE_START_PTR(last_frame);
+ bool success =
+ // Length == 4
+ *p++ != 0 || *p++ != 0 || *p++ != 4 ||
+ // Frame type (RST_STREAM)
+ *p++ != 3 ||
+ // Flags
+ *p++ != 0 ||
+ // Stream ID.
+ *p++ != 0 || *p++ != 0 || *p++ != 0 || *p++ != 1 ||
+ // Payload (error code)
+ *p++ == 0 || *p++ == 0 || *p++ == 0 || *p == 0 || *p == 11;
+
+ if (!success) {
+ gpr_log(GPR_INFO, "client expected RST_STREAM frame, not found");
+ }
+
+ grpc_slice_buffer_destroy(&last_frame_buffer);
+ return success;
+}
+
+static void* tag(intptr_t t) { return (void*)t; }
+
+void server_verifier_request_call(grpc_server* server,
+ grpc_completion_queue* cq,
+ void* registered_method) {
+ grpc_call_error error;
+ grpc_call* s;
+ grpc_call_details call_details;
+ cq_verifier* cqv = cq_verifier_create(cq);
+ grpc_metadata_array request_metadata_recv;
+
+ grpc_call_details_init(&call_details);
+ grpc_metadata_array_init(&request_metadata_recv);
+
+ error = grpc_server_request_call(server, &s, &call_details,
+ &request_metadata_recv, cq, cq, tag(101));
+ GPR_ASSERT(GRPC_CALL_OK == error);
+ CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
+ cq_verify(cqv);
+
+ GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
+ GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
+
+ grpc_metadata_array_destroy(&request_metadata_recv);
+ grpc_call_details_destroy(&call_details);
+ grpc_call_unref(s);
+ cq_verifier_destroy(cqv);
+}
diff --git a/test/core/bad_client/bad_client.h b/test/core/bad_client/bad_client.h
index d3abfac2aa..de7d830cd7 100644
--- a/test/core/bad_client/bad_client.h
+++ b/test/core/bad_client/bad_client.h
@@ -28,30 +28,69 @@
#define GRPC_BAD_CLIENT_REGISTERED_METHOD "/registered/bar"
#define GRPC_BAD_CLIENT_REGISTERED_HOST "localhost"
+/* The server side validator function to run */
typedef void (*grpc_bad_client_server_side_validator)(grpc_server* server,
grpc_completion_queue* cq,
void* registered_method);
-// Returns false if we need to read more data.
+/* Returns false if we need to read more data. */
typedef bool (*grpc_bad_client_client_stream_validator)(
- grpc_slice_buffer* incoming);
+ grpc_slice_buffer* incoming, void* arg);
+struct grpc_bad_client_arg {
+ grpc_bad_client_client_stream_validator client_validator;
+ void* client_validator_arg;
+ const char* client_payload;
+ size_t client_payload_length;
+};
+
+/* Flags for grpc_run_bad_client_test */
#define GRPC_BAD_CLIENT_DISCONNECT 1
#define GRPC_BAD_CLIENT_LARGE_REQUEST 2
/* Test runner.
-
- Create a server, and send client_payload to it as bytes from a client.
- Execute server_validator in a separate thread to assert that the bytes are
- handled as expected. */
+ *
+ * Create a server, and for each arg in \a args send client_payload. For each
+ * payload, run client_validator to make sure that the response is as expected.
+ * Also execute \a server_validator in a separate thread to assert that the
+ * bytes are handled as expected.
+ *
+ * The flags are only applicable to the last validator in the array. (This can
+ * be changed in the future if necessary)
+ */
void grpc_run_bad_client_test(
grpc_bad_client_server_side_validator server_validator,
- grpc_bad_client_client_stream_validator client_validator,
- const char* client_payload, size_t client_payload_length, uint32_t flags);
+ grpc_bad_client_arg args[], int num_args, uint32_t flags);
+
+/* A hack to let old tests work as before. In these tests, instead of an array,
+ * the tests provide a single client_validator and payload
+ */
+#define COMBINE1(X, Y) X##Y
+#define COMBINE(X, Y) COMBINE1(X, Y)
+
+#define GRPC_RUN_BAD_CLIENT_TEST(server_validator, client_validator, payload, \
+ flags) \
+ grpc_bad_client_arg COMBINE(bca, __LINE__) = {client_validator, nullptr, \
+ payload, sizeof(payload) - 1}; \
+ grpc_run_bad_client_test(server_validator, &COMBINE(bca, __LINE__), 1, flags)
+
+/* Helper validator functions */
+/* Client side validator for connection preface from server. \a arg is unused */
+bool client_connection_preface_validator(grpc_slice_buffer* incoming,
+ void* arg);
+
+/* Client side validator for checking if reset stream is present at the end
+ * of the buffer. \a arg is unused.
+ */
+bool rst_stream_client_validator(grpc_slice_buffer* incoming, void* arg);
-#define GRPC_RUN_BAD_CLIENT_TEST(server_validator, client_validator, payload, \
- flags) \
- grpc_run_bad_client_test(server_validator, client_validator, payload, \
- sizeof(payload) - 1, flags)
+/* Helper grpc_bad_client_arg arguments for direct use */
+/* Sends a connection preface from the client with an empty settings frame */
+extern grpc_bad_client_arg connection_preface_arg;
+/* Server side verifier function that performs a
+ * single grpc_server_request_call */
+void server_verifier_request_call(grpc_server* server,
+ grpc_completion_queue* cq,
+ void* registered_method);
#endif /* GRPC_TEST_CORE_BAD_CLIENT_BAD_CLIENT_H */
diff --git a/test/core/bad_client/gen_build_yaml.py b/test/core/bad_client/gen_build_yaml.py
index 14c8a27334..32afba5b1f 100755
--- a/test/core/bad_client/gen_build_yaml.py
+++ b/test/core/bad_client/gen_build_yaml.py
@@ -27,10 +27,11 @@ default_test_options = TestOptions(False, 1.0)
BAD_CLIENT_TESTS = {
'badreq': default_test_options,
'connection_prefix': default_test_options._replace(cpu_cost=0.2),
+ 'duplicate_header': default_test_options,
'headers': default_test_options._replace(cpu_cost=0.2),
'initial_settings_frame': default_test_options._replace(cpu_cost=0.2),
'head_of_line_blocking': default_test_options,
- # 'large_metadata': default_test_options, #disabling as per issue #11745
+ 'large_metadata': default_test_options,
'server_registered_method': default_test_options,
'simple_request': default_test_options,
'window_overflow': default_test_options,
diff --git a/test/core/bad_client/generate_tests.bzl b/test/core/bad_client/generate_tests.bzl
index 022edf3ff3..2769d5c3bb 100755
--- a/test/core/bad_client/generate_tests.bzl
+++ b/test/core/bad_client/generate_tests.bzl
@@ -16,6 +16,7 @@
"""Generates the appropriate build.json data for all the bad_client tests."""
+load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_cc_library")
def test_options():
return struct()
@@ -25,10 +26,11 @@ def test_options():
BAD_CLIENT_TESTS = {
'badreq': test_options(),
'connection_prefix': test_options(),
+ 'duplicate_header': test_options(),
'headers': test_options(),
'initial_settings_frame': test_options(),
'head_of_line_blocking': test_options(),
- # 'large_metadata': test_options(), # disabling as per issue #11745
+ 'large_metadata': test_options(),
'server_registered_method': test_options(),
'simple_request': test_options(),
'window_overflow': test_options(),
@@ -36,14 +38,14 @@ BAD_CLIENT_TESTS = {
}
def grpc_bad_client_tests():
- native.cc_library(
+ grpc_cc_library(
name = 'bad_client_test',
srcs = ['bad_client.cc'],
hdrs = ['bad_client.h'],
deps = ['//test/core/util:grpc_test_util', '//:grpc', '//:gpr', '//test/core/end2end:cq_verifier']
)
for t, topt in BAD_CLIENT_TESTS.items():
- native.cc_test(
+ grpc_cc_test(
name = '%s_bad_client_test' % t,
srcs = ['tests/%s.cc' % t],
deps = [':bad_client_test'],
diff --git a/test/core/bad_client/tests/duplicate_header.cc b/test/core/bad_client/tests/duplicate_header.cc
new file mode 100644
index 0000000000..e3cae8b595
--- /dev/null
+++ b/test/core/bad_client/tests/duplicate_header.cc
@@ -0,0 +1,136 @@
+/*
+ *
+ * Copyright 2018 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 "test/core/bad_client/bad_client.h"
+
+#include <string.h>
+
+#include <grpc/grpc.h>
+
+#include "src/core/lib/surface/server.h"
+#include "test/core/end2end/cq_verifier.h"
+
+#define PFX_STR \
+ "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \
+ "\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* settings frame */
+
+#define HEADER_STR \
+ "\x00\x00\xc9\x01\x04\x00\x00\x00\x01" /* headers: generated from \
+ simple_request.headers in this \
+ directory */ \
+ "\x10\x05:path\x08/foo/bar" \
+ "\x10\x07:scheme\x04http" \
+ "\x10\x07:method\x04POST" \
+ "\x10\x0a:authority\x09localhost" \
+ "\x10\x0c" \
+ "content-type\x10" \
+ "application/grpc" \
+ "\x10\x14grpc-accept-encoding\x15" \
+ "deflate,identity,gzip" \
+ "\x10\x02te\x08trailers" \
+ "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)"
+
+#define PAYLOAD_STR \
+ "\x00\x00\x20\x00\x00\x00\x00\x00\x01" \
+ "\x00\x00\x00\x00"
+
+static void* tag(intptr_t t) { return (void*)t; }
+
+static void verifier(grpc_server* server, grpc_completion_queue* cq,
+ void* registered_method) {
+ grpc_call_error error;
+ grpc_call* s;
+ grpc_call_details call_details;
+ grpc_byte_buffer* request_payload_recv = nullptr;
+ grpc_op* op;
+ grpc_op ops[6];
+ cq_verifier* cqv = cq_verifier_create(cq);
+ grpc_metadata_array request_metadata_recv;
+ int was_cancelled = 2;
+
+ grpc_call_details_init(&call_details);
+ grpc_metadata_array_init(&request_metadata_recv);
+
+ error = grpc_server_request_call(server, &s, &call_details,
+ &request_metadata_recv, cq, cq, tag(101));
+ GPR_ASSERT(GRPC_CALL_OK == error);
+ CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
+ cq_verify(cqv);
+
+ GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
+ GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
+
+ memset(ops, 0, sizeof(ops));
+ op = ops;
+ op->op = GRPC_OP_SEND_INITIAL_METADATA;
+ op->data.send_initial_metadata.count = 0;
+ op->flags = 0;
+ op->reserved = nullptr;
+ op++;
+ op->op = GRPC_OP_RECV_MESSAGE;
+ op->data.recv_message.recv_message = &request_payload_recv;
+ op->flags = 0;
+ op->reserved = nullptr;
+ op++;
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
+ GPR_ASSERT(GRPC_CALL_OK == error);
+
+ CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
+ cq_verify(cqv);
+
+ memset(ops, 0, sizeof(ops));
+ op = ops;
+ op->op = GRPC_OP_RECV_CLOSE_ON_SERVER;
+ op->data.recv_close_on_server.cancelled = &was_cancelled;
+ op->flags = 0;
+ op->reserved = nullptr;
+ op++;
+ op->op = GRPC_OP_SEND_STATUS_FROM_SERVER;
+ op->data.send_status_from_server.trailing_metadata_count = 0;
+ op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED;
+ grpc_slice status_details = grpc_slice_from_static_string("xyz");
+ op->data.send_status_from_server.status_details = &status_details;
+ op->flags = 0;
+ op->reserved = nullptr;
+ op++;
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
+ GPR_ASSERT(GRPC_CALL_OK == error);
+
+ CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
+
+ grpc_metadata_array_destroy(&request_metadata_recv);
+ grpc_call_details_destroy(&call_details);
+ grpc_call_unref(s);
+ cq_verifier_destroy(cqv);
+}
+
+int main(int argc, char** argv) {
+ grpc_test_init(argc, argv);
+ grpc_init();
+
+ /* Verify that sending multiple headers doesn't segfault */
+ GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr,
+ PFX_STR HEADER_STR HEADER_STR PAYLOAD_STR, 0);
+ GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr,
+ PFX_STR HEADER_STR HEADER_STR HEADER_STR PAYLOAD_STR,
+ 0);
+ grpc_shutdown();
+ return 0;
+}
diff --git a/test/core/bad_client/tests/head_of_line_blocking.cc b/test/core/bad_client/tests/head_of_line_blocking.cc
index f56c4d71dd..427db46446 100644
--- a/test/core/bad_client/tests/head_of_line_blocking.cc
+++ b/test/core/bad_client/tests/head_of_line_blocking.cc
@@ -117,9 +117,9 @@ int main(int argc, char** argv) {
addbuf(prefix, sizeof(prefix) - 1);
for (i = 0; i < NUM_FRAMES; i++) {
- uint8_t hdr[9] = {(uint8_t)(FRAME_SIZE >> 16),
- (uint8_t)(FRAME_SIZE >> 8),
- (uint8_t)FRAME_SIZE,
+ uint8_t hdr[9] = {static_cast<uint8_t>(FRAME_SIZE >> 16),
+ static_cast<uint8_t>(FRAME_SIZE >> 8),
+ static_cast<uint8_t>(FRAME_SIZE),
0,
0,
0,
@@ -131,7 +131,8 @@ int main(int argc, char** argv) {
addbuf(hdr, sizeof(hdr));
addbuf(msg, FRAME_SIZE);
}
- grpc_run_bad_client_test(verifier, nullptr, g_buffer, g_count, 0);
+ grpc_bad_client_arg bca = {nullptr, nullptr, g_buffer, g_count};
+ grpc_run_bad_client_test(verifier, &bca, 1, 0);
gpr_free(g_buffer);
grpc_shutdown();
diff --git a/test/core/bad_client/tests/large_metadata.cc b/test/core/bad_client/tests/large_metadata.cc
index ff3e9eb932..d534753f53 100644
--- a/test/core/bad_client/tests/large_metadata.cc
+++ b/test/core/bad_client/tests/large_metadata.cc
@@ -31,23 +31,20 @@
// be longer than the C99 string literal limit. Instead, we dynamically
// construct it by adding the large headers one at a time.
-#define PFX_TOO_MUCH_METADATA_FROM_CLIENT_PREFIX_STR \
- "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" /* settings frame */ \
- "\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* headers: generated from \
- large_metadata.headers in this \
- directory */ \
- "\x00\x00\x00\x04\x01\x00\x00\x00\x00" \
- "\x00" \
- "5{\x01\x05\x00\x00\x00\x01" \
- "\x10\x05:path\x08/foo/bar" \
- "\x10\x07:scheme\x04http" \
- "\x10\x07:method\x04POST" \
- "\x10\x0a:authority\x09localhost" \
- "\x10\x0c" \
- "content-type\x10" \
- "application/grpc" \
- "\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" \
- "\x10\x02te\x08trailers" \
+/* headers: generated from large_metadata.headers in this directory */
+#define PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST \
+ "\x00\x00\x00\x04\x01\x00\x00\x00\x00" \
+ "\x00" \
+ "5{\x01\x05\x00\x00\x00\x01" \
+ "\x10\x05:path\x08/foo/bar" \
+ "\x10\x07:scheme\x04http" \
+ "\x10\x07:method\x04POST" \
+ "\x10\x0a:authority\x09localhost" \
+ "\x10\x0c" \
+ "content-type\x10" \
+ "application/grpc" \
+ "\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" \
+ "\x10\x02te\x08trailers" \
"\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)"
// Each large-metadata header is constructed from these start and end
@@ -65,8 +62,8 @@
// The number of headers we're adding and the total size of the client
// payload.
#define NUM_HEADERS 46
-#define PFX_TOO_MUCH_METADATA_FROM_CLIENT_PAYLOAD_SIZE \
- ((sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_PREFIX_STR) - 1) + \
+#define TOO_MUCH_METADATA_FROM_CLIENT_REQUEST_SIZE \
+ ((sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST) - 1) + \
(NUM_HEADERS * PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_SIZE) + 1)
#define PFX_TOO_MUCH_METADATA_FROM_SERVER_STR \
@@ -95,32 +92,6 @@
static void* tag(intptr_t t) { return (void*)t; }
-static void server_verifier(grpc_server* server, grpc_completion_queue* cq,
- void* registered_method) {
- grpc_call_error error;
- grpc_call* s;
- grpc_call_details call_details;
- cq_verifier* cqv = cq_verifier_create(cq);
- grpc_metadata_array request_metadata_recv;
-
- grpc_call_details_init(&call_details);
- grpc_metadata_array_init(&request_metadata_recv);
-
- error = grpc_server_request_call(server, &s, &call_details,
- &request_metadata_recv, cq, cq, tag(101));
- GPR_ASSERT(GRPC_CALL_OK == error);
- CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
- cq_verify(cqv);
-
- GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
- GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
-
- grpc_metadata_array_destroy(&request_metadata_recv);
- grpc_call_details_destroy(&call_details);
- grpc_call_unref(s);
- cq_verifier_destroy(cqv);
-}
-
static void server_verifier_sends_too_much_metadata(grpc_server* server,
grpc_completion_queue* cq,
void* registered_method) {
@@ -167,43 +138,6 @@ static void server_verifier_sends_too_much_metadata(grpc_server* server,
cq_verifier_destroy(cqv);
}
-static bool client_validator(grpc_slice_buffer* incoming) {
- for (size_t i = 0; i < incoming->count; ++i) {
- const char* s = (const char*)GRPC_SLICE_START_PTR(incoming->slices[i]);
- char* hex = gpr_dump(s, GRPC_SLICE_LENGTH(incoming->slices[i]),
- GPR_DUMP_HEX | GPR_DUMP_ASCII);
- gpr_log(GPR_INFO, "RESPONSE SLICE %" PRIdPTR ": %s", i, hex);
- gpr_free(hex);
- }
-
- // Get last frame from incoming slice buffer.
- grpc_slice_buffer last_frame_buffer;
- grpc_slice_buffer_init(&last_frame_buffer);
- grpc_slice_buffer_trim_end(incoming, 13, &last_frame_buffer);
- GPR_ASSERT(last_frame_buffer.count == 1);
- grpc_slice last_frame = last_frame_buffer.slices[0];
-
- const uint8_t* p = GRPC_SLICE_START_PTR(last_frame);
- bool success =
- // Length == 4
- *p++ != 0 || *p++ != 0 || *p++ != 4 ||
- // Frame type (RST_STREAM)
- *p++ != 3 ||
- // Flags
- *p++ != 0 ||
- // Stream ID.
- *p++ != 0 || *p++ != 0 || *p++ != 0 || *p++ != 1 ||
- // Payload (error code)
- *p++ == 0 || *p++ == 0 || *p++ == 0 || *p == 0 || *p == 11;
-
- if (!success) {
- gpr_log(GPR_INFO, "client expected RST_STREAM frame, not found");
- }
-
- grpc_slice_buffer_destroy(&last_frame_buffer);
- return success;
-}
-
int main(int argc, char** argv) {
int i;
@@ -222,19 +156,22 @@ int main(int argc, char** argv) {
size_t headers_len;
const char* client_headers = gpr_strvec_flatten(&headers, &headers_len);
gpr_strvec_destroy(&headers);
- char client_payload[PFX_TOO_MUCH_METADATA_FROM_CLIENT_PAYLOAD_SIZE] =
- PFX_TOO_MUCH_METADATA_FROM_CLIENT_PREFIX_STR;
- memcpy(
- client_payload + sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_PREFIX_STR) - 1,
- client_headers, headers_len);
- GRPC_RUN_BAD_CLIENT_TEST(server_verifier, client_validator, client_payload,
- 0);
+ char client_payload[TOO_MUCH_METADATA_FROM_CLIENT_REQUEST_SIZE] =
+ PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST;
+ memcpy(client_payload + sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST) - 1,
+ client_headers, headers_len);
+ grpc_bad_client_arg args[2];
+ args[0] = connection_preface_arg;
+ args[1].client_validator = rst_stream_client_validator;
+ args[1].client_payload = client_payload;
+ args[1].client_payload_length = sizeof(client_payload) - 1;
+
+ grpc_run_bad_client_test(server_verifier_request_call, args, 2, 0);
gpr_free((void*)client_headers);
// Test sending more metadata than the client will accept.
GRPC_RUN_BAD_CLIENT_TEST(server_verifier_sends_too_much_metadata,
- client_validator,
+ rst_stream_client_validator,
PFX_TOO_MUCH_METADATA_FROM_SERVER_STR, 0);
-
return 0;
}
diff --git a/test/core/bad_client/tests/window_overflow.cc b/test/core/bad_client/tests/window_overflow.cc
index ed8279c951..b552704e9c 100644
--- a/test/core/bad_client/tests/window_overflow.cc
+++ b/test/core/bad_client/tests/window_overflow.cc
@@ -26,8 +26,7 @@
#include "src/core/lib/surface/server.h"
#define PFX_STR \
- "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \
- "\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* settings frame */ \
+ "\x00\x00\x00\x04\x01\x00\x00\x00\x00" \
"\x00\x00\xc9\x01\x04\x00\x00\x00\x01" /* headers: generated from \
simple_request.headers in this \
directory */ \
@@ -70,16 +69,17 @@ int main(int argc, char** argv) {
#define MAX_FRAME_SIZE 16384
#define MESSAGES_PER_FRAME (MAX_FRAME_SIZE / 5)
#define FRAME_SIZE (MESSAGES_PER_FRAME * 5)
-#define SEND_SIZE (6 * 1024 * 1024)
+#define SEND_SIZE (4 * 1024 * 1024)
#define NUM_FRAMES (SEND_SIZE / FRAME_SIZE + 1)
grpc_test_init(argc, argv);
grpc_init();
addbuf(PFX_STR, sizeof(PFX_STR) - 1);
for (i = 0; i < NUM_FRAMES; i++) {
- uint8_t hdr[9] = {(uint8_t)(FRAME_SIZE >> 16),
- (uint8_t)(FRAME_SIZE >> 8),
- (uint8_t)FRAME_SIZE,
+ uint8_t hdr[9] = {static_cast<uint8_t>(FRAME_SIZE >> 16),
+ static_cast<uint8_t>(FRAME_SIZE >> 8),
+ static_cast<uint8_t>
+ FRAME_SIZE,
0,
0,
0,
@@ -92,8 +92,10 @@ int main(int argc, char** argv) {
addbuf(message, sizeof(message));
}
}
- grpc_run_bad_client_test(verifier, nullptr, g_buffer, g_count,
- GRPC_BAD_CLIENT_LARGE_REQUEST);
+ grpc_bad_client_arg bca[2];
+ bca[0] = connection_preface_arg;
+ bca[1] = {rst_stream_client_validator, nullptr, g_buffer, g_count};
+ grpc_run_bad_client_test(verifier, bca, 2, GRPC_BAD_CLIENT_LARGE_REQUEST);
gpr_free(g_buffer);
grpc_shutdown();
diff --git a/test/core/bad_ssl/bad_ssl_test.cc b/test/core/bad_ssl/bad_ssl_test.cc
index 8a7960b5ed..e2ea7540ef 100644
--- a/test/core/bad_ssl/bad_ssl_test.cc
+++ b/test/core/bad_ssl/bad_ssl_test.cc
@@ -22,14 +22,15 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
+
#include "src/core/lib/gpr/env.h"
+#include "src/core/lib/gpr/host_port.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/subprocess.h"
#include "test/core/util/test_config.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -126,7 +127,7 @@ int main(int argc, char** argv) {
gpr_subprocess* svr;
/* figure out where we are */
if (lslash) {
- memcpy(root, me, (size_t)(lslash - me));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
root[lslash - me] = 0;
} else {
strcpy(root, ".");
@@ -138,7 +139,7 @@ int main(int argc, char** argv) {
tmp = lunder - 1;
while (*tmp != '_') tmp--;
tmp++;
- memcpy(test, tmp, (size_t)(lunder - tmp));
+ memcpy(test, tmp, static_cast<size_t>(lunder - tmp));
/* start the server */
gpr_asprintf(&args[0], "%s/bad_ssl_%s_server%s", root, test,
gpr_subprocess_binary_extension());
diff --git a/test/core/bad_ssl/generate_tests.bzl b/test/core/bad_ssl/generate_tests.bzl
index b7cb8f86e6..3cf7fd7b4e 100755
--- a/test/core/bad_ssl/generate_tests.bzl
+++ b/test/core/bad_ssl/generate_tests.bzl
@@ -26,12 +26,23 @@ def grpc_bad_ssl_tests():
name = 'bad_ssl_test_server',
srcs = ['server_common.cc'],
hdrs = ['server_common.h'],
- deps = ['//test/core/util:grpc_test_util', '//:grpc', '//test/core/end2end:ssl_test_data']
+ deps = ['//test/core/util:grpc_test_util',
+ '//:grpc',
+ '//test/core/end2end:ssl_test_data']
)
for t in BAD_SSL_TESTS:
- native.cc_test(
+ native.cc_binary(
name = 'bad_ssl_%s_server' % t,
srcs = ['servers/%s.cc' % t],
deps = [':bad_ssl_test_server'],
)
-
+ native.cc_test(
+ name = 'bad_ssl_%s_test' % t,
+ srcs = ['bad_ssl_test.cc'],
+ data = [':bad_ssl_%s_server' % t,
+ '//src/core/tsi/test_creds:badserver.key',
+ '//src/core/tsi/test_creds:badserver.pem',],
+ deps = ['//test/core/util:grpc_test_util',
+ '//:gpr',
+ '//test/core/end2end:cq_verifier'],
+ )
diff --git a/test/core/bad_ssl/server_common.cc b/test/core/bad_ssl/server_common.cc
index 08842b8350..809539aff3 100644
--- a/test/core/bad_ssl/server_common.cc
+++ b/test/core/bad_ssl/server_common.cc
@@ -16,11 +16,11 @@
*
*/
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <signal.h>
#include "test/core/bad_ssl/server_common.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/test_config.h"
/* Common server implementation details for all servers in servers/.
diff --git a/test/core/bad_ssl/servers/alpn.cc b/test/core/bad_ssl/servers/alpn.cc
index 23954d82fd..4a04178b1c 100644
--- a/test/core/bad_ssl/servers/alpn.cc
+++ b/test/core/bad_ssl/servers/alpn.cc
@@ -21,9 +21,9 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/ext/transport/chttp2/alpn/alpn.h"
+#include "src/core/lib/gpr/useful.h"
#include "test/core/bad_ssl/server_common.h"
#include "test/core/end2end/data/ssl_test_data.h"
diff --git a/test/core/bad_ssl/servers/cert.cc b/test/core/bad_ssl/servers/cert.cc
index a51dd34e4b..0722d6b57c 100644
--- a/test/core/bad_ssl/servers/cert.cc
+++ b/test/core/bad_ssl/servers/cert.cc
@@ -21,7 +21,6 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/iomgr/load_file.h"
@@ -46,8 +45,10 @@ int main(int argc, char** argv) {
GPR_ASSERT(GRPC_LOG_IF_ERROR(
"load_file",
grpc_load_file("src/core/tsi/test_creds/badserver.key", 1, &key_slice)));
- pem_key_cert_pair.private_key = (const char*)GRPC_SLICE_START_PTR(key_slice);
- pem_key_cert_pair.cert_chain = (const char*)GRPC_SLICE_START_PTR(cert_slice);
+ pem_key_cert_pair.private_key =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(key_slice);
+ pem_key_cert_pair.cert_chain =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(cert_slice);
ssl_creds = grpc_ssl_server_credentials_create(nullptr, &pem_key_cert_pair, 1,
0, nullptr);
diff --git a/test/core/channel/BUILD b/test/core/channel/BUILD
index f3b9231d83..b215aa205c 100644
--- a/test/core/channel/BUILD
+++ b/test/core/channel/BUILD
@@ -55,6 +55,18 @@ grpc_cc_test(
)
grpc_cc_test(
+ name = "minimal_stack_is_minimal_test",
+ srcs = ["minimal_stack_is_minimal_test.cc"],
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//test/core/util:gpr_test_util",
+ "//test/core/util:grpc_test_util",
+ ],
+)
+
+grpc_cc_test(
name = "channel_tracer_test",
srcs = ["channel_tracer_test.cc"],
language = "C++",
diff --git a/test/core/channel/channel_args_test.cc b/test/core/channel/channel_args_test.cc
index 5b0a770c84..57ff7370ad 100644
--- a/test/core/channel/channel_args_test.cc
+++ b/test/core/channel/channel_args_test.cc
@@ -19,9 +19,9 @@
#include <string.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/test_config.h"
@@ -62,8 +62,8 @@ static void test_set_compression_algorithm(void) {
grpc_core::ExecCtx exec_ctx;
grpc_channel_args* ch_args;
- ch_args = grpc_channel_args_set_compression_algorithm(
- nullptr, GRPC_COMPRESS_MESSAGE_GZIP);
+ ch_args =
+ grpc_channel_args_set_compression_algorithm(nullptr, GRPC_COMPRESS_GZIP);
GPR_ASSERT(ch_args->num_args == 1);
GPR_ASSERT(strcmp(ch_args->args[0].key,
GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM) == 0);
@@ -81,29 +81,30 @@ static void test_compression_algorithm_states(void) {
ch_args = grpc_channel_args_copy_and_add(nullptr, nullptr, 0);
/* by default, all enabled */
- states_bitset =
- (unsigned)grpc_channel_args_compression_algorithm_get_states(ch_args);
+ states_bitset = static_cast<unsigned>(
+ grpc_channel_args_compression_algorithm_get_states(ch_args));
for (i = 0; i < GRPC_COMPRESS_ALGORITHMS_COUNT; i++) {
GPR_ASSERT(GPR_BITGET(states_bitset, i));
}
- /* disable message/gzip and message/deflate and stream/gzip */
+ /* disable gzip and deflate and stream/gzip */
ch_args_wo_gzip = grpc_channel_args_compression_algorithm_set_state(
- &ch_args, GRPC_COMPRESS_MESSAGE_GZIP, 0);
+ &ch_args, GRPC_COMPRESS_GZIP, 0);
GPR_ASSERT(ch_args == ch_args_wo_gzip);
ch_args_wo_gzip_deflate = grpc_channel_args_compression_algorithm_set_state(
- &ch_args_wo_gzip, GRPC_COMPRESS_MESSAGE_DEFLATE, 0);
+ &ch_args_wo_gzip, GRPC_COMPRESS_DEFLATE, 0);
GPR_ASSERT(ch_args_wo_gzip == ch_args_wo_gzip_deflate);
ch_args_wo_gzip_deflate_gzip =
grpc_channel_args_compression_algorithm_set_state(
&ch_args_wo_gzip_deflate, GRPC_COMPRESS_STREAM_GZIP, 0);
GPR_ASSERT(ch_args_wo_gzip_deflate == ch_args_wo_gzip_deflate_gzip);
- states_bitset = (unsigned)grpc_channel_args_compression_algorithm_get_states(
- ch_args_wo_gzip_deflate);
+ states_bitset =
+ static_cast<unsigned>(grpc_channel_args_compression_algorithm_get_states(
+ ch_args_wo_gzip_deflate));
for (i = 0; i < GRPC_COMPRESS_ALGORITHMS_COUNT; i++) {
- if (i == GRPC_COMPRESS_MESSAGE_GZIP || i == GRPC_COMPRESS_MESSAGE_DEFLATE ||
+ if (i == GRPC_COMPRESS_GZIP || i == GRPC_COMPRESS_DEFLATE ||
i == GRPC_COMPRESS_STREAM_GZIP) {
GPR_ASSERT(GPR_BITGET(states_bitset, i) == 0);
} else {
@@ -111,17 +112,17 @@ static void test_compression_algorithm_states(void) {
}
}
- /* re-enabled message/gzip and stream/gzip only */
+ /* re-enabled gzip and stream/gzip only */
ch_args_wo_gzip = grpc_channel_args_compression_algorithm_set_state(
- &ch_args_wo_gzip_deflate_gzip, GRPC_COMPRESS_MESSAGE_GZIP, 1);
+ &ch_args_wo_gzip_deflate_gzip, GRPC_COMPRESS_GZIP, 1);
ch_args_wo_gzip = grpc_channel_args_compression_algorithm_set_state(
&ch_args_wo_gzip, GRPC_COMPRESS_STREAM_GZIP, 1);
GPR_ASSERT(ch_args_wo_gzip == ch_args_wo_gzip_deflate_gzip);
- states_bitset = (unsigned)grpc_channel_args_compression_algorithm_get_states(
- ch_args_wo_gzip);
+ states_bitset = static_cast<unsigned>(
+ grpc_channel_args_compression_algorithm_get_states(ch_args_wo_gzip));
for (i = 0; i < GRPC_COMPRESS_ALGORITHMS_COUNT; i++) {
- if (i == GRPC_COMPRESS_MESSAGE_DEFLATE) {
+ if (i == GRPC_COMPRESS_DEFLATE) {
GPR_ASSERT(GPR_BITGET(states_bitset, i) == 0);
} else {
GPR_ASSERT(GPR_BITGET(states_bitset, i) != 0);
diff --git a/test/core/channel/channel_stack_builder_test.cc b/test/core/channel/channel_stack_builder_test.cc
index ef6db81b0b..aad6d6eee9 100644
--- a/test/core/channel/channel_stack_builder_test.cc
+++ b/test/core/channel/channel_stack_builder_test.cc
@@ -116,7 +116,7 @@ static bool add_replacement_filter(grpc_channel_stack_builder* builder,
static bool add_original_filter(grpc_channel_stack_builder* builder,
void* arg) {
return grpc_channel_stack_builder_prepend_filter(
- builder, (const grpc_channel_filter*)arg, set_arg_once_fn,
+ builder, static_cast<const grpc_channel_filter*>(arg), set_arg_once_fn,
&g_original_fn_called);
}
diff --git a/test/core/channel/channel_stack_test.cc b/test/core/channel/channel_stack_test.cc
index ef43facd6e..2f5329a96d 100644
--- a/test/core/channel/channel_stack_test.cc
+++ b/test/core/channel/channel_stack_test.cc
@@ -35,14 +35,14 @@ static grpc_error* channel_init_func(grpc_channel_element* elem,
GPR_ASSERT(args->channel_args->args[0].value.integer == 42);
GPR_ASSERT(args->is_first);
GPR_ASSERT(args->is_last);
- *(int*)(elem->channel_data) = 0;
+ *static_cast<int*>(elem->channel_data) = 0;
return GRPC_ERROR_NONE;
}
static grpc_error* call_init_func(grpc_call_element* elem,
const grpc_call_element_args* args) {
- ++*(int*)(elem->channel_data);
- *(int*)(elem->call_data) = 0;
+ ++*static_cast<int*>(elem->channel_data);
+ *static_cast<int*>(elem->call_data) = 0;
return GRPC_ERROR_NONE;
}
@@ -51,16 +51,16 @@ static void channel_destroy_func(grpc_channel_element* elem) {}
static void call_destroy_func(grpc_call_element* elem,
const grpc_call_final_info* final_info,
grpc_closure* ignored) {
- ++*(int*)(elem->channel_data);
+ ++*static_cast<int*>(elem->channel_data);
}
static void call_func(grpc_call_element* elem,
grpc_transport_stream_op_batch* op) {
- ++*(int*)(elem->call_data);
+ ++*static_cast<int*>(elem->call_data);
}
static void channel_func(grpc_channel_element* elem, grpc_transport_op* op) {
- ++*(int*)(elem->channel_data);
+ ++*static_cast<int*>(elem->channel_data);
}
static void free_channel(void* arg, grpc_error* error) {
@@ -111,7 +111,7 @@ static void test_create_channel_stack(void) {
&chan_args, nullptr, "test", channel_stack);
GPR_ASSERT(channel_stack->count == 1);
channel_elem = grpc_channel_stack_element(channel_stack, 0);
- channel_data = (int*)channel_elem->channel_data;
+ channel_data = static_cast<int*>(channel_elem->channel_data);
GPR_ASSERT(*channel_data == 0);
call_stack =
@@ -133,7 +133,7 @@ static void test_create_channel_stack(void) {
call_elem = grpc_call_stack_element(call_stack, 0);
GPR_ASSERT(call_elem->filter == channel_elem->filter);
GPR_ASSERT(call_elem->channel_data == channel_elem->channel_data);
- call_data = (int*)call_elem->call_data;
+ call_data = static_cast<int*>(call_elem->call_data);
GPR_ASSERT(*call_data == 0);
GPR_ASSERT(*channel_data == 1);
diff --git a/test/core/channel/channel_tracer_test.cc b/test/core/channel/channel_tracer_test.cc
index 6166b85ea8..5ac15ff6cd 100644
--- a/test/core/channel/channel_tracer_test.cc
+++ b/test/core/channel/channel_tracer_test.cc
@@ -21,9 +21,9 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_tracer.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/channel_tracing_utils.h"
diff --git a/test/core/client_channel/BUILD b/test/core/client_channel/BUILD
index ec72e0ea72..c4d12fe3a1 100644
--- a/test/core/client_channel/BUILD
+++ b/test/core/client_channel/BUILD
@@ -23,8 +23,19 @@ load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer")
grpc_fuzzer(
name = "uri_fuzzer_test",
srcs = ["uri_fuzzer_test.cc"],
- language = "C++",
corpus = "uri_corpus",
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//test/core/util:grpc_test_util",
+ ],
+)
+
+grpc_cc_test(
+ name = "parse_address_test",
+ srcs = ["parse_address_test.cc"],
+ language = "C++",
deps = [
"//:gpr",
"//:grpc",
@@ -33,14 +44,13 @@ grpc_fuzzer(
)
grpc_cc_test(
- name = "lb_policies_test",
- srcs = ["lb_policies_test.cc"],
+ name = "uri_parser_test",
+ srcs = ["uri_parser_test.cc"],
language = "C++",
deps = [
"//:gpr",
"//:grpc",
- "//test/core/end2end:cq_verifier",
- "//test/core/util:gpr_test_util",
"//test/core/util:grpc_test_util",
],
)
+
diff --git a/test/core/client_channel/lb_policies_test.cc b/test/core/client_channel/lb_policies_test.cc
deleted file mode 100644
index 716c63b9d0..0000000000
--- a/test/core/client_channel/lb_policies_test.cc
+++ /dev/null
@@ -1,1029 +0,0 @@
-/*
- *
- * Copyright 2015 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 <stdarg.h>
-#include <string.h>
-
-#include <grpc/grpc.h>
-#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
-#include <grpc/support/log.h>
-#include <grpc/support/string_util.h>
-#include <grpc/support/time.h>
-
-#include "src/core/ext/filters/client_channel/client_channel.h"
-#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/gpr/string.h"
-#include "src/core/lib/surface/channel.h"
-#include "src/core/lib/surface/server.h"
-#include "test/core/end2end/cq_verifier.h"
-#include "test/core/util/port.h"
-#include "test/core/util/test_config.h"
-
-#define RETRY_TIMEOUT 300
-
-typedef struct servers_fixture {
- size_t num_servers;
- grpc_server** servers;
- grpc_call** server_calls;
- grpc_completion_queue* cq;
- grpc_completion_queue* shutdown_cq;
- char** servers_hostports;
- grpc_metadata_array* request_metadata_recv;
-} servers_fixture;
-
-typedef struct request_sequences {
- size_t n; /* number of iterations */
- int* connections; /* indexed by the interation number, value is the index of
- the server it connected to or -1 if none */
- /* indexed by the interation number, value is the client connectivity state */
- grpc_connectivity_state* connectivity_states;
-} request_sequences;
-
-typedef void (*verifier_fn)(const servers_fixture*, grpc_channel*,
- const request_sequences*, const size_t);
-
-typedef struct test_spec {
- size_t num_iters;
- size_t num_servers;
-
- int** kill_at;
- int** revive_at;
-
- const char* description;
-
- verifier_fn verifier;
-
-} test_spec;
-
-static void test_spec_reset(test_spec* spec) {
- size_t i, j;
-
- for (i = 0; i < spec->num_iters; i++) {
- for (j = 0; j < spec->num_servers; j++) {
- spec->kill_at[i][j] = 0;
- spec->revive_at[i][j] = 0;
- }
- }
-}
-
-static test_spec* test_spec_create(size_t num_iters, size_t num_servers) {
- test_spec* spec;
- size_t i;
-
- spec = static_cast<test_spec*>(gpr_malloc(sizeof(test_spec)));
- spec->num_iters = num_iters;
- spec->num_servers = num_servers;
- spec->kill_at = static_cast<int**>(gpr_malloc(sizeof(int*) * num_iters));
- spec->revive_at = static_cast<int**>(gpr_malloc(sizeof(int*) * num_iters));
- for (i = 0; i < num_iters; i++) {
- spec->kill_at[i] = static_cast<int*>(gpr_malloc(sizeof(int) * num_servers));
- spec->revive_at[i] =
- static_cast<int*>(gpr_malloc(sizeof(int) * num_servers));
- }
-
- test_spec_reset(spec);
- return spec;
-}
-
-static void test_spec_destroy(test_spec* spec) {
- size_t i;
- for (i = 0; i < spec->num_iters; i++) {
- gpr_free(spec->kill_at[i]);
- gpr_free(spec->revive_at[i]);
- }
-
- gpr_free(spec->kill_at);
- gpr_free(spec->revive_at);
-
- gpr_free(spec);
-}
-
-static void* tag(intptr_t t) { return (void*)t; }
-
-static gpr_timespec n_millis_time(int n) {
- return gpr_time_add(gpr_now(GPR_CLOCK_REALTIME),
- gpr_time_from_millis(n, GPR_TIMESPAN));
-}
-
-static void drain_cq(grpc_completion_queue* cq) {
- grpc_event ev;
- do {
- ev = grpc_completion_queue_next(cq, n_millis_time(5000), nullptr);
- } while (ev.type != GRPC_QUEUE_SHUTDOWN);
-}
-
-static void kill_server(const servers_fixture* f, size_t i) {
- gpr_log(GPR_INFO, "KILLING SERVER %" PRIuPTR, i);
- GPR_ASSERT(f->servers[i] != nullptr);
- grpc_server_shutdown_and_notify(f->servers[i], f->shutdown_cq, tag(10000));
- GPR_ASSERT(grpc_completion_queue_pluck(f->shutdown_cq, tag(10000),
- n_millis_time(5000), nullptr)
- .type == GRPC_OP_COMPLETE);
- grpc_server_destroy(f->servers[i]);
- f->servers[i] = nullptr;
-}
-
-typedef struct request_data {
- grpc_metadata_array initial_metadata_recv;
- grpc_metadata_array trailing_metadata_recv;
- grpc_slice details;
- grpc_status_code status;
- grpc_call_details* call_details;
-} request_data;
-
-static void revive_server(const servers_fixture* f, request_data* rdata,
- size_t i) {
- int got_port;
- gpr_log(GPR_INFO, "RAISE AGAIN SERVER %" PRIuPTR, i);
- GPR_ASSERT(f->servers[i] == nullptr);
-
- gpr_log(GPR_DEBUG, "revive: %s", f->servers_hostports[i]);
-
- f->servers[i] = grpc_server_create(nullptr, nullptr);
- grpc_server_register_completion_queue(f->servers[i], f->cq, nullptr);
- GPR_ASSERT((got_port = grpc_server_add_insecure_http2_port(
- f->servers[i], f->servers_hostports[i])) > 0);
- grpc_server_start(f->servers[i]);
-
- GPR_ASSERT(GRPC_CALL_OK ==
- grpc_server_request_call(f->servers[i], &f->server_calls[i],
- &rdata->call_details[i],
- &f->request_metadata_recv[i], f->cq,
- f->cq, tag(1000 + (int)i)));
-}
-
-static servers_fixture* setup_servers(const char* server_host,
- request_data* rdata,
- const size_t num_servers) {
- servers_fixture* f =
- static_cast<servers_fixture*>(gpr_malloc(sizeof(servers_fixture)));
- size_t i;
-
- f->num_servers = num_servers;
- f->server_calls =
- static_cast<grpc_call**>(gpr_malloc(sizeof(grpc_call*) * num_servers));
- f->request_metadata_recv = static_cast<grpc_metadata_array*>(
- gpr_malloc(sizeof(grpc_metadata_array) * num_servers));
- /* Create servers. */
- f->servers = static_cast<grpc_server**>(
- gpr_malloc(sizeof(grpc_server*) * num_servers));
- f->servers_hostports =
- static_cast<char**>(gpr_malloc(sizeof(char*) * num_servers));
- f->cq = grpc_completion_queue_create_for_next(nullptr);
- f->shutdown_cq = grpc_completion_queue_create_for_pluck(nullptr);
- for (i = 0; i < num_servers; i++) {
- grpc_metadata_array_init(&f->request_metadata_recv[i]);
- gpr_join_host_port(&f->servers_hostports[i], server_host,
- grpc_pick_unused_port_or_die());
- f->servers[i] = nullptr;
- revive_server(f, rdata, i);
- }
- return f;
-}
-
-static void teardown_servers(servers_fixture* f) {
- size_t i;
- /* Destroy server. */
- for (i = 0; i < f->num_servers; i++) {
- if (f->servers[i] == nullptr) continue;
- grpc_server_shutdown_and_notify(f->servers[i], f->shutdown_cq, tag(10000));
- GPR_ASSERT(grpc_completion_queue_pluck(f->shutdown_cq, tag(10000),
- n_millis_time(5000), nullptr)
- .type == GRPC_OP_COMPLETE);
- grpc_server_destroy(f->servers[i]);
- }
- grpc_completion_queue_shutdown(f->cq);
- drain_cq(f->cq);
- grpc_completion_queue_destroy(f->cq);
- grpc_completion_queue_destroy(f->shutdown_cq);
-
- gpr_free(f->servers);
-
- for (i = 0; i < f->num_servers; i++) {
- gpr_free(f->servers_hostports[i]);
- grpc_metadata_array_destroy(&f->request_metadata_recv[i]);
- }
-
- gpr_free(f->servers_hostports);
- gpr_free(f->request_metadata_recv);
- gpr_free(f->server_calls);
- gpr_free(f);
-}
-
-static request_sequences request_sequences_create(size_t n) {
- request_sequences res;
- res.n = n;
- res.connections = static_cast<int*>(gpr_malloc(sizeof(*res.connections) * n));
- res.connectivity_states = static_cast<grpc_connectivity_state*>(
- gpr_malloc(sizeof(*res.connectivity_states) * n));
- memset(res.connections, 0, sizeof(*res.connections) * n);
- memset(res.connectivity_states, 0, sizeof(*res.connectivity_states) * n);
- return res;
-}
-
-static void request_sequences_destroy(const request_sequences* rseqs) {
- gpr_free(rseqs->connections);
- gpr_free(rseqs->connectivity_states);
-}
-
-/** Returns connection sequence (server indices), which must be freed */
-static request_sequences perform_request(servers_fixture* f,
- grpc_channel* client,
- request_data* rdata,
- const test_spec* spec) {
- grpc_call* c;
- int s_idx;
- int* s_valid;
- grpc_op ops[6];
- grpc_op* op;
- int was_cancelled;
- size_t i, iter_num;
- grpc_event ev;
- int read_tag;
- int completed_client;
- const request_sequences sequences = request_sequences_create(spec->num_iters);
-
- s_valid = static_cast<int*>(gpr_malloc(sizeof(int) * f->num_servers));
-
- for (iter_num = 0; iter_num < spec->num_iters; iter_num++) {
- cq_verifier* cqv = cq_verifier_create(f->cq);
- was_cancelled = 2;
-
- for (i = 0; i < f->num_servers; i++) {
- if (spec->kill_at[iter_num][i] != 0) {
- kill_server(f, i);
- } else if (spec->revive_at[iter_num][i] != 0) {
- /* killing takes precedence */
- revive_server(f, rdata, i);
- }
- }
-
- sequences.connections[iter_num] = -1;
- grpc_metadata_array_init(&rdata->initial_metadata_recv);
- grpc_metadata_array_init(&rdata->trailing_metadata_recv);
-
- for (i = 0; i < f->num_servers; i++) {
- grpc_call_details_init(&rdata->call_details[i]);
- }
- memset(s_valid, 0, f->num_servers * sizeof(int));
-
- grpc_slice host = grpc_slice_from_static_string("foo.test.google.fr");
- c = grpc_channel_create_call(client, nullptr, GRPC_PROPAGATE_DEFAULTS,
- f->cq, grpc_slice_from_static_string("/foo"),
- &host, gpr_inf_future(GPR_CLOCK_REALTIME),
- nullptr);
- GPR_ASSERT(c);
- completed_client = 0;
-
- memset(ops, 0, sizeof(ops));
- op = ops;
- op->op = GRPC_OP_SEND_INITIAL_METADATA;
- op->data.send_initial_metadata.count = 0;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_RECV_INITIAL_METADATA;
- op->data.recv_initial_metadata.recv_initial_metadata =
- &rdata->initial_metadata_recv;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;
- op->data.recv_status_on_client.trailing_metadata =
- &rdata->trailing_metadata_recv;
- op->data.recv_status_on_client.status = &rdata->status;
- op->data.recv_status_on_client.status_details = &rdata->details;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, ops, (size_t)(op - ops),
- tag(1), nullptr));
-
- s_idx = -1;
- while ((ev = grpc_completion_queue_next(
- f->cq, grpc_timeout_milliseconds_to_deadline(RETRY_TIMEOUT),
- nullptr))
- .type != GRPC_QUEUE_TIMEOUT) {
- GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
- read_tag = ((int)(intptr_t)ev.tag);
- const grpc_connectivity_state conn_state =
- grpc_channel_check_connectivity_state(client, 0);
- sequences.connectivity_states[iter_num] = conn_state;
- gpr_log(GPR_DEBUG, "EVENT: success:%d, type:%d, tag:%d iter:%" PRIuPTR,
- ev.success, ev.type, read_tag, iter_num);
- if (ev.success && read_tag >= 1000) {
- GPR_ASSERT(s_idx == -1); /* only one server must reply */
- /* only server notifications for non-shutdown events */
- s_idx = read_tag - 1000;
- s_valid[s_idx] = 1;
- sequences.connections[iter_num] = s_idx;
- break;
- } else if (read_tag == 1) {
- gpr_log(GPR_DEBUG, "client timed out");
- GPR_ASSERT(ev.success);
- completed_client = 1;
- }
- }
-
- if (s_idx >= 0) {
- memset(ops, 0, sizeof(ops));
- op = ops;
- op->op = GRPC_OP_SEND_INITIAL_METADATA;
- op->data.send_initial_metadata.count = 0;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_SEND_STATUS_FROM_SERVER;
- op->data.send_status_from_server.trailing_metadata_count = 0;
- op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED;
- grpc_slice status_details = grpc_slice_from_static_string("xyz");
- op->data.send_status_from_server.status_details = &status_details;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_RECV_CLOSE_ON_SERVER;
- op->data.recv_close_on_server.cancelled = &was_cancelled;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(f->server_calls[s_idx],
- ops, (size_t)(op - ops),
- tag(102), nullptr));
-
- CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
- if (!completed_client) {
- CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
- }
- cq_verify(cqv);
-
- GPR_ASSERT(rdata->status == GRPC_STATUS_UNIMPLEMENTED);
- GPR_ASSERT(0 == grpc_slice_str_cmp(rdata->details, "xyz"));
- GPR_ASSERT(0 ==
- grpc_slice_str_cmp(rdata->call_details[s_idx].method, "/foo"));
- GPR_ASSERT(0 == grpc_slice_str_cmp(rdata->call_details[s_idx].host,
- "foo.test.google.fr"));
- GPR_ASSERT(was_cancelled == 1);
-
- grpc_call_unref(f->server_calls[s_idx]);
-
- /* ask for the next request on this server */
- GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
- f->servers[s_idx], &f->server_calls[s_idx],
- &rdata->call_details[s_idx],
- &f->request_metadata_recv[s_idx], f->cq,
- f->cq, tag(1000 + (int)s_idx)));
- } else { /* no response from server */
- grpc_call_cancel(c, nullptr);
- if (!completed_client) {
- CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
- cq_verify(cqv);
- }
- }
-
- GPR_ASSERT(grpc_completion_queue_next(
- f->cq, grpc_timeout_milliseconds_to_deadline(RETRY_TIMEOUT),
- nullptr)
- .type == GRPC_QUEUE_TIMEOUT);
-
- grpc_metadata_array_destroy(&rdata->initial_metadata_recv);
- grpc_metadata_array_destroy(&rdata->trailing_metadata_recv);
-
- cq_verifier_destroy(cqv);
-
- grpc_call_unref(c);
-
- for (i = 0; i < f->num_servers; i++) {
- grpc_call_details_destroy(&rdata->call_details[i]);
- }
- grpc_slice_unref(rdata->details);
- }
-
- gpr_free(s_valid);
-
- return sequences;
-}
-
-static grpc_call** perform_multirequest(servers_fixture* f,
- grpc_channel* client,
- size_t concurrent_calls) {
- grpc_call** calls;
- grpc_op ops[6];
- grpc_op* op;
- size_t i;
-
- calls = static_cast<grpc_call**>(
- gpr_malloc(sizeof(grpc_call*) * concurrent_calls));
- for (i = 0; i < f->num_servers; i++) {
- kill_server(f, i);
- }
-
- memset(ops, 0, sizeof(ops));
- op = ops;
- op->op = GRPC_OP_SEND_INITIAL_METADATA;
- op->data.send_initial_metadata.count = 0;
- op->flags = 0;
- op->reserved = nullptr;
- op++;
- op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
- op->flags = 0;
- op->reserved = nullptr;
-
- grpc_slice host = grpc_slice_from_static_string("foo.test.google.fr");
- for (i = 0; i < concurrent_calls; i++) {
- calls[i] = grpc_channel_create_call(
- client, nullptr, GRPC_PROPAGATE_DEFAULTS, f->cq,
- grpc_slice_from_static_string("/foo"), &host,
- gpr_inf_future(GPR_CLOCK_REALTIME), nullptr);
- GPR_ASSERT(calls[i]);
- GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(calls[i], ops,
- (size_t)(op - ops), tag(1),
- nullptr));
- }
-
- return calls;
-}
-
-void run_spec(const test_spec* spec) {
- grpc_channel* client;
- char* client_hostport;
- char* servers_hostports_str;
- request_data rdata;
- servers_fixture* f;
- grpc_channel_args args;
- grpc_arg arg_array[2];
- rdata.call_details = static_cast<grpc_call_details*>(
- gpr_malloc(sizeof(grpc_call_details) * spec->num_servers));
- f = setup_servers("127.0.0.1", &rdata, spec->num_servers);
-
- /* Create client. */
- servers_hostports_str = gpr_strjoin_sep((const char**)f->servers_hostports,
- f->num_servers, ",", nullptr);
- gpr_asprintf(&client_hostport, "ipv4:%s", servers_hostports_str);
-
- arg_array[0].type = GRPC_ARG_INTEGER;
- arg_array[0].key =
- const_cast<char*>("grpc.testing.fixed_reconnect_backoff_ms");
- arg_array[0].value.integer = RETRY_TIMEOUT;
- arg_array[1].type = GRPC_ARG_STRING;
- arg_array[1].key = const_cast<char*>(GRPC_ARG_LB_POLICY_NAME);
- arg_array[1].value.string = const_cast<char*>("round_robin");
- args.num_args = 2;
- args.args = arg_array;
-
- client = grpc_insecure_channel_create(client_hostport, &args, nullptr);
-
- gpr_log(GPR_INFO, "Testing '%s' with servers=%s client=%s", spec->description,
- servers_hostports_str, client_hostport);
-
- const request_sequences sequences = perform_request(f, client, &rdata, spec);
-
- spec->verifier(f, client, &sequences, spec->num_iters);
-
- gpr_free(client_hostport);
- gpr_free(servers_hostports_str);
- gpr_free(rdata.call_details);
- request_sequences_destroy(&sequences);
-
- grpc_channel_destroy(client); /* calls the LB's shutdown func */
- teardown_servers(f);
-}
-
-static grpc_channel* create_client(const servers_fixture* f) {
- grpc_channel* client;
- char* client_hostport;
- char* servers_hostports_str;
- grpc_arg arg_array[3];
- grpc_channel_args args;
-
- servers_hostports_str = gpr_strjoin_sep((const char**)f->servers_hostports,
- f->num_servers, ",", nullptr);
- gpr_asprintf(&client_hostport, "ipv4:%s", servers_hostports_str);
-
- arg_array[0].type = GRPC_ARG_INTEGER;
- arg_array[0].key =
- const_cast<char*>("grpc.testing.fixed_reconnect_backoff_ms");
- arg_array[0].value.integer = RETRY_TIMEOUT;
- arg_array[1].type = GRPC_ARG_STRING;
- arg_array[1].key = const_cast<char*>(GRPC_ARG_LB_POLICY_NAME);
- arg_array[1].value.string = const_cast<char*>("ROUND_ROBIN");
- arg_array[2].type = GRPC_ARG_INTEGER;
- arg_array[2].key =
- const_cast<char*>(GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS);
- arg_array[2].value.integer = 0;
- args.num_args = GPR_ARRAY_SIZE(arg_array);
- args.args = arg_array;
-
- client = grpc_insecure_channel_create(client_hostport, &args, nullptr);
- gpr_free(client_hostport);
- gpr_free(servers_hostports_str);
-
- return client;
-}
-
-static void test_ping() {
- grpc_channel* client;
- request_data rdata;
- servers_fixture* f;
- cq_verifier* cqv;
- grpc_connectivity_state state = GRPC_CHANNEL_IDLE;
- const size_t num_servers = 1;
- int i;
-
- rdata.call_details = static_cast<grpc_call_details*>(
- gpr_malloc(sizeof(grpc_call_details) * num_servers));
- f = setup_servers("127.0.0.1", &rdata, num_servers);
- cqv = cq_verifier_create(f->cq);
-
- client = create_client(f);
-
- grpc_channel_ping(client, f->cq, tag(0), nullptr);
- CQ_EXPECT_COMPLETION(cqv, tag(0), 0);
-
- /* check that we're still in idle, and start connecting */
- GPR_ASSERT(grpc_channel_check_connectivity_state(client, 1) ==
- GRPC_CHANNEL_IDLE);
- /* we'll go through some set of transitions (some might be missed), until
- READY is reached */
- while (state != GRPC_CHANNEL_READY) {
- grpc_channel_watch_connectivity_state(
- client, state, grpc_timeout_seconds_to_deadline(3), f->cq, tag(99));
- CQ_EXPECT_COMPLETION(cqv, tag(99), 1);
- cq_verify(cqv);
- state = grpc_channel_check_connectivity_state(client, 0);
- GPR_ASSERT(state == GRPC_CHANNEL_READY ||
- state == GRPC_CHANNEL_CONNECTING ||
- state == GRPC_CHANNEL_TRANSIENT_FAILURE);
- }
-
- for (i = 1; i <= 5; i++) {
- grpc_channel_ping(client, f->cq, tag(i), nullptr);
- CQ_EXPECT_COMPLETION(cqv, tag(i), 1);
- cq_verify(cqv);
- }
- gpr_free(rdata.call_details);
-
- grpc_channel_destroy(client);
- teardown_servers(f);
-
- cq_verifier_destroy(cqv);
-}
-
-static void test_pending_calls(size_t concurrent_calls) {
- size_t i;
- grpc_call** calls;
- grpc_channel* client;
- request_data rdata;
- servers_fixture* f;
- test_spec* spec = test_spec_create(0, 4);
- rdata.call_details = static_cast<grpc_call_details*>(
- gpr_malloc(sizeof(grpc_call_details) * spec->num_servers));
- f = setup_servers("127.0.0.1", &rdata, spec->num_servers);
-
- client = create_client(f);
- calls = perform_multirequest(f, client, concurrent_calls);
- grpc_call_cancel(calls[0], nullptr); /* exercise the cancel pick path whilst
- there are pending picks */
-
- gpr_free(rdata.call_details);
-
- grpc_channel_destroy(client); /* calls the LB's shutdown func */
- /* destroy the calls after the channel so that they are still around for the
- * LB's shutdown func to process */
- for (i = 0; i < concurrent_calls; i++) {
- grpc_call_unref(calls[i]);
- }
- gpr_free(calls);
- teardown_servers(f);
- test_spec_destroy(spec);
-}
-
-static void test_get_channel_info() {
- grpc_channel* channel =
- grpc_insecure_channel_create("ipv4:127.0.0.1:1234", nullptr, nullptr);
- // Ensures that resolver returns.
- grpc_channel_check_connectivity_state(channel, true /* try_to_connect */);
- // First, request no fields. This is a no-op.
- grpc_channel_info channel_info;
- memset(&channel_info, 0, sizeof(channel_info));
- grpc_channel_get_info(channel, &channel_info);
- // Request LB policy name.
- char* lb_policy_name = nullptr;
- channel_info.lb_policy_name = &lb_policy_name;
- grpc_channel_get_info(channel, &channel_info);
- GPR_ASSERT(lb_policy_name != nullptr);
- GPR_ASSERT(strcmp(lb_policy_name, "pick_first") == 0);
- gpr_free(lb_policy_name);
- // Request service config, which does not exist, so we'll get nothing back.
- memset(&channel_info, 0, sizeof(channel_info));
- char* service_config_json = const_cast<char*>("dummy_string");
- channel_info.service_config_json = &service_config_json;
- grpc_channel_get_info(channel, &channel_info);
- GPR_ASSERT(service_config_json == nullptr);
- // Recreate the channel such that it has a service config.
- grpc_channel_destroy(channel);
- grpc_arg arg;
- arg.type = GRPC_ARG_STRING;
- arg.key = const_cast<char*>(GRPC_ARG_SERVICE_CONFIG);
- arg.value.string =
- const_cast<char*>("{\"loadBalancingPolicy\": \"ROUND_ROBIN\"}");
- grpc_channel_args* args = grpc_channel_args_copy_and_add(nullptr, &arg, 1);
- channel = grpc_insecure_channel_create("ipv4:127.0.0.1:1234", args, nullptr);
- {
- grpc_core::ExecCtx exec_ctx;
- grpc_channel_args_destroy(args);
- }
- // Ensures that resolver returns.
- grpc_channel_check_connectivity_state(channel, true /* try_to_connect */);
- // Now request the service config again.
- grpc_channel_get_info(channel, &channel_info);
- GPR_ASSERT(service_config_json != nullptr);
- GPR_ASSERT(strcmp(service_config_json, arg.value.string) == 0);
- gpr_free(service_config_json);
- // Clean up.
- grpc_channel_destroy(channel);
-}
-
-static void print_failed_expectations(const int* expected_connection_sequence,
- const int* actual_connection_sequence,
- const size_t expected_seq_length,
- const size_t num_iters) {
- size_t i;
- for (i = 0; i < num_iters; i++) {
- gpr_log(GPR_ERROR,
- "FAILURE: Iter (expected, actual): %" PRIuPTR " (%d, %d)", i,
- expected_connection_sequence[i % expected_seq_length],
- actual_connection_sequence[i]);
- }
-}
-
-static void verify_vanilla_round_robin(const servers_fixture* f,
- grpc_channel* client,
- const request_sequences* sequences,
- const size_t num_iters) {
- const size_t expected_seq_length = f->num_servers;
-
- /* verify conn. seq. expectation */
- /* get the first sequence of "num_servers" elements */
- int* expected_connection_sequence =
- static_cast<int*>(gpr_malloc(sizeof(int) * expected_seq_length));
- memcpy(expected_connection_sequence, sequences->connections,
- sizeof(int) * expected_seq_length);
-
- for (size_t i = 0; i < num_iters; i++) {
- const int actual = sequences->connections[i];
- const int expected = expected_connection_sequence[i % expected_seq_length];
- if (actual != expected) {
- gpr_log(
- GPR_ERROR,
- "CONNECTION SEQUENCE FAILURE: expected %d, got %d at iteration #%d",
- expected, actual, (int)i);
- abort();
- }
- }
-
- /* All servers are available, therefore all client subchannels are READY, even
- * when we only need one for the client channel state to be READY */
- for (size_t i = 0; i < sequences->n; i++) {
- const grpc_connectivity_state actual =
- static_cast<grpc_connectivity_state>(sequences->connectivity_states[i]);
- const grpc_connectivity_state expected = GRPC_CHANNEL_READY;
- if (actual != expected) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: expected '%s', got '%s' "
- "at iteration #%d",
- grpc_connectivity_state_name(expected),
- grpc_connectivity_state_name(actual), (int)i);
- abort();
- }
- }
-
- gpr_free(expected_connection_sequence);
-}
-
-/* At the start of the second iteration, all but the first and last servers (as
- * given in "f") are killed */
-static void verify_vanishing_floor_round_robin(
- const servers_fixture* f, grpc_channel* client,
- const request_sequences* sequences, const size_t num_iters) {
- int* expected_connection_sequence;
- const size_t expected_seq_length = 2;
- size_t i;
-
- /* verify conn. seq. expectation */
- /* copy the first full sequence (without -1s) */
- expected_connection_sequence =
- static_cast<int*>(gpr_malloc(sizeof(int) * expected_seq_length));
- memcpy(expected_connection_sequence, sequences->connections + 2,
- expected_seq_length * sizeof(int));
-
- /* first two elements of the sequence should be [0 (1st server), -1 (failure)]
- */
- GPR_ASSERT(sequences->connections[0] == 0);
- GPR_ASSERT(sequences->connections[1] == -1);
-
- /* the next two element must be [3, 0], repeating from that point: the 3 is
- * brought forth by servers 1 and 2 disappearing after the intial pick of 0 */
- GPR_ASSERT(sequences->connections[2] == 3);
- GPR_ASSERT(sequences->connections[3] == 0);
-
- /* make sure that the expectation obliges */
- for (i = 2; i < num_iters; i++) {
- const int actual = sequences->connections[i];
- const int expected = expected_connection_sequence[i % expected_seq_length];
- if (actual != expected) {
- print_failed_expectations(expected_connection_sequence,
- sequences->connections, expected_seq_length,
- num_iters);
- abort();
- }
- }
-
- /* There's always at least one subchannel READY (connected), therefore the
- * overall state of the client channel is READY at all times. */
- for (i = 0; i < sequences->n; i++) {
- const grpc_connectivity_state actual =
- static_cast<grpc_connectivity_state>(sequences->connectivity_states[i]);
- const grpc_connectivity_state expected = GRPC_CHANNEL_READY;
- if (actual != expected) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: expected '%s', got '%s' "
- "at iteration #%d",
- grpc_connectivity_state_name(expected),
- grpc_connectivity_state_name(actual), (int)i);
- abort();
- }
- }
-
- gpr_free(expected_connection_sequence);
-}
-
-static void verify_total_carnage_round_robin(const servers_fixture* f,
- grpc_channel* client,
- const request_sequences* sequences,
- const size_t num_iters) {
- for (size_t i = 0; i < num_iters; i++) {
- const int actual = sequences->connections[i];
- const int expected = -1;
- if (actual != expected) {
- gpr_log(
- GPR_ERROR,
- "CONNECTION SEQUENCE FAILURE: expected %d, got %d at iteration #%d",
- expected, actual, (int)i);
- abort();
- }
- }
-
- /* No server is ever available. There should be no READY states (or SHUTDOWN).
- * Note that all other states (IDLE, CONNECTING, TRANSIENT_FAILURE) are still
- * possible, as the policy transitions while attempting to reconnect. */
- for (size_t i = 0; i < sequences->n; i++) {
- const grpc_connectivity_state actual =
- static_cast<grpc_connectivity_state>(sequences->connectivity_states[i]);
- if (actual == GRPC_CHANNEL_READY || actual == GRPC_CHANNEL_SHUTDOWN) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: got unexpected state "
- "'%s' at iteration #%d.",
- grpc_connectivity_state_name(actual), (int)i);
- abort();
- }
- }
-}
-
-static void verify_partial_carnage_round_robin(
- const servers_fixture* f, grpc_channel* client,
- const request_sequences* sequences, const size_t num_iters) {
- int* expected_connection_sequence;
- size_t i;
- const size_t expected_seq_length = f->num_servers;
-
- /* verify conn. seq. expectation */
- /* get the first sequence of "num_servers" elements */
- expected_connection_sequence =
- static_cast<int*>(gpr_malloc(sizeof(int) * expected_seq_length));
- memcpy(expected_connection_sequence, sequences->connections,
- sizeof(int) * expected_seq_length);
-
- for (i = 0; i < num_iters / 2; i++) {
- const int actual = sequences->connections[i];
- const int expected = expected_connection_sequence[i % expected_seq_length];
- if (actual != expected) {
- print_failed_expectations(expected_connection_sequence,
- sequences->connections, expected_seq_length,
- num_iters);
- abort();
- }
- }
-
- /* second half of the iterations go without response */
- for (; i < num_iters; i++) {
- GPR_ASSERT(sequences->connections[i] == -1);
- }
-
- /* We can assert that the first client channel state should be READY, when all
- * servers were available */
- grpc_connectivity_state actual =
- static_cast<grpc_connectivity_state>(sequences->connectivity_states[0]);
- grpc_connectivity_state expected = GRPC_CHANNEL_READY;
- if (actual != expected) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: expected '%s', got '%s' "
- "at iteration #%d",
- grpc_connectivity_state_name(expected),
- grpc_connectivity_state_name(actual), 0);
- abort();
- }
-
- /* ... and that the last one shouldn't be READY (or SHUTDOWN): all servers are
- * gone. It may be all other states (IDLE, CONNECTING, TRANSIENT_FAILURE), as
- * the policy transitions while attempting to reconnect. */
- actual = static_cast<grpc_connectivity_state>(
- sequences->connectivity_states[num_iters - 1]);
- for (i = 0; i < sequences->n; i++) {
- if (actual == GRPC_CHANNEL_READY || actual == GRPC_CHANNEL_SHUTDOWN) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: got unexpected state "
- "'%s' at iteration #%d.",
- grpc_connectivity_state_name(actual), (int)i);
- abort();
- }
- }
- gpr_free(expected_connection_sequence);
-}
-
-static void dump_array(const char* desc, const int* data, const size_t count) {
- gpr_strvec s;
- char* tmp;
- size_t i;
- gpr_strvec_init(&s);
- gpr_strvec_add(&s, gpr_strdup(desc));
- gpr_strvec_add(&s, gpr_strdup(":"));
- for (i = 0; i < count; i++) {
- gpr_asprintf(&tmp, " %d", data[i]);
- gpr_strvec_add(&s, tmp);
- }
- tmp = gpr_strvec_flatten(&s, nullptr);
- gpr_strvec_destroy(&s);
- gpr_log(GPR_DEBUG, "%s", tmp);
- gpr_free(tmp);
-}
-
-static void verify_rebirth_round_robin(const servers_fixture* f,
- grpc_channel* client,
- const request_sequences* sequences,
- const size_t num_iters) {
- dump_array("actual_connection_sequence", sequences->connections, num_iters);
-
- /* first iteration succeeds */
- GPR_ASSERT(sequences->connections[0] != -1);
- /* then we fail for a while... */
- GPR_ASSERT(sequences->connections[1] == -1);
- /* ... but should be up eventually */
- size_t first_iter_back_up = ~0ul;
- for (size_t i = 2; i < sequences->n; ++i) {
- if (sequences->connections[i] != -1) {
- first_iter_back_up = i;
- break;
- }
- }
- GPR_ASSERT(first_iter_back_up != ~0ul);
-
- /* We can assert that the first client channel state should be READY, when all
- * servers were available; same thing for the last one. In the middle
- * somewhere there must exist at least one TRANSIENT_FAILURE */
- grpc_connectivity_state actual =
- static_cast<grpc_connectivity_state>(sequences->connectivity_states[0]);
- grpc_connectivity_state expected = GRPC_CHANNEL_READY;
- if (actual != expected) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: expected '%s', got '%s' "
- "at iteration #%d",
- grpc_connectivity_state_name(expected),
- grpc_connectivity_state_name(actual), 0);
- abort();
- }
-
- actual = static_cast<grpc_connectivity_state>(
- sequences->connectivity_states[num_iters - 1]);
- expected = GRPC_CHANNEL_READY;
- if (actual != expected) {
- gpr_log(GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: expected '%s', got '%s' "
- "at iteration #%d",
- grpc_connectivity_state_name(expected),
- grpc_connectivity_state_name(actual), (int)num_iters - 1);
- abort();
- }
-
- bool found_failure_status = false;
- for (size_t i = 1; i < sequences->n - 1; i++) {
- if (sequences->connectivity_states[i] == GRPC_CHANNEL_TRANSIENT_FAILURE) {
- found_failure_status = true;
- break;
- }
- }
- if (!found_failure_status) {
- gpr_log(
- GPR_ERROR,
- "CONNECTIVITY STATUS SEQUENCE FAILURE: "
- "GRPC_CHANNEL_TRANSIENT_FAILURE status not found. Got the following "
- "instead:");
- for (size_t i = 0; i < num_iters; i++) {
- gpr_log(GPR_ERROR, "[%d]: %s", (int)i,
- grpc_connectivity_state_name(static_cast<grpc_connectivity_state>(
- sequences->connectivity_states[i])));
- }
- }
-}
-
-int main(int argc, char** argv) {
- grpc_core::ExecCtx exec_ctx;
- test_spec* spec;
- size_t i;
- const size_t NUM_ITERS = 10;
- const size_t NUM_SERVERS = 4;
-
- grpc_init();
- grpc_test_init(argc, argv);
- grpc_tracer_set_enabled("round_robin", 1);
-
- GPR_ASSERT(grpc_lb_policy_create("this-lb-policy-does-not-exist", nullptr) ==
- nullptr);
- GPR_ASSERT(grpc_lb_policy_create(nullptr, nullptr) == nullptr);
-
- spec = test_spec_create(NUM_ITERS, NUM_SERVERS);
- /* everything is fine, all servers stay up the whole time and life's peachy
- */
- spec->verifier = verify_vanilla_round_robin;
- spec->description = "test_all_server_up";
- run_spec(spec);
-
- /* Kill all servers first thing in the morning */
- test_spec_reset(spec);
- spec->verifier = verify_total_carnage_round_robin;
- spec->description = "test_kill_all_server";
- for (i = 0; i < NUM_SERVERS; i++) {
- spec->kill_at[0][i] = 1;
- }
- run_spec(spec);
-
- /* at the start of the 2nd iteration, kill all but the first and last
- * servers.
- * This should knock down the server bound to be selected next */
- test_spec_reset(spec);
- spec->verifier = verify_vanishing_floor_round_robin;
- spec->description = "test_kill_middle_servers_at_2nd_iteration";
- for (i = 1; i < NUM_SERVERS - 1; i++) {
- spec->kill_at[1][i] = 1;
- }
- run_spec(spec);
-
- /* Midway, kill all servers. */
- test_spec_reset(spec);
- spec->verifier = verify_partial_carnage_round_robin;
- spec->description = "test_kill_all_server_midway";
- for (i = 0; i < NUM_SERVERS; i++) {
- spec->kill_at[spec->num_iters / 2][i] = 1;
- }
- run_spec(spec);
-
- /* After first iteration, kill all servers. On the third one, bring them all
- * back up. */
- test_spec_reset(spec);
- spec->verifier = verify_rebirth_round_robin;
- spec->description = "test_kill_all_server_after_1st_resurrect_at_3rd";
- for (i = 0; i < NUM_SERVERS; i++) {
- spec->kill_at[1][i] = 1;
- spec->revive_at[3][i] = 1;
- }
- run_spec(spec);
- test_spec_destroy(spec);
-
- test_pending_calls(4);
- test_ping();
- test_get_channel_info();
-
- grpc_shutdown();
- return 0;
-}
diff --git a/test/core/client_channel/parse_address_test.cc b/test/core/client_channel/parse_address_test.cc
index 6d56961d84..373ed76cbe 100644
--- a/test/core/client_channel/parse_address_test.cc
+++ b/test/core/client_channel/parse_address_test.cc
@@ -39,7 +39,8 @@ static void test_grpc_parse_unix(const char* uri_text, const char* pathname) {
grpc_resolved_address addr;
GPR_ASSERT(1 == grpc_parse_unix(uri, &addr));
- struct sockaddr_un* addr_un = (struct sockaddr_un*)addr.addr;
+ struct sockaddr_un* addr_un =
+ reinterpret_cast<struct sockaddr_un*>(addr.addr);
GPR_ASSERT(AF_UNIX == addr_un->sun_family);
GPR_ASSERT(0 == strcmp(addr_un->sun_path, pathname));
@@ -60,7 +61,8 @@ static void test_grpc_parse_ipv4(const char* uri_text, const char* host,
char ntop_buf[INET_ADDRSTRLEN];
GPR_ASSERT(1 == grpc_parse_ipv4(uri, &addr));
- struct sockaddr_in* addr_in = (struct sockaddr_in*)addr.addr;
+ struct sockaddr_in* addr_in =
+ reinterpret_cast<struct sockaddr_in*>(addr.addr);
GPR_ASSERT(AF_INET == addr_in->sin_family);
GPR_ASSERT(nullptr != grpc_inet_ntop(AF_INET, &addr_in->sin_addr, ntop_buf,
sizeof(ntop_buf)));
@@ -78,7 +80,8 @@ static void test_grpc_parse_ipv6(const char* uri_text, const char* host,
char ntop_buf[INET6_ADDRSTRLEN];
GPR_ASSERT(1 == grpc_parse_ipv6(uri, &addr));
- struct sockaddr_in6* addr_in6 = (struct sockaddr_in6*)addr.addr;
+ struct sockaddr_in6* addr_in6 =
+ reinterpret_cast<struct sockaddr_in6*>(addr.addr);
GPR_ASSERT(AF_INET6 == addr_in6->sin6_family);
GPR_ASSERT(nullptr != grpc_inet_ntop(AF_INET6, &addr_in6->sin6_addr, ntop_buf,
sizeof(ntop_buf)));
diff --git a/test/core/client_channel/resolvers/BUILD b/test/core/client_channel/resolvers/BUILD
index b5269c7ef0..d8b0395846 100644
--- a/test/core/client_channel/resolvers/BUILD
+++ b/test/core/client_channel/resolvers/BUILD
@@ -43,6 +43,18 @@ grpc_cc_test(
)
grpc_cc_test(
+ name = "dns_resolver_cooldown_test",
+ srcs = ["dns_resolver_cooldown_test.cc"],
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//test/core/util:gpr_test_util",
+ "//test/core/util:grpc_test_util",
+ ],
+)
+
+grpc_cc_test(
name = "sockaddr_resolver_test",
srcs = ["sockaddr_resolver_test.cc"],
language = "C++",
diff --git a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
index 18a795fbcb..966fb1d14b 100644
--- a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
+++ b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
@@ -79,23 +79,23 @@ static grpc_ares_request* my_dns_lookup_ares(
return nullptr;
}
-static grpc_resolver* create_resolver(const char* name) {
- grpc_resolver_factory* factory = grpc_resolver_factory_lookup("dns");
+static grpc_core::OrphanablePtr<grpc_core::Resolver> create_resolver(
+ const char* name) {
+ grpc_core::ResolverFactory* factory =
+ grpc_core::ResolverRegistry::LookupResolverFactory("dns");
grpc_uri* uri = grpc_uri_parse(name, 0);
GPR_ASSERT(uri);
- grpc_resolver_args args;
- memset(&args, 0, sizeof(args));
+ grpc_core::ResolverArgs args;
args.uri = uri;
args.combiner = g_combiner;
- grpc_resolver* resolver =
- grpc_resolver_factory_create_resolver(factory, &args);
- grpc_resolver_factory_unref(factory);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
grpc_uri_destroy(uri);
return resolver;
}
static void on_done(void* ev, grpc_error* error) {
- gpr_event_set((gpr_event*)ev, (void*)1);
+ gpr_event_set(static_cast<gpr_event*>(ev), (void*)1);
}
// interleave waiting for an event with a timer check
@@ -112,7 +112,7 @@ static bool wait_loop(int deadline_seconds, gpr_event* ev) {
}
typedef struct next_args {
- grpc_resolver* resolver;
+ grpc_core::Resolver* resolver;
grpc_channel_args** result;
grpc_closure* on_complete;
} next_args;
@@ -120,21 +120,21 @@ typedef struct next_args {
static void call_resolver_next_now_lock_taken(void* arg,
grpc_error* error_unused) {
next_args* a = static_cast<next_args*>(arg);
- grpc_resolver_next_locked(a->resolver, a->result, a->on_complete);
+ a->resolver->NextLocked(a->result, a->on_complete);
gpr_free(a);
}
-static void call_resolver_next_after_locking(grpc_resolver* resolver,
+static void call_resolver_next_after_locking(grpc_core::Resolver* resolver,
grpc_channel_args** result,
- grpc_closure* on_complete) {
+ grpc_closure* on_complete,
+ grpc_combiner* combiner) {
next_args* a = static_cast<next_args*>(gpr_malloc(sizeof(*a)));
a->resolver = resolver;
a->result = result;
a->on_complete = on_complete;
- GRPC_CLOSURE_SCHED(
- GRPC_CLOSURE_CREATE(call_resolver_next_now_lock_taken, a,
- grpc_combiner_scheduler(resolver->combiner)),
- GRPC_ERROR_NONE);
+ GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(call_resolver_next_now_lock_taken, a,
+ grpc_combiner_scheduler(combiner)),
+ GRPC_ERROR_NONE);
}
int main(int argc, char** argv) {
@@ -149,12 +149,14 @@ int main(int argc, char** argv) {
{
grpc_core::ExecCtx exec_ctx;
- grpc_resolver* resolver = create_resolver("dns:test");
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ create_resolver("dns:test");
gpr_event ev1;
gpr_event_init(&ev1);
call_resolver_next_after_locking(
- resolver, &result,
- GRPC_CLOSURE_CREATE(on_done, &ev1, grpc_schedule_on_exec_ctx));
+ resolver.get(), &result,
+ GRPC_CLOSURE_CREATE(on_done, &ev1, grpc_schedule_on_exec_ctx),
+ g_combiner);
grpc_core::ExecCtx::Get()->Flush();
GPR_ASSERT(wait_loop(5, &ev1));
GPR_ASSERT(result == nullptr);
@@ -162,14 +164,14 @@ int main(int argc, char** argv) {
gpr_event ev2;
gpr_event_init(&ev2);
call_resolver_next_after_locking(
- resolver, &result,
- GRPC_CLOSURE_CREATE(on_done, &ev2, grpc_schedule_on_exec_ctx));
+ resolver.get(), &result,
+ GRPC_CLOSURE_CREATE(on_done, &ev2, grpc_schedule_on_exec_ctx),
+ g_combiner);
grpc_core::ExecCtx::Get()->Flush();
GPR_ASSERT(wait_loop(30, &ev2));
GPR_ASSERT(result != nullptr);
grpc_channel_args_destroy(result);
- GRPC_RESOLVER_UNREF(resolver, "test");
GRPC_COMBINER_UNREF(g_combiner, "test");
}
diff --git a/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc b/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
new file mode 100644
index 0000000000..9402a605b3
--- /dev/null
+++ b/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
@@ -0,0 +1,303 @@
+/*
+ *
+ * Copyright 2015 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 <cstring>
+
+#include <grpc/support/log.h>
+
+#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/gprpp/memory.h"
+#include "src/core/lib/iomgr/combiner.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "test/core/util/test_config.h"
+
+static grpc_combiner* g_combiner;
+
+static void (*g_default_grpc_resolve_address)(
+ const char* name, const char* default_port,
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
+ grpc_resolved_addresses** addrs);
+
+grpc_ares_request* (*g_default_dns_lookup_ares)(
+ const char* dns_server, const char* name, const char* default_port,
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
+ grpc_lb_addresses** addrs, bool check_grpclb, char** service_config_json);
+
+// Counter incremented by test_resolve_address_impl indicating the number of
+// times a system-level resolution has happened.
+static int g_resolution_count;
+
+struct iomgr_args {
+ gpr_event ev;
+ gpr_atm done_atm;
+ gpr_mu* mu;
+ grpc_pollset* pollset;
+ grpc_pollset_set* pollset_set;
+} g_iomgr_args;
+
+// Wrapper around g_default_grpc_resolve_address in order to count the number of
+// times we incur in a system-level name resolution.
+static void test_resolve_address_impl(const char* name,
+ const char* default_port,
+ grpc_pollset_set* interested_parties,
+ grpc_closure* on_done,
+ grpc_resolved_addresses** addrs) {
+ g_default_grpc_resolve_address(name, default_port, g_iomgr_args.pollset_set,
+ on_done, addrs);
+ ++g_resolution_count;
+}
+
+grpc_ares_request* test_dns_lookup_ares(
+ const char* dns_server, const char* name, const char* default_port,
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
+ grpc_lb_addresses** addrs, bool check_grpclb, char** service_config_json) {
+ grpc_ares_request* result = g_default_dns_lookup_ares(
+ dns_server, name, default_port, g_iomgr_args.pollset_set, on_done, addrs,
+ check_grpclb, service_config_json);
+ ++g_resolution_count;
+ return result;
+}
+
+static gpr_timespec test_deadline(void) {
+ return grpc_timeout_seconds_to_deadline(100);
+}
+
+static void do_nothing(void* arg, grpc_error* error) {}
+
+void iomgr_args_init(iomgr_args* args) {
+ gpr_event_init(&args->ev);
+ args->pollset = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
+ grpc_pollset_init(args->pollset, &args->mu);
+ args->pollset_set = grpc_pollset_set_create();
+ grpc_pollset_set_add_pollset(args->pollset_set, args->pollset);
+ gpr_atm_rel_store(&args->done_atm, 0);
+}
+
+void iomgr_args_finish(iomgr_args* args) {
+ GPR_ASSERT(gpr_event_wait(&args->ev, test_deadline()));
+ grpc_pollset_set_del_pollset(args->pollset_set, args->pollset);
+ grpc_pollset_set_destroy(args->pollset_set);
+ grpc_closure do_nothing_cb;
+ GRPC_CLOSURE_INIT(&do_nothing_cb, do_nothing, nullptr,
+ grpc_schedule_on_exec_ctx);
+ gpr_mu_lock(args->mu);
+ grpc_pollset_shutdown(args->pollset, &do_nothing_cb);
+ gpr_mu_unlock(args->mu);
+ // exec_ctx needs to be flushed before calling grpc_pollset_destroy()
+ grpc_core::ExecCtx::Get()->Flush();
+ grpc_pollset_destroy(args->pollset);
+ gpr_free(args->pollset);
+}
+
+static grpc_millis n_sec_deadline(int seconds) {
+ return grpc_timespec_to_millis_round_up(
+ grpc_timeout_seconds_to_deadline(seconds));
+}
+
+static void poll_pollset_until_request_done(iomgr_args* args) {
+ grpc_core::ExecCtx exec_ctx;
+ grpc_millis deadline = n_sec_deadline(10);
+ while (true) {
+ bool done = gpr_atm_acq_load(&args->done_atm) != 0;
+ if (done) {
+ break;
+ }
+ grpc_millis time_left = deadline - grpc_core::ExecCtx::Get()->Now();
+ gpr_log(GPR_DEBUG, "done=%d, time_left=%" PRIdPTR, done, time_left);
+ GPR_ASSERT(time_left >= 0);
+ grpc_pollset_worker* worker = nullptr;
+ gpr_mu_lock(args->mu);
+ GRPC_LOG_IF_ERROR("pollset_work", grpc_pollset_work(args->pollset, &worker,
+ n_sec_deadline(1)));
+ gpr_mu_unlock(args->mu);
+ grpc_core::ExecCtx::Get()->Flush();
+ }
+ gpr_event_set(&args->ev, (void*)1);
+}
+
+struct OnResolutionCallbackArg {
+ const char* uri_str = nullptr;
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver;
+ grpc_channel_args* result = nullptr;
+ grpc_millis delay_before_second_resolution = 0;
+ bool using_cares = false;
+};
+
+// Counter for the number of times a resolution notification callback has been
+// invoked.
+static int g_on_resolution_invocations_count;
+
+// Set to true by the last callback in the resolution chain.
+bool g_all_callbacks_invoked;
+
+void on_third_resolution(void* arg, grpc_error* error) {
+ OnResolutionCallbackArg* cb_arg = static_cast<OnResolutionCallbackArg*>(arg);
+ GPR_ASSERT(error == GRPC_ERROR_NONE);
+ ++g_on_resolution_invocations_count;
+ grpc_channel_args_destroy(cb_arg->result);
+ gpr_log(GPR_INFO,
+ "3rd: g_on_resolution_invocations_count: %d, g_resolution_count: %d",
+ g_on_resolution_invocations_count, g_resolution_count);
+ // In this case we expect to have incurred in another system-level resolution
+ // because on_second_resolution slept for longer than the min resolution
+ // period.
+ GPR_ASSERT(g_on_resolution_invocations_count == 3);
+ GPR_ASSERT(g_resolution_count == 2);
+ cb_arg->resolver.reset();
+ if (cb_arg->using_cares) {
+ gpr_atm_rel_store(&g_iomgr_args.done_atm, 1);
+ gpr_mu_lock(g_iomgr_args.mu);
+ GRPC_LOG_IF_ERROR("pollset_kick",
+ grpc_pollset_kick(g_iomgr_args.pollset, nullptr));
+ gpr_mu_unlock(g_iomgr_args.mu);
+ }
+ grpc_core::Delete(cb_arg);
+ g_all_callbacks_invoked = true;
+}
+
+void on_second_resolution(void* arg, grpc_error* error) {
+ OnResolutionCallbackArg* cb_arg = static_cast<OnResolutionCallbackArg*>(arg);
+ ++g_on_resolution_invocations_count;
+ grpc_channel_args_destroy(cb_arg->result);
+
+ gpr_log(GPR_INFO,
+ "2nd: g_on_resolution_invocations_count: %d, g_resolution_count: %d",
+ g_on_resolution_invocations_count, g_resolution_count);
+ // The resolution request for which this function is the callback happened
+ // before the min resolution period. Therefore, no new system-level
+ // resolutions happened, as indicated by g_resolution_count.
+ GPR_ASSERT(g_on_resolution_invocations_count == 2);
+ GPR_ASSERT(g_resolution_count == 1);
+ grpc_core::ExecCtx::Get()->TestOnlySetNow(
+ cb_arg->delay_before_second_resolution * 2);
+ cb_arg->resolver->NextLocked(
+ &cb_arg->result,
+ GRPC_CLOSURE_CREATE(on_third_resolution, arg,
+ grpc_combiner_scheduler(g_combiner)));
+ cb_arg->resolver->RequestReresolutionLocked();
+ if (cb_arg->using_cares) {
+ gpr_mu_lock(g_iomgr_args.mu);
+ GRPC_LOG_IF_ERROR("pollset_kick",
+ grpc_pollset_kick(g_iomgr_args.pollset, nullptr));
+ gpr_mu_unlock(g_iomgr_args.mu);
+ }
+}
+
+void on_first_resolution(void* arg, grpc_error* error) {
+ OnResolutionCallbackArg* cb_arg = static_cast<OnResolutionCallbackArg*>(arg);
+ ++g_on_resolution_invocations_count;
+ grpc_channel_args_destroy(cb_arg->result);
+ cb_arg->resolver->NextLocked(
+ &cb_arg->result,
+ GRPC_CLOSURE_CREATE(on_second_resolution, arg,
+ grpc_combiner_scheduler(g_combiner)));
+ cb_arg->resolver->RequestReresolutionLocked();
+ gpr_log(GPR_INFO,
+ "1st: g_on_resolution_invocations_count: %d, g_resolution_count: %d",
+ g_on_resolution_invocations_count, g_resolution_count);
+ // Theres one initial system-level resolution and one invocation of a
+ // notification callback (the current function).
+ GPR_ASSERT(g_on_resolution_invocations_count == 1);
+ GPR_ASSERT(g_resolution_count == 1);
+ if (cb_arg->using_cares) {
+ gpr_mu_lock(g_iomgr_args.mu);
+ GRPC_LOG_IF_ERROR("pollset_kick",
+ grpc_pollset_kick(g_iomgr_args.pollset, nullptr));
+ gpr_mu_unlock(g_iomgr_args.mu);
+ }
+}
+
+static void start_test_under_combiner(void* arg, grpc_error* error) {
+ OnResolutionCallbackArg* res_cb_arg =
+ static_cast<OnResolutionCallbackArg*>(arg);
+
+ grpc_core::ResolverFactory* factory =
+ grpc_core::ResolverRegistry::LookupResolverFactory("dns");
+ grpc_uri* uri = grpc_uri_parse(res_cb_arg->uri_str, 0);
+ gpr_log(GPR_DEBUG, "test: '%s' should be valid for '%s'", res_cb_arg->uri_str,
+ factory->scheme());
+ GPR_ASSERT(uri != nullptr);
+ grpc_core::ResolverArgs args;
+ args.uri = uri;
+ args.combiner = g_combiner;
+ g_on_resolution_invocations_count = 0;
+ g_resolution_count = 0;
+ constexpr int kMinResolutionPeriodMs = 1000;
+
+ grpc_arg cooldown_arg;
+ cooldown_arg.key =
+ const_cast<char*>(GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS);
+ cooldown_arg.type = GRPC_ARG_INTEGER;
+ cooldown_arg.value.integer = kMinResolutionPeriodMs;
+ auto* cooldown_channel_args =
+ grpc_channel_args_copy_and_add(nullptr, &cooldown_arg, 1);
+ args.args = cooldown_channel_args;
+ res_cb_arg->resolver = factory->CreateResolver(args);
+ grpc_channel_args_destroy(cooldown_channel_args);
+ GPR_ASSERT(res_cb_arg->resolver != nullptr);
+ res_cb_arg->delay_before_second_resolution = kMinResolutionPeriodMs;
+ // First resolution, would incur in system-level resolution.
+ res_cb_arg->resolver->NextLocked(
+ &res_cb_arg->result,
+ GRPC_CLOSURE_CREATE(on_first_resolution, res_cb_arg,
+ grpc_combiner_scheduler(g_combiner)));
+ grpc_uri_destroy(uri);
+}
+
+static void test_cooldown(bool using_cares) {
+ grpc_core::ExecCtx exec_ctx;
+ if (using_cares) iomgr_args_init(&g_iomgr_args);
+ OnResolutionCallbackArg* res_cb_arg =
+ grpc_core::New<OnResolutionCallbackArg>();
+ res_cb_arg->uri_str = "dns:127.0.0.1";
+ res_cb_arg->using_cares = using_cares;
+
+ GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(start_test_under_combiner, res_cb_arg,
+ grpc_combiner_scheduler(g_combiner)),
+ GRPC_ERROR_NONE);
+ if (using_cares) {
+ grpc_core::ExecCtx::Get()->Flush();
+ poll_pollset_until_request_done(&g_iomgr_args);
+ iomgr_args_finish(&g_iomgr_args);
+ }
+}
+
+int main(int argc, char** argv) {
+ grpc_test_init(argc, argv);
+ grpc_init();
+
+ g_combiner = grpc_combiner_create();
+
+ const bool using_cares = (grpc_resolve_address == grpc_resolve_address_ares);
+ g_default_grpc_resolve_address = grpc_resolve_address;
+ g_default_dns_lookup_ares = grpc_dns_lookup_ares;
+ grpc_dns_lookup_ares = test_dns_lookup_ares;
+ grpc_resolve_address = test_resolve_address_impl;
+
+ test_cooldown(using_cares);
+
+ {
+ grpc_core::ExecCtx exec_ctx;
+ GRPC_COMBINER_UNREF(g_combiner, "test");
+ }
+ grpc_shutdown();
+ GPR_ASSERT(g_all_callbacks_invoked);
+ return 0;
+}
diff --git a/test/core/client_channel/resolvers/dns_resolver_test.cc b/test/core/client_channel/resolvers/dns_resolver_test.cc
index 80667908ef..e3fba2838c 100644
--- a/test/core/client_channel/resolvers/dns_resolver_test.cc
+++ b/test/core/client_channel/resolvers/dns_resolver_test.cc
@@ -27,47 +27,46 @@
static grpc_combiner* g_combiner;
-static void test_succeeds(grpc_resolver_factory* factory, const char* string) {
+static void test_succeeds(grpc_core::ResolverFactory* factory,
+ const char* string) {
+ gpr_log(GPR_DEBUG, "test: '%s' should be valid for '%s'", string,
+ factory->scheme());
grpc_core::ExecCtx exec_ctx;
grpc_uri* uri = grpc_uri_parse(string, 0);
- grpc_resolver_args args;
- grpc_resolver* resolver;
- gpr_log(GPR_DEBUG, "test: '%s' should be valid for '%s'", string,
- factory->vtable->scheme);
GPR_ASSERT(uri);
- memset(&args, 0, sizeof(args));
+ grpc_core::ResolverArgs args;
args.uri = uri;
args.combiner = g_combiner;
- resolver = grpc_resolver_factory_create_resolver(factory, &args);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
GPR_ASSERT(resolver != nullptr);
- GRPC_RESOLVER_UNREF(resolver, "test_succeeds");
grpc_uri_destroy(uri);
}
-static void test_fails(grpc_resolver_factory* factory, const char* string) {
+static void test_fails(grpc_core::ResolverFactory* factory,
+ const char* string) {
+ gpr_log(GPR_DEBUG, "test: '%s' should be invalid for '%s'", string,
+ factory->scheme());
grpc_core::ExecCtx exec_ctx;
grpc_uri* uri = grpc_uri_parse(string, 0);
- grpc_resolver_args args;
- grpc_resolver* resolver;
- gpr_log(GPR_DEBUG, "test: '%s' should be invalid for '%s'", string,
- factory->vtable->scheme);
GPR_ASSERT(uri);
- memset(&args, 0, sizeof(args));
+ grpc_core::ResolverArgs args;
args.uri = uri;
args.combiner = g_combiner;
- resolver = grpc_resolver_factory_create_resolver(factory, &args);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
GPR_ASSERT(resolver == nullptr);
grpc_uri_destroy(uri);
}
int main(int argc, char** argv) {
- grpc_resolver_factory* dns;
grpc_test_init(argc, argv);
grpc_init();
g_combiner = grpc_combiner_create();
- dns = grpc_resolver_factory_lookup("dns");
+ grpc_core::ResolverFactory* dns =
+ grpc_core::ResolverRegistry::LookupResolverFactory("dns");
test_succeeds(dns, "dns:10.2.1.1");
test_succeeds(dns, "dns:10.2.1.1:1234");
@@ -78,7 +77,6 @@ int main(int argc, char** argv) {
test_fails(dns, "ipv4://8.8.8.8/8.8.8.8:8888");
}
- grpc_resolver_factory_unref(dns);
{
grpc_core::ExecCtx exec_ctx;
GRPC_COMBINER_UNREF(g_combiner, "test");
diff --git a/test/core/client_channel/resolvers/fake_resolver_test.cc b/test/core/client_channel/resolvers/fake_resolver_test.cc
index d85cbb1d03..03af8954e1 100644
--- a/test/core/client_channel/resolvers/fake_resolver_test.cc
+++ b/test/core/client_channel/resolvers/fake_resolver_test.cc
@@ -27,25 +27,26 @@
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include "src/core/ext/filters/client_channel/resolver_registry.h"
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "test/core/util/test_config.h"
-static grpc_resolver* build_fake_resolver(
+static grpc_core::OrphanablePtr<grpc_core::Resolver> build_fake_resolver(
grpc_combiner* combiner,
- grpc_fake_resolver_response_generator* response_generator) {
- grpc_resolver_factory* factory = grpc_resolver_factory_lookup("fake");
+ grpc_core::FakeResolverResponseGenerator* response_generator) {
+ grpc_core::ResolverFactory* factory =
+ grpc_core::ResolverRegistry::LookupResolverFactory("fake");
grpc_arg generator_arg =
- grpc_fake_resolver_response_generator_arg(response_generator);
- grpc_resolver_args args;
- memset(&args, 0, sizeof(args));
+ grpc_core::FakeResolverResponseGenerator::MakeChannelArg(
+ response_generator);
grpc_channel_args channel_args = {1, &generator_arg};
+ grpc_core::ResolverArgs args;
args.args = &channel_args;
args.combiner = combiner;
- grpc_resolver* resolver =
- grpc_resolver_factory_create_resolver(factory, &args);
- grpc_resolver_factory_unref(factory);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
return resolver;
}
@@ -55,11 +56,13 @@ typedef struct on_resolution_arg {
gpr_event ev;
} on_resolution_arg;
+// Callback to check the resolution result is as expected.
void on_resolution_cb(void* arg, grpc_error* error) {
+ if (error != GRPC_ERROR_NONE) return;
on_resolution_arg* res = static_cast<on_resolution_arg*>(arg);
// We only check the addresses channel arg because that's the only one
// explicitly set by the test via
- // grpc_fake_resolver_response_generator_set_response.
+ // FakeResolverResponseGenerator::SetResponse().
const grpc_lb_addresses* actual_lb_addresses =
grpc_lb_addresses_find_channel_arg(res->resolver_result);
const grpc_lb_addresses* expected_lb_addresses =
@@ -71,97 +74,167 @@ void on_resolution_cb(void* arg, grpc_error* error) {
gpr_event_set(&res->ev, (void*)1);
}
-static void test_fake_resolver() {
- grpc_core::ExecCtx exec_ctx;
- grpc_combiner* combiner = grpc_combiner_create();
- // Create resolver.
- grpc_fake_resolver_response_generator* response_generator =
- grpc_fake_resolver_response_generator_create();
- grpc_resolver* resolver = build_fake_resolver(combiner, response_generator);
- GPR_ASSERT(resolver != nullptr);
-
- // Setup expectations.
- grpc_uri* uris[] = {grpc_uri_parse("ipv4:10.2.1.1:1234", true),
- grpc_uri_parse("ipv4:127.0.0.1:4321", true)};
- const char* balancer_names[] = {"name1", "name2"};
- const bool is_balancer[] = {true, false};
- grpc_lb_addresses* addresses = grpc_lb_addresses_create(3, nullptr);
- for (size_t i = 0; i < GPR_ARRAY_SIZE(uris); ++i) {
+// Create a new resolution containing 2 addresses.
+static grpc_channel_args* create_new_resolver_result() {
+ static size_t test_counter = 0;
+ const size_t num_addresses = 2;
+ char* uri_string;
+ char* balancer_name;
+ // Create grpc_lb_addresses.
+ grpc_lb_addresses* addresses =
+ grpc_lb_addresses_create(num_addresses, nullptr);
+ for (size_t i = 0; i < num_addresses; ++i) {
+ gpr_asprintf(&uri_string, "ipv4:127.0.0.1:100%" PRIuPTR,
+ test_counter * num_addresses + i);
+ grpc_uri* uri = grpc_uri_parse(uri_string, true);
+ gpr_asprintf(&balancer_name, "balancer%" PRIuPTR,
+ test_counter * num_addresses + i);
grpc_lb_addresses_set_address_from_uri(
- addresses, i, uris[i], is_balancer[i], balancer_names[i], nullptr);
- grpc_uri_destroy(uris[i]);
+ addresses, i, uri, bool(num_addresses % 2), balancer_name, nullptr);
+ gpr_free(balancer_name);
+ grpc_uri_destroy(uri);
+ gpr_free(uri_string);
}
+ // Convert grpc_lb_addresses to grpc_channel_args.
const grpc_arg addresses_arg =
grpc_lb_addresses_create_channel_arg(addresses);
grpc_channel_args* results =
grpc_channel_args_copy_and_add(nullptr, &addresses_arg, 1);
grpc_lb_addresses_destroy(addresses);
+ ++test_counter;
+ return results;
+}
+
+static on_resolution_arg create_on_resolution_arg(grpc_channel_args* results) {
on_resolution_arg on_res_arg;
memset(&on_res_arg, 0, sizeof(on_res_arg));
on_res_arg.expected_resolver_result = results;
gpr_event_init(&on_res_arg.ev);
+ return on_res_arg;
+}
+
+static void test_fake_resolver() {
+ grpc_core::ExecCtx exec_ctx;
+ grpc_combiner* combiner = grpc_combiner_create();
+ // Create resolver.
+ grpc_core::RefCountedPtr<grpc_core::FakeResolverResponseGenerator>
+ response_generator =
+ grpc_core::MakeRefCounted<grpc_core::FakeResolverResponseGenerator>();
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ build_fake_resolver(combiner, response_generator.get());
+ GPR_ASSERT(resolver.get() != nullptr);
+ // Test 1: normal resolution.
+ // next_results != NULL, reresolution_results == NULL, last_used_results ==
+ // NULL. Expected response is next_results.
+ grpc_channel_args* results = create_new_resolver_result();
+ on_resolution_arg on_res_arg = create_on_resolution_arg(results);
grpc_closure* on_resolution = GRPC_CLOSURE_CREATE(
on_resolution_cb, &on_res_arg, grpc_combiner_scheduler(combiner));
-
- // Set resolver results and trigger first resolution. on_resolution_cb
- // performs the checks.
- grpc_fake_resolver_response_generator_set_response(response_generator,
- results);
- grpc_resolver_next_locked(resolver, &on_res_arg.resolver_result,
- on_resolution);
+ // Resolution won't be triggered until next_results is set.
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ response_generator->SetResponse(results);
grpc_core::ExecCtx::Get()->Flush();
GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
grpc_timeout_seconds_to_deadline(5)) != nullptr);
-
- // Setup update.
- grpc_uri* uris_update[] = {grpc_uri_parse("ipv4:192.168.1.0:31416", true)};
- const char* balancer_names_update[] = {"name3"};
- const bool is_balancer_update[] = {false};
- grpc_lb_addresses* addresses_update = grpc_lb_addresses_create(1, nullptr);
- for (size_t i = 0; i < GPR_ARRAY_SIZE(uris_update); ++i) {
- grpc_lb_addresses_set_address_from_uri(addresses_update, i, uris_update[i],
- is_balancer_update[i],
- balancer_names_update[i], nullptr);
- grpc_uri_destroy(uris_update[i]);
- }
-
- grpc_arg addresses_update_arg =
- grpc_lb_addresses_create_channel_arg(addresses_update);
- grpc_channel_args* results_update =
- grpc_channel_args_copy_and_add(nullptr, &addresses_update_arg, 1);
- grpc_lb_addresses_destroy(addresses_update);
-
- // Setup expectations for the update.
- on_resolution_arg on_res_arg_update;
- memset(&on_res_arg_update, 0, sizeof(on_res_arg_update));
- on_res_arg_update.expected_resolver_result = results_update;
- gpr_event_init(&on_res_arg_update.ev);
- on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg_update,
+ // Test 2: update resolution.
+ // next_results != NULL, reresolution_results == NULL, last_used_results !=
+ // NULL. Expected response is next_results.
+ results = create_new_resolver_result();
+ grpc_channel_args* last_used_results = grpc_channel_args_copy(results);
+ on_res_arg = create_on_resolution_arg(results);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
grpc_combiner_scheduler(combiner));
-
- // Set updated resolver results and trigger a second resolution.
- grpc_fake_resolver_response_generator_set_response(response_generator,
- results_update);
- grpc_resolver_next_locked(resolver, &on_res_arg_update.resolver_result,
- on_resolution);
+ // Resolution won't be triggered until next_results is set.
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ response_generator->SetResponse(results);
grpc_core::ExecCtx::Get()->Flush();
- GPR_ASSERT(gpr_event_wait(&on_res_arg_update.ev,
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
grpc_timeout_seconds_to_deadline(5)) != nullptr);
-
- // Requesting a new resolution without re-senting the response shouldn't
- // trigger the resolution callback.
+ // Test 3: fallback re-resolution.
+ // next_results == NULL, reresolution_results == NULL, last_used_results !=
+ // NULL. Expected response is last_used_results.
+ on_res_arg = create_on_resolution_arg(last_used_results);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ // Trigger a re-resolution.
+ resolver->RequestReresolutionLocked();
+ grpc_core::ExecCtx::Get()->Flush();
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
+ grpc_timeout_seconds_to_deadline(5)) != nullptr);
+ // Test 4: normal re-resolution.
+ // next_results == NULL, reresolution_results != NULL, last_used_results !=
+ // NULL. Expected response is reresolution_results.
+ grpc_channel_args* reresolution_results = create_new_resolver_result();
+ on_res_arg =
+ create_on_resolution_arg(grpc_channel_args_copy(reresolution_results));
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ // Set reresolution_results.
+ response_generator->SetReresolutionResponse(reresolution_results);
+ // Flush here to guarantee that the response has been set.
+ grpc_core::ExecCtx::Get()->Flush();
+ // Trigger a re-resolution.
+ resolver->RequestReresolutionLocked();
+ grpc_core::ExecCtx::Get()->Flush();
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
+ grpc_timeout_seconds_to_deadline(5)) != nullptr);
+ // Test 5: repeat re-resolution.
+ // next_results == NULL, reresolution_results != NULL, last_used_results !=
+ // NULL. Expected response is reresolution_results.
+ on_res_arg = create_on_resolution_arg(reresolution_results);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ // Trigger a re-resolution.
+ resolver->RequestReresolutionLocked();
+ grpc_core::ExecCtx::Get()->Flush();
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
+ grpc_timeout_seconds_to_deadline(5)) != nullptr);
+ // Test 6: normal resolution.
+ // next_results != NULL, reresolution_results != NULL, last_used_results !=
+ // NULL. Expected response is next_results.
+ results = create_new_resolver_result();
+ last_used_results = grpc_channel_args_copy(results);
+ on_res_arg = create_on_resolution_arg(results);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ // Resolution won't be triggered until next_results is set.
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ response_generator->SetResponse(results);
+ grpc_core::ExecCtx::Get()->Flush();
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
+ grpc_timeout_seconds_to_deadline(5)) != nullptr);
+ // Test 7: fallback re-resolution.
+ // next_results == NULL, reresolution_results == NULL, last_used_results !=
+ // NULL. Expected response is last_used_results.
+ on_res_arg = create_on_resolution_arg(last_used_results);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
+ // Reset reresolution_results.
+ response_generator->SetReresolutionResponse(nullptr);
+ // Flush here to guarantee that reresolution_results has been reset.
+ grpc_core::ExecCtx::Get()->Flush();
+ // Trigger a re-resolution.
+ resolver->RequestReresolutionLocked();
+ grpc_core::ExecCtx::Get()->Flush();
+ GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
+ grpc_timeout_seconds_to_deadline(5)) != nullptr);
+ // Test 8: no-op.
+ // Requesting a new resolution without setting the response shouldn't trigger
+ // the resolution callback.
memset(&on_res_arg, 0, sizeof(on_res_arg));
- grpc_resolver_next_locked(resolver, &on_res_arg.resolver_result,
- on_resolution);
+ on_resolution = GRPC_CLOSURE_CREATE(on_resolution_cb, &on_res_arg,
+ grpc_combiner_scheduler(combiner));
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
grpc_core::ExecCtx::Get()->Flush();
GPR_ASSERT(gpr_event_wait(&on_res_arg.ev,
grpc_timeout_milliseconds_to_deadline(100)) ==
nullptr);
-
+ // Clean up.
GRPC_COMBINER_UNREF(combiner, "test_fake_resolver");
- GRPC_RESOLVER_UNREF(resolver, "test_fake_resolver");
-
- grpc_fake_resolver_response_generator_unref(response_generator);
}
int main(int argc, char** argv) {
diff --git a/test/core/client_channel/resolvers/sockaddr_resolver_test.cc b/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
index 07ee133ee3..b9287c2468 100644
--- a/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
+++ b/test/core/client_channel/resolvers/sockaddr_resolver_test.cc
@@ -40,18 +40,18 @@ void on_resolution_cb(void* arg, grpc_error* error) {
grpc_channel_args_destroy(res->resolver_result);
}
-static void test_succeeds(grpc_resolver_factory* factory, const char* string) {
+static void test_succeeds(grpc_core::ResolverFactory* factory,
+ const char* string) {
+ gpr_log(GPR_DEBUG, "test: '%s' should be valid for '%s'", string,
+ factory->scheme());
grpc_core::ExecCtx exec_ctx;
grpc_uri* uri = grpc_uri_parse(string, 0);
- grpc_resolver_args args;
- grpc_resolver* resolver;
- gpr_log(GPR_DEBUG, "test: '%s' should be valid for '%s'", string,
- factory->vtable->scheme);
GPR_ASSERT(uri);
- memset(&args, 0, sizeof(args));
+ grpc_core::ResolverArgs args;
args.uri = uri;
args.combiner = g_combiner;
- resolver = grpc_resolver_factory_create_resolver(factory, &args);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
GPR_ASSERT(resolver != nullptr);
on_resolution_arg on_res_arg;
@@ -60,40 +60,39 @@ static void test_succeeds(grpc_resolver_factory* factory, const char* string) {
grpc_closure* on_resolution = GRPC_CLOSURE_CREATE(
on_resolution_cb, &on_res_arg, grpc_schedule_on_exec_ctx);
- grpc_resolver_next_locked(resolver, &on_res_arg.resolver_result,
- on_resolution);
- GRPC_RESOLVER_UNREF(resolver, "test_succeeds");
+ resolver->NextLocked(&on_res_arg.resolver_result, on_resolution);
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) {
+static void test_fails(grpc_core::ResolverFactory* factory,
+ const char* string) {
+ gpr_log(GPR_DEBUG, "test: '%s' should be invalid for '%s'", string,
+ factory->scheme());
grpc_core::ExecCtx exec_ctx;
grpc_uri* uri = grpc_uri_parse(string, 0);
- grpc_resolver_args args;
- grpc_resolver* resolver;
- gpr_log(GPR_DEBUG, "test: '%s' should be invalid for '%s'", string,
- factory->vtable->scheme);
GPR_ASSERT(uri);
- memset(&args, 0, sizeof(args));
+ grpc_core::ResolverArgs args;
args.uri = uri;
args.combiner = g_combiner;
- resolver = grpc_resolver_factory_create_resolver(factory, &args);
+ grpc_core::OrphanablePtr<grpc_core::Resolver> resolver =
+ factory->CreateResolver(args);
GPR_ASSERT(resolver == nullptr);
grpc_uri_destroy(uri);
}
int main(int argc, char** argv) {
- grpc_resolver_factory *ipv4, *ipv6;
grpc_test_init(argc, argv);
grpc_init();
g_combiner = grpc_combiner_create();
- ipv4 = grpc_resolver_factory_lookup("ipv4");
- ipv6 = grpc_resolver_factory_lookup("ipv6");
+ grpc_core::ResolverFactory* ipv4 =
+ grpc_core::ResolverRegistry::LookupResolverFactory("ipv4");
+ grpc_core::ResolverFactory* ipv6 =
+ grpc_core::ResolverRegistry::LookupResolverFactory("ipv6");
test_fails(ipv4, "ipv4:10.2.1.1");
test_succeeds(ipv4, "ipv4:10.2.1.1:1234");
@@ -109,9 +108,6 @@ int main(int argc, char** argv) {
test_fails(ipv6, "ipv6:[::]:123456");
test_fails(ipv6, "ipv6:www.google.com");
- grpc_resolver_factory_unref(ipv4);
- grpc_resolver_factory_unref(ipv6);
-
{
grpc_core::ExecCtx exec_ctx;
GRPC_COMBINER_UNREF(g_combiner, "test");
diff --git a/test/core/compression/algorithm_test.cc b/test/core/compression/algorithm_test.cc
index 1699d27142..3dcddf3e67 100644
--- a/test/core/compression/algorithm_test.cc
+++ b/test/core/compression/algorithm_test.cc
@@ -23,13 +23,12 @@
#include <grpc/grpc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/static_metadata.h"
#include "test/core/util/test_config.h"
-const uint32_t message_prefix_length = 8;
+const uint32_t message_prefix_length = 0;
const uint32_t stream_prefix_length = 7;
static void test_algorithm_mesh(void) {
int i;
diff --git a/test/core/compression/compression_test.cc b/test/core/compression/compression_test.cc
index e49a93a4b6..6522988c66 100644
--- a/test/core/compression/compression_test.cc
+++ b/test/core/compression/compression_test.cc
@@ -22,17 +22,16 @@
#include <grpc/compression.h>
#include <grpc/grpc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
static void test_compression_algorithm_parse(void) {
size_t i;
- const char* valid_names[] = {"identity", "message/gzip", "message/deflate",
- "stream/gzip"};
+ const char* valid_names[] = {"identity", "gzip", "deflate", "stream/gzip"};
const grpc_compression_algorithm valid_algorithms[] = {
- GRPC_COMPRESS_NONE, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_DEFLATE, GRPC_COMPRESS_STREAM_GZIP};
+ GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_DEFLATE,
+ GRPC_COMPRESS_STREAM_GZIP};
const char* invalid_names[] = {"gzip2", "foo", "", "2gzip"};
gpr_log(GPR_DEBUG, "test_compression_algorithm_parse");
@@ -61,11 +60,10 @@ static void test_compression_algorithm_name(void) {
int success;
const char* name;
size_t i;
- const char* valid_names[] = {"identity", "message/gzip", "message/deflate",
- "stream/gzip"};
+ const char* valid_names[] = {"identity", "gzip", "deflate", "stream/gzip"};
const grpc_compression_algorithm valid_algorithms[] = {
- GRPC_COMPRESS_NONE, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_DEFLATE, GRPC_COMPRESS_STREAM_GZIP};
+ GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_DEFLATE,
+ GRPC_COMPRESS_STREAM_GZIP};
gpr_log(GPR_DEBUG, "test_compression_algorithm_name");
@@ -110,21 +108,21 @@ static void test_compression_algorithm_for_level(void) {
/* accept only gzip */
uint32_t accepted_encodings = 0;
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_GZIP);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_GZIP);
GPR_ASSERT(GRPC_COMPRESS_NONE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_GZIP ==
+ GPR_ASSERT(GRPC_COMPRESS_GZIP ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_GZIP ==
+ GPR_ASSERT(GRPC_COMPRESS_GZIP ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_GZIP ==
+ GPR_ASSERT(GRPC_COMPRESS_GZIP ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH,
accepted_encodings));
}
@@ -133,21 +131,21 @@ static void test_compression_algorithm_for_level(void) {
/* accept only deflate */
uint32_t accepted_encodings = 0;
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_DEFLATE);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_DEFLATE);
GPR_ASSERT(GRPC_COMPRESS_NONE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH,
accepted_encodings));
}
@@ -156,22 +154,22 @@ static void test_compression_algorithm_for_level(void) {
/* accept gzip and deflate */
uint32_t accepted_encodings = 0;
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_GZIP);
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_DEFLATE);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_GZIP);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_DEFLATE);
GPR_ASSERT(GRPC_COMPRESS_NONE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_GZIP ==
+ GPR_ASSERT(GRPC_COMPRESS_GZIP ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH,
accepted_encodings));
}
@@ -203,23 +201,23 @@ static void test_compression_algorithm_for_level(void) {
/* accept all algorithms */
uint32_t accepted_encodings = 0;
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_GZIP);
- GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_MESSAGE_DEFLATE);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_GZIP);
+ GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_DEFLATE);
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_STREAM_GZIP);
GPR_ASSERT(GRPC_COMPRESS_NONE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_GZIP ==
+ GPR_ASSERT(GRPC_COMPRESS_GZIP ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED,
accepted_encodings));
- GPR_ASSERT(GRPC_COMPRESS_MESSAGE_DEFLATE ==
+ GPR_ASSERT(GRPC_COMPRESS_DEFLATE ==
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH,
accepted_encodings));
}
diff --git a/test/core/compression/message_compress_test.cc b/test/core/compression/message_compress_test.cc
index bab32e0cc5..e3fe825fdf 100644
--- a/test/core/compression/message_compress_test.cc
+++ b/test/core/compression/message_compress_test.cc
@@ -23,9 +23,9 @@
#include <grpc/grpc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/murmur_hash.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/slice_splitter.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/compression/stream_compression_test.cc b/test/core/compression/stream_compression_test.cc
index 2f30b7fc19..0b84366198 100644
--- a/test/core/compression/stream_compression_test.cc
+++ b/test/core/compression/stream_compression_test.cc
@@ -29,7 +29,7 @@ static void generate_random_payload(char* payload, size_t size) {
size_t i;
static const char chars[] = "abcdefghijklmnopqrstuvwxyz1234567890";
for (i = 0; i < size - 1; ++i) {
- payload[i] = chars[rand() % (int)(sizeof(chars) - 1)];
+ payload[i] = chars[rand() % static_cast<int>(sizeof(chars) - 1)];
}
payload[size - 1] = '\0';
}
@@ -43,8 +43,10 @@ static bool slice_buffer_equals_string(grpc_slice_buffer* buf,
size_t pointer = 0;
for (i = 0; i < buf->count; i++) {
size_t slice_len = GRPC_SLICE_LENGTH(buf->slices[i]);
- if (0 != strncmp(str + pointer, (char*)GRPC_SLICE_START_PTR(buf->slices[i]),
- slice_len)) {
+ if (0 !=
+ strncmp(str + pointer,
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(buf->slices[i]),
+ slice_len)) {
return false;
}
pointer += slice_len;
@@ -112,7 +114,7 @@ test_stream_compression_simple_compress_decompress_with_output_size_constraint()
GPR_ASSERT(output_size == max_output_size);
GPR_ASSERT(end_of_context == false);
grpc_slice slice_recv = grpc_slice_buffer_take_first(&sink);
- char* str_recv = (char*)GRPC_SLICE_START_PTR(slice_recv);
+ char* str_recv = reinterpret_cast<char*> GRPC_SLICE_START_PTR(slice_recv);
GPR_ASSERT(GRPC_SLICE_LENGTH(slice_recv) == max_output_size);
GPR_ASSERT(0 == strncmp(test_str, str_recv, max_output_size));
grpc_slice_unref(slice_recv);
diff --git a/test/core/end2end/bad_server_response_test.cc b/test/core/end2end/bad_server_response_test.cc
index a8e5e291c8..79331bca6f 100644
--- a/test/core/end2end/bad_server_response_test.cc
+++ b/test/core/end2end/bad_server_response_test.cc
@@ -27,10 +27,10 @@
#include <grpc/grpc.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/slice/slice_internal.h"
@@ -133,7 +133,7 @@ static void on_connect(void* arg, grpc_endpoint* tcp,
grpc_pollset* accepting_pollset,
grpc_tcp_server_acceptor* acceptor) {
gpr_free(acceptor);
- test_tcp_server* server = (test_tcp_server*)arg;
+ test_tcp_server* server = static_cast<test_tcp_server*>(arg);
GRPC_CLOSURE_INIT(&on_read, handle_read, nullptr, grpc_schedule_on_exec_ctx);
GRPC_CLOSURE_INIT(&on_write, done_write, nullptr, grpc_schedule_on_exec_ctx);
grpc_slice_buffer_init(&state.temp_incoming_buffer);
@@ -196,8 +196,8 @@ static void start_rpc(int target_port, grpc_status_code expected_status,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(state.call, ops, (size_t)(op - ops), tag(1),
- nullptr);
+ error = grpc_call_start_batch(state.call, ops, static_cast<size_t>(op - ops),
+ tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
@@ -236,7 +236,7 @@ typedef struct {
} poll_args;
static void actually_poll_server(void* arg) {
- poll_args* pa = (poll_args*)arg;
+ poll_args* pa = static_cast<poll_args*>(arg);
gpr_timespec deadline = n_sec_deadline(10);
while (true) {
bool done = gpr_atm_acq_load(&state.done_atm) != 0;
@@ -258,7 +258,7 @@ static void poll_server_until_read_done(test_tcp_server* server,
gpr_atm_rel_store(&state.done_atm, 0);
state.write_done = 0;
gpr_thd_id id;
- poll_args* pa = (poll_args*)gpr_malloc(sizeof(*pa));
+ poll_args* pa = static_cast<poll_args*>(gpr_malloc(sizeof(*pa)));
pa->server = server;
pa->signal_when_done = signal_when_done;
gpr_thd_new(&id, "grpc_poll_server", actually_poll_server, pa, nullptr);
diff --git a/test/core/end2end/connection_refused_test.cc b/test/core/end2end/connection_refused_test.cc
index ca6d17e7c8..ff830b47cd 100644
--- a/test/core/end2end/connection_refused_test.cc
+++ b/test/core/end2end/connection_refused_test.cc
@@ -20,11 +20,11 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/service_config.h"
diff --git a/test/core/end2end/cq_verifier.cc b/test/core/end2end/cq_verifier.cc
index 7bf8ae0f6e..c3a3f43fe1 100644
--- a/test/core/end2end/cq_verifier.cc
+++ b/test/core/end2end/cq_verifier.cc
@@ -28,7 +28,6 @@
#include <grpc/support/log.h>
#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/surface/event_string.h"
@@ -62,7 +61,7 @@ struct cq_verifier {
};
cq_verifier* cq_verifier_create(grpc_completion_queue* cq) {
- cq_verifier* v = (cq_verifier*)gpr_malloc(sizeof(cq_verifier));
+ cq_verifier* v = static_cast<cq_verifier*>(gpr_malloc(sizeof(cq_verifier)));
v->cq = cq;
v->first_expectation = nullptr;
return v;
@@ -306,7 +305,7 @@ void cq_verify_empty(cq_verifier* v) { cq_verify_empty_timeout(v, 1); }
static void add(cq_verifier* v, const char* file, int line,
grpc_completion_type type, void* tag, bool success) {
- expectation* e = (expectation*)gpr_malloc(sizeof(expectation));
+ expectation* e = static_cast<expectation*>(gpr_malloc(sizeof(expectation)));
e->type = type;
e->file = file;
e->line = line;
diff --git a/test/core/end2end/dualstack_socket_test.cc b/test/core/end2end/dualstack_socket_test.cc
index bb30547cd2..411d0f2308 100644
--- a/test/core/end2end/dualstack_socket_test.cc
+++ b/test/core/end2end/dualstack_socket_test.cc
@@ -25,10 +25,10 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/resolve_address.h"
@@ -128,8 +128,8 @@ void test_connect(const char* server_host, const char* client_host, int port,
grpc_slice_buffer uri_parts;
char** hosts_with_port;
- uri_slice =
- grpc_slice_new((char*)client_host, strlen(client_host), do_nothing);
+ uri_slice = grpc_slice_new(const_cast<char*>(client_host),
+ strlen(client_host), do_nothing);
grpc_slice_buffer_init(&uri_parts);
grpc_slice_split(uri_slice, ",", &uri_parts);
hosts_with_port =
@@ -199,7 +199,8 @@ void test_connect(const char* server_host, const char* client_host, int port,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
if (expect_ok) {
@@ -227,8 +228,8 @@ void test_connect(const char* server_host, const char* client_host, int port,
op->data.recv_close_on_server.cancelled = &was_cancelled;
op->flags = 0;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/end2end_test.sh b/test/core/end2end/end2end_test.sh
index 3b18ae30af..b1b9a65a1b 100755
--- a/test/core/end2end/end2end_test.sh
+++ b/test/core/end2end/end2end_test.sh
@@ -15,4 +15,4 @@
# 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.
-$1 $2
+"$1" "$2"
diff --git a/test/core/end2end/fixtures/h2_census.cc b/test/core/end2end/fixtures/h2_census.cc
index 75c80aa1ff..423764ad07 100644
--- a/test/core/end2end/fixtures/h2_census.cc
+++ b/test/core/end2end/fixtures/h2_census.cc
@@ -21,16 +21,16 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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_args.h"
#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/gpr/host_port.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_compress.cc b/test/core/end2end/fixtures/h2_compress.cc
index 3625afefcd..af7ddecd00 100644
--- a/test/core/end2end/fixtures/h2_compress.cc
+++ b/test/core/end2end/fixtures/h2_compress.cc
@@ -21,16 +21,16 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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_args.h"
#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/util/port.h"
@@ -70,7 +70,7 @@ void chttp2_init_client_fullstack_compression(grpc_end2end_test_fixture* f,
grpc_channel_args_destroy(ffd->client_args_compression);
}
ffd->client_args_compression = grpc_channel_args_set_compression_algorithm(
- client_args, GRPC_COMPRESS_MESSAGE_GZIP);
+ client_args, GRPC_COMPRESS_GZIP);
f->client = grpc_insecure_channel_create(
ffd->localaddr, ffd->client_args_compression, nullptr);
}
@@ -84,7 +84,7 @@ void chttp2_init_server_fullstack_compression(grpc_end2end_test_fixture* f,
grpc_channel_args_destroy(ffd->server_args_compression);
}
ffd->server_args_compression = grpc_channel_args_set_compression_algorithm(
- server_args, GRPC_COMPRESS_MESSAGE_GZIP);
+ server_args, GRPC_COMPRESS_GZIP);
if (f->server) {
grpc_server_destroy(f->server);
}
diff --git a/test/core/end2end/fixtures/h2_fakesec.cc b/test/core/end2end/fixtures/h2_fakesec.cc
index 87d4668d50..bbf65fcd24 100644
--- a/test/core/end2end/fixtures/h2_fakesec.cc
+++ b/test/core/end2end/fixtures/h2_fakesec.cc
@@ -22,9 +22,10 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_full+pipe.cc b/test/core/end2end/fixtures/h2_full+pipe.cc
index b080591e85..88f24b937c 100644
--- a/test/core/end2end/fixtures/h2_full+pipe.cc
+++ b/test/core/end2end/fixtures/h2_full+pipe.cc
@@ -26,15 +26,15 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/host_port.h"
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
diff --git a/test/core/end2end/fixtures/h2_full+trace.cc b/test/core/end2end/fixtures/h2_full+trace.cc
index 7104fbc581..4e0d66896b 100644
--- a/test/core/end2end/fixtures/h2_full+trace.cc
+++ b/test/core/end2end/fixtures/h2_full+trace.cc
@@ -26,16 +26,16 @@
#endif
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/gpr/host_port.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_full+workarounds.cc b/test/core/end2end/fixtures/h2_full+workarounds.cc
index 237841d185..ce0fed6fee 100644
--- a/test/core/end2end/fixtures/h2_full+workarounds.cc
+++ b/test/core/end2end/fixtures/h2_full+workarounds.cc
@@ -21,16 +21,17 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include <grpc/support/workaround_list.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/host_port.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_full.cc b/test/core/end2end/fixtures/h2_full.cc
index 6d15c28662..4b96fa268a 100644
--- a/test/core/end2end/fixtures/h2_full.cc
+++ b/test/core/end2end/fixtures/h2_full.cc
@@ -21,15 +21,15 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/host_port.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 e8e81f0930..da63f46018 100644
--- a/test/core/end2end/fixtures/h2_http_proxy.cc
+++ b/test/core/end2end/fixtures/h2_http_proxy.cc
@@ -21,17 +21,17 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/gpr/host_port.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_load_reporting.cc b/test/core/end2end/fixtures/h2_load_reporting.cc
index fda5f4b052..dddeef5862 100644
--- a/test/core/end2end/fixtures/h2_load_reporting.cc
+++ b/test/core/end2end/fixtures/h2_load_reporting.cc
@@ -21,17 +21,17 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/gpr/host_port.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_oauth2.cc b/test/core/end2end/fixtures/h2_oauth2.cc
index 5fed4434de..9453f2f7cb 100644
--- a/test/core/end2end/fixtures/h2_oauth2.cc
+++ b/test/core/end2end/fixtures/h2_oauth2.cc
@@ -22,9 +22,10 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "test/core/end2end/data/ssl_test_data.h"
@@ -65,7 +66,7 @@ static void process_oauth2_success(void* state, grpc_auth_context* ctx,
test_processor_state* s;
GPR_ASSERT(state != nullptr);
- s = (test_processor_state*)state;
+ s = static_cast<test_processor_state*>(state);
GPR_ASSERT(s->pseudo_refcount == 1);
GPR_ASSERT(oauth2 != nullptr);
grpc_auth_context_add_cstring_property(ctx, client_identity_property_name,
@@ -83,7 +84,7 @@ static void process_oauth2_failure(void* state, grpc_auth_context* ctx,
find_metadata(md, md_count, "authorization", oauth2_md);
test_processor_state* s;
GPR_ASSERT(state != nullptr);
- s = (test_processor_state*)state;
+ s = static_cast<test_processor_state*>(state);
GPR_ASSERT(s->pseudo_refcount == 1);
GPR_ASSERT(oauth2 != nullptr);
cb(user_data, oauth2, 1, nullptr, 0, GRPC_STATUS_UNAUTHENTICATED, nullptr);
@@ -176,7 +177,7 @@ static int fail_server_auth_check(grpc_channel_args* server_args) {
}
static void processor_destroy(void* state) {
- test_processor_state* s = (test_processor_state*)state;
+ test_processor_state* s = static_cast<test_processor_state*>(state);
GPR_ASSERT((s->pseudo_refcount--) == 1);
gpr_free(s);
}
diff --git a/test/core/end2end/fixtures/h2_proxy.cc b/test/core/end2end/fixtures/h2_proxy.cc
index 295654cb6a..4379cddf77 100644
--- a/test/core/end2end/fixtures/h2_proxy.cc
+++ b/test/core/end2end/fixtures/h2_proxy.cc
@@ -21,15 +21,15 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/host_port.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
#include "test/core/end2end/fixtures/proxy.h"
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.cc b/test/core/end2end/fixtures/h2_sockpair+trace.cc
index 236780b8d3..92b9a463c1 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.cc
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.cc
@@ -29,7 +29,7 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/http/client/http_client_filter.h"
#include "src/core/ext/filters/http/message_compress/message_compress_filter.h"
diff --git a/test/core/end2end/fixtures/h2_sockpair.cc b/test/core/end2end/fixtures/h2_sockpair.cc
index b68279fd71..46acf1f615 100644
--- a/test/core/end2end/fixtures/h2_sockpair.cc
+++ b/test/core/end2end/fixtures/h2_sockpair.cc
@@ -24,7 +24,7 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/http/client/http_client_filter.h"
#include "src/core/ext/filters/http/message_compress/message_compress_filter.h"
diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.cc b/test/core/end2end/fixtures/h2_sockpair_1byte.cc
index 350be138ca..6499c90271 100644
--- a/test/core/end2end/fixtures/h2_sockpair_1byte.cc
+++ b/test/core/end2end/fixtures/h2_sockpair_1byte.cc
@@ -24,7 +24,7 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/http/client/http_client_filter.h"
#include "src/core/ext/filters/http/message_compress/message_compress_filter.h"
diff --git a/test/core/end2end/fixtures/h2_ssl.cc b/test/core/end2end/fixtures/h2_ssl.cc
index 8c5c8a2f3f..bbcc88e4f3 100644
--- a/test/core/end2end/fixtures/h2_ssl.cc
+++ b/test/core/end2end/fixtures/h2_ssl.cc
@@ -22,11 +22,11 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#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/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.cc b/test/core/end2end/fixtures/h2_ssl_proxy.cc
index 3f0646cf0f..6b0b891b18 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.cc
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.cc
@@ -22,11 +22,11 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#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/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
diff --git a/test/core/end2end/fixtures/h2_uds.cc b/test/core/end2end/fixtures/h2_uds.cc
index 1944dd84a3..41045c278c 100644
--- a/test/core/end2end/fixtures/h2_uds.cc
+++ b/test/core/end2end/fixtures/h2_uds.cc
@@ -23,16 +23,16 @@
#include <unistd.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#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/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h"
diff --git a/test/core/end2end/fixtures/http_proxy_fixture.cc b/test/core/end2end/fixtures/http_proxy_fixture.cc
index 8ec97df3e4..63a15753a4 100644
--- a/test/core/end2end/fixtures/http_proxy_fixture.cc
+++ b/test/core/end2end/fixtures/http_proxy_fixture.cc
@@ -26,14 +26,13 @@
#include <grpc/slice_buffer.h>
#include <grpc/support/alloc.h>
#include <grpc/support/atm.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/http/parser.h"
#include "src/core/lib/iomgr/closure.h"
@@ -186,7 +185,7 @@ static void proxy_connection_failed(proxy_connection* conn,
// Callback for writing proxy data to the client.
static void on_client_write_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
conn->client_is_writing = false;
if (error != GRPC_ERROR_NONE) {
proxy_connection_failed(conn, CLIENT_WRITE_FAILED,
@@ -211,7 +210,7 @@ static void on_client_write_done(void* arg, grpc_error* error) {
// Callback for writing proxy data to the backend server.
static void on_server_write_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
conn->server_is_writing = false;
if (error != GRPC_ERROR_NONE) {
proxy_connection_failed(conn, SERVER_WRITE_FAILED,
@@ -237,7 +236,7 @@ static void on_server_write_done(void* arg, grpc_error* error) {
// Callback for reading data from the client, which will be proxied to
// the backend server.
static void on_client_read_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
if (error != GRPC_ERROR_NONE) {
proxy_connection_failed(conn, CLIENT_READ_FAILED, "HTTP proxy client read",
GRPC_ERROR_REF(error));
@@ -268,7 +267,7 @@ static void on_client_read_done(void* arg, grpc_error* error) {
// Callback for reading data from the backend server, which will be
// proxied to the client.
static void on_server_read_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
if (error != GRPC_ERROR_NONE) {
proxy_connection_failed(conn, SERVER_READ_FAILED, "HTTP proxy server read",
GRPC_ERROR_REF(error));
@@ -298,7 +297,7 @@ static void on_server_read_done(void* arg, grpc_error* error) {
// Callback to write the HTTP response for the CONNECT request.
static void on_write_response_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
conn->client_is_writing = false;
if (error != GRPC_ERROR_NONE) {
proxy_connection_failed(conn, SETUP_FAILED, "HTTP proxy write response",
@@ -322,7 +321,7 @@ static void on_write_response_done(void* arg, grpc_error* error) {
// Callback to connect to the backend server specified by the HTTP
// CONNECT request.
static void on_server_connect_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
if (error != GRPC_ERROR_NONE) {
// TODO(roth): Technically, in this case, we should handle the error
// by returning an HTTP response to the client indicating that the
@@ -371,7 +370,7 @@ static bool proxy_auth_header_matches(char* proxy_auth_header_val,
// of this test code, it's fine to pretend this is a client-side error,
// which will cause the client connection to be dropped.
static void on_read_request_done(void* arg, grpc_error* error) {
- proxy_connection* conn = (proxy_connection*)arg;
+ proxy_connection* conn = static_cast<proxy_connection*>(arg);
gpr_log(GPR_DEBUG, "on_read_request_done: %p %s", conn,
grpc_error_string(error));
if (error != GRPC_ERROR_NONE) {
@@ -457,9 +456,10 @@ static void on_accept(void* arg, grpc_endpoint* endpoint,
grpc_pollset* accepting_pollset,
grpc_tcp_server_acceptor* acceptor) {
gpr_free(acceptor);
- grpc_end2end_http_proxy* proxy = (grpc_end2end_http_proxy*)arg;
+ grpc_end2end_http_proxy* proxy = static_cast<grpc_end2end_http_proxy*>(arg);
// Instantiate proxy_connection.
- proxy_connection* conn = (proxy_connection*)gpr_zalloc(sizeof(*conn));
+ proxy_connection* conn =
+ static_cast<proxy_connection*>(gpr_zalloc(sizeof(*conn)));
gpr_ref(&proxy->users);
conn->client_endpoint = endpoint;
conn->proxy = proxy;
@@ -500,7 +500,7 @@ static void on_accept(void* arg, grpc_endpoint* endpoint,
//
static void thread_main(void* arg) {
- grpc_end2end_http_proxy* proxy = (grpc_end2end_http_proxy*)arg;
+ grpc_end2end_http_proxy* proxy = static_cast<grpc_end2end_http_proxy*>(arg);
grpc_core::ExecCtx exec_ctx;
do {
gpr_ref(&proxy->users);
@@ -519,7 +519,7 @@ grpc_end2end_http_proxy* grpc_end2end_http_proxy_create(
grpc_channel_args* args) {
grpc_core::ExecCtx exec_ctx;
grpc_end2end_http_proxy* proxy =
- (grpc_end2end_http_proxy*)gpr_malloc(sizeof(*proxy));
+ static_cast<grpc_end2end_http_proxy*>(gpr_malloc(sizeof(*proxy)));
memset(proxy, 0, sizeof(*proxy));
proxy->combiner = grpc_combiner_create();
gpr_ref_init(&proxy->users, 1);
@@ -534,7 +534,8 @@ grpc_end2end_http_proxy* grpc_end2end_http_proxy_create(
GPR_ASSERT(error == GRPC_ERROR_NONE);
// Bind to port.
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
memset(&resolved_addr, 0, sizeof(resolved_addr));
addr->sin_family = AF_INET;
grpc_sockaddr_set_port(&resolved_addr, proxy_port);
@@ -543,7 +544,7 @@ grpc_end2end_http_proxy* grpc_end2end_http_proxy_create(
GPR_ASSERT(error == GRPC_ERROR_NONE);
GPR_ASSERT(port == proxy_port);
// Start server.
- proxy->pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ proxy->pollset = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(proxy->pollset, &proxy->mu);
grpc_tcp_server_start(proxy->server, &proxy->pollset, 1, on_accept, proxy);
@@ -556,7 +557,7 @@ grpc_end2end_http_proxy* grpc_end2end_http_proxy_create(
}
static void destroy_pollset(void* arg, grpc_error* error) {
- grpc_pollset* pollset = (grpc_pollset*)arg;
+ grpc_pollset* pollset = static_cast<grpc_pollset*>(arg);
grpc_pollset_destroy(pollset);
gpr_free(pollset);
}
diff --git a/test/core/end2end/fixtures/inproc.cc b/test/core/end2end/fixtures/inproc.cc
index b748fbf09a..796ef67ddb 100644
--- a/test/core/end2end/fixtures/inproc.cc
+++ b/test/core/end2end/fixtures/inproc.cc
@@ -21,15 +21,15 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/inproc/inproc_transport.h"
#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/gpr/host_port.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/proxy.cc b/test/core/end2end/fixtures/proxy.cc
index b1698c804c..918988d9dc 100644
--- a/test/core/end2end/fixtures/proxy.cc
+++ b/test/core/end2end/fixtures/proxy.cc
@@ -21,12 +21,12 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/host_port.h"
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/port.h"
struct grpc_end2end_proxy {
@@ -80,7 +80,8 @@ grpc_end2end_proxy* grpc_end2end_proxy_create(const grpc_end2end_proxy_def* def,
int proxy_port = grpc_pick_unused_port_or_die();
int server_port = grpc_pick_unused_port_or_die();
- grpc_end2end_proxy* proxy = (grpc_end2end_proxy*)gpr_malloc(sizeof(*proxy));
+ grpc_end2end_proxy* proxy =
+ static_cast<grpc_end2end_proxy*>(gpr_malloc(sizeof(*proxy)));
memset(proxy, 0, sizeof(*proxy));
gpr_join_host_port(&proxy->proxy_port, "localhost", proxy_port);
@@ -107,14 +108,14 @@ grpc_end2end_proxy* grpc_end2end_proxy_create(const grpc_end2end_proxy_def* def,
}
static closure* new_closure(void (*func)(void* arg, int success), void* arg) {
- closure* cl = (closure*)gpr_malloc(sizeof(*cl));
+ closure* cl = static_cast<closure*>(gpr_malloc(sizeof(*cl)));
cl->func = func;
cl->arg = arg;
return cl;
}
static void shutdown_complete(void* arg, int success) {
- grpc_end2end_proxy* proxy = (grpc_end2end_proxy*)arg;
+ grpc_end2end_proxy* proxy = static_cast<grpc_end2end_proxy*>(arg);
proxy->shutdown = 1;
grpc_completion_queue_shutdown(proxy->cq);
}
@@ -147,12 +148,12 @@ static void unrefpc(proxy_call* pc, const char* reason) {
static void refpc(proxy_call* pc, const char* reason) { gpr_ref(&pc->refs); }
static void on_c2p_sent_initial_metadata(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
unrefpc(pc, "on_c2p_sent_initial_metadata");
}
static void on_p2s_recv_initial_metadata(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -174,14 +175,14 @@ static void on_p2s_recv_initial_metadata(void* arg, int success) {
}
static void on_p2s_sent_initial_metadata(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
unrefpc(pc, "on_p2s_sent_initial_metadata");
}
static void on_c2p_recv_msg(void* arg, int success);
static void on_p2s_sent_message(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -201,12 +202,12 @@ static void on_p2s_sent_message(void* arg, int success) {
}
static void on_p2s_sent_close(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
unrefpc(pc, "on_p2s_sent_close");
}
static void on_c2p_recv_msg(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -241,7 +242,7 @@ static void on_c2p_recv_msg(void* arg, int success) {
static void on_p2s_recv_msg(void* arg, int success);
static void on_c2p_sent_message(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -261,7 +262,7 @@ static void on_c2p_sent_message(void* arg, int success) {
}
static void on_p2s_recv_msg(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -281,12 +282,12 @@ static void on_p2s_recv_msg(void* arg, int success) {
}
static void on_c2p_sent_status(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
unrefpc(pc, "on_c2p_sent_status");
}
static void on_p2s_status(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
grpc_op op;
grpc_call_error err;
@@ -311,18 +312,18 @@ static void on_p2s_status(void* arg, int success) {
}
static void on_c2p_closed(void* arg, int success) {
- proxy_call* pc = (proxy_call*)arg;
+ proxy_call* pc = static_cast<proxy_call*>(arg);
unrefpc(pc, "on_c2p_closed");
}
static void on_new_call(void* arg, int success) {
- grpc_end2end_proxy* proxy = (grpc_end2end_proxy*)arg;
+ grpc_end2end_proxy* proxy = static_cast<grpc_end2end_proxy*>(arg);
grpc_call_error err;
if (success) {
grpc_op op;
memset(&op, 0, sizeof(op));
- proxy_call* pc = (proxy_call*)gpr_malloc(sizeof(*pc));
+ proxy_call* pc = static_cast<proxy_call*>(gpr_malloc(sizeof(*pc)));
memset(pc, 0, sizeof(*pc));
pc->proxy = proxy;
GPR_SWAP(grpc_metadata_array, pc->c2p_initial_metadata,
@@ -412,7 +413,7 @@ static void request_call(grpc_end2end_proxy* proxy) {
}
static void thread_main(void* arg) {
- grpc_end2end_proxy* proxy = (grpc_end2end_proxy*)arg;
+ grpc_end2end_proxy* proxy = static_cast<grpc_end2end_proxy*>(arg);
closure* cl;
for (;;) {
grpc_event ev = grpc_completion_queue_next(
@@ -424,7 +425,7 @@ static void thread_main(void* arg) {
case GRPC_QUEUE_SHUTDOWN:
return;
case GRPC_OP_COMPLETE:
- cl = (closure*)ev.tag;
+ cl = static_cast<closure*>(ev.tag);
cl->func(cl->arg, ev.success);
gpr_free(cl);
break;
diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc
index 14c155502a..dc1183b9a0 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.cc
+++ b/test/core/end2end/fuzzers/api_fuzzer.cc
@@ -93,7 +93,7 @@ static char* read_string(input_stream* inp, bool* special) {
cap = GPR_MAX(3 * cap / 2, cap + 8);
str = static_cast<char*>(gpr_realloc(str, cap));
}
- c = (char)next_byte(inp);
+ c = static_cast<char>(next_byte(inp));
str[sz++] = c;
} while (c != 0 && c != 1);
if (special != nullptr) {
@@ -116,7 +116,7 @@ static void read_buffer(input_stream* inp, char** buffer, size_t* length,
}
*buffer = static_cast<char*>(gpr_malloc(*length));
for (size_t i = 0; i < *length; i++) {
- (*buffer)[i] = (char)next_byte(inp);
+ (*buffer)[i] = static_cast<char>(next_byte(inp));
}
}
@@ -192,7 +192,9 @@ static grpc_byte_buffer* read_message(input_stream* inp) {
return out;
}
-static int read_int(input_stream* inp) { return (int)read_uint32(inp); }
+static int read_int(input_stream* inp) {
+ return static_cast<int>(read_uint32(inp));
+}
static grpc_channel_args* read_args(input_stream* inp) {
size_t n = next_byte(inp);
@@ -529,10 +531,12 @@ static validator* create_validator(void (*validate)(void* arg, bool success),
static void assert_success_and_decrement(void* counter, bool success) {
GPR_ASSERT(success);
- --*(int*)counter;
+ --*static_cast<int*>(counter);
}
-static void decrement(void* counter, bool success) { --*(int*)counter; }
+static void decrement(void* counter, bool success) {
+ --*static_cast<int*>(counter);
+}
typedef struct connectivity_watch {
int* counter;
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/poc-2d730ebd78b3052e4367ad0d485208dcb205482cbcd6289f17907989b8de1fba b/test/core/end2end/fuzzers/api_fuzzer_corpus/poc-2d730ebd78b3052e4367ad0d485208dcb205482cbcd6289f17907989b8de1fba
new file mode 100644
index 0000000000..89e28bbe37
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/poc-2d730ebd78b3052e4367ad0d485208dcb205482cbcd6289f17907989b8de1fba
Binary files differ
diff --git a/test/core/end2end/fuzzers/client_fuzzer.cc b/test/core/end2end/fuzzers/client_fuzzer.cc
index c17d581d8b..16acf8ef28 100644
--- a/test/core/end2end/fuzzers/client_fuzzer.cc
+++ b/test/core/end2end/fuzzers/client_fuzzer.cc
@@ -33,7 +33,7 @@ bool leak_check = true;
static void discard_write(grpc_slice slice) {}
-static void* tag(int n) { return (void*)(uintptr_t)n; }
+static void* tag(int n) { return (void*)static_cast<uintptr_t>(n); }
static void dont_log(gpr_log_func_args* args) {}
diff --git a/test/core/end2end/fuzzers/hpack.dictionary b/test/core/end2end/fuzzers/hpack.dictionary
index a87e49ee52..3ed82e19bd 100644
--- a/test/core/end2end/fuzzers/hpack.dictionary
+++ b/test/core/end2end/fuzzers/hpack.dictionary
@@ -28,15 +28,13 @@
"\x1Egrpc.max_request_message_bytes"
"\x1Fgrpc.max_response_message_bytes"
"$/grpc.lb.v1.LoadBalancer/BalanceLoad"
-"\x0Fmessage/deflate"
-"\x0Cmessage/gzip"
+"\x07deflate"
+"\x04gzip"
"\x0Bstream/gzip"
"\x010"
"\x011"
"\x012"
"\x08identity"
-"\x04gzip"
-"\x07deflate"
"\x08trailers"
"\x10application/grpc"
"\x04POST"
diff --git a/test/core/end2end/fuzzers/server_fuzzer.cc b/test/core/end2end/fuzzers/server_fuzzer.cc
index 61c55e0afd..5eb83ede7a 100644
--- a/test/core/end2end/fuzzers/server_fuzzer.cc
+++ b/test/core/end2end/fuzzers/server_fuzzer.cc
@@ -30,8 +30,8 @@ bool leak_check = true;
static void discard_write(grpc_slice slice) {}
-static void* tag(int n) { return (void*)(uintptr_t)n; }
-static int detag(void* p) { return (int)(uintptr_t)p; }
+static void* tag(int n) { return (void*)static_cast<uintptr_t>(n); }
+static int detag(void* p) { return static_cast<int>((uintptr_t)p); }
static void dont_log(gpr_log_func_args* args) {}
diff --git a/test/core/end2end/goaway_server_test.cc b/test/core/end2end/goaway_server_test.cc
index f23d87ea68..09f0301c44 100644
--- a/test/core/end2end/goaway_server_test.cc
+++ b/test/core/end2end/goaway_server_test.cc
@@ -77,10 +77,11 @@ static void my_resolve_address(const char* addr, const char* default_port,
(*addrs)->addrs = static_cast<grpc_resolved_address*>(
gpr_malloc(sizeof(*(*addrs)->addrs)));
memset((*addrs)->addrs, 0, sizeof(*(*addrs)->addrs));
- struct sockaddr_in* sa = (struct sockaddr_in*)(*addrs)->addrs[0].addr;
+ struct sockaddr_in* sa =
+ reinterpret_cast<struct sockaddr_in*>((*addrs)->addrs[0].addr);
sa->sin_family = AF_INET;
sa->sin_addr.s_addr = htonl(0x7f000001);
- sa->sin_port = htons((uint16_t)g_resolve_port);
+ sa->sin_port = htons(static_cast<uint16_t>(g_resolve_port));
(*addrs)->addrs[0].len = sizeof(*sa);
gpr_mu_unlock(&g_mu);
}
@@ -109,7 +110,7 @@ static grpc_ares_request* my_dns_lookup_ares(
gpr_zalloc(sizeof(struct sockaddr_in)));
sa->sin_family = AF_INET;
sa->sin_addr.s_addr = htonl(0x7f000001);
- sa->sin_port = htons((uint16_t)g_resolve_port);
+ sa->sin_port = htons(static_cast<uint16_t>(g_resolve_port));
grpc_lb_addresses_set_address(*lb_addrs, 0, sa, sizeof(*sa), false, nullptr,
nullptr);
gpr_free(sa);
diff --git a/test/core/end2end/h2_ssl_cert_test.cc b/test/core/end2end/h2_ssl_cert_test.cc
index 9adb96e926..9e2082ce9d 100644
--- a/test/core/end2end/h2_ssl_cert_test.cc
+++ b/test/core/end2end/h2_ssl_cert_test.cc
@@ -22,11 +22,11 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#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/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/security/credentials/credentials.h"
@@ -333,7 +333,8 @@ static void simple_request_body(grpc_end2end_test_fixture f,
op->flags = GRPC_INITIAL_METADATA_WAIT_FOR_READY;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), expected_result == SUCCESS);
diff --git a/test/core/end2end/invalid_call_argument_test.cc b/test/core/end2end/invalid_call_argument_test.cc
index cb6b4c08ef..6cb2e3ee80 100644
--- a/test/core/end2end/invalid_call_argument_test.cc
+++ b/test/core/end2end/invalid_call_argument_test.cc
@@ -23,9 +23,9 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+#include "src/core/lib/gpr/host_port.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
@@ -209,7 +209,7 @@ static void test_too_many_metadata() {
op = g_state.ops;
op->op = GRPC_OP_SEND_INITIAL_METADATA;
- op->data.send_initial_metadata.count = (size_t)INT_MAX + 1;
+ op->data.send_initial_metadata.count = static_cast<size_t>(INT_MAX) + 1;
op->flags = 0;
op->reserved = nullptr;
op++;
@@ -499,7 +499,7 @@ static void test_too_many_trailing_metadata() {
op = g_state.ops;
op->op = GRPC_OP_SEND_STATUS_FROM_SERVER;
op->data.send_status_from_server.trailing_metadata_count =
- (size_t)INT_MAX + 1;
+ static_cast<size_t>(INT_MAX) + 1;
op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED;
grpc_slice status_details = grpc_slice_from_static_string("xyz");
op->data.send_status_from_server.status_details = &status_details;
diff --git a/test/core/end2end/tests/authority_not_supported.cc b/test/core/end2end/tests/authority_not_supported.cc
index 9c8545058c..01a95e4e10 100644
--- a/test/core/end2end/tests/authority_not_supported.cc
+++ b/test/core/end2end/tests/authority_not_supported.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -155,7 +154,8 @@ static void test_with_authority_header(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/bad_hostname.cc b/test/core/end2end/tests/bad_hostname.cc
index 85e9ba1307..b6f06a20d6 100644
--- a/test/core/end2end/tests/bad_hostname.cc
+++ b/test/core/end2end/tests/bad_hostname.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -134,7 +133,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/bad_ping.cc b/test/core/end2end/tests/bad_ping.cc
index 30a1b8de77..ddab3faa27 100644
--- a/test/core/end2end/tests/bad_ping.cc
+++ b/test/core/end2end/tests/bad_ping.cc
@@ -25,8 +25,8 @@
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#define MAX_PING_STRIKES 1
@@ -144,7 +144,8 @@ static void test_bad_ping(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -188,7 +189,8 @@ static void test_bad_ping(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/binary_metadata.cc b/test/core/end2end/tests/binary_metadata.cc
index 381671e331..e66b4da6cc 100644
--- a/test/core/end2end/tests/binary_metadata.cc
+++ b/test/core/end2end/tests/binary_metadata.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -183,7 +182,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -206,7 +206,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -247,7 +248,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/call_creds.cc b/test/core/end2end/tests/call_creds.cc
index c5ea101c53..e9cbaa3088 100644
--- a/test/core/end2end/tests/call_creds.cc
+++ b/test/core/end2end/tests/call_creds.cc
@@ -26,7 +26,7 @@
#include <grpc/support/alloc.h>
#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 "test/core/end2end/cq_verifier.h"
@@ -219,7 +219,8 @@ static void request_response_with_payload_and_call_creds(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -253,7 +254,8 @@ static void request_response_with_payload_and_call_creds(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -279,7 +281,8 @@ static void request_response_with_payload_and_call_creds(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
@@ -443,7 +446,8 @@ static void test_request_with_server_rejecting_client_creds(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/cancel_after_accept.cc b/test/core/end2end/tests/cancel_after_accept.cc
index f59caf7e35..ee1a0bbccc 100644
--- a/test/core/end2end/tests/cancel_after_accept.cc
+++ b/test/core/end2end/tests/cancel_after_accept.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/slice/slice_internal.h"
@@ -187,7 +186,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error = grpc_server_request_call(f.server, &s, &call_details,
@@ -218,7 +218,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
diff --git a/test/core/end2end/tests/cancel_after_client_done.cc b/test/core/end2end/tests/cancel_after_client_done.cc
index 9b832d435d..31c3ea6f74 100644
--- a/test/core/end2end/tests/cancel_after_client_done.cc
+++ b/test/core/end2end/tests/cancel_after_client_done.cc
@@ -25,7 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/end2end/tests/cancel_test_helpers.h"
@@ -163,7 +164,8 @@ static void test_cancel_after_accept_and_writes_closed(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error = grpc_server_request_call(f.server, &s, &call_details,
@@ -194,7 +196,8 @@ static void test_cancel_after_accept_and_writes_closed(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
diff --git a/test/core/end2end/tests/cancel_after_invoke.cc b/test/core/end2end/tests/cancel_after_invoke.cc
index d3891b160e..a3e36e0e3f 100644
--- a/test/core/end2end/tests/cancel_after_invoke.cc
+++ b/test/core/end2end/tests/cancel_after_invoke.cc
@@ -25,7 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/end2end/tests/cancel_test_helpers.h"
diff --git a/test/core/end2end/tests/cancel_after_round_trip.cc b/test/core/end2end/tests/cancel_after_round_trip.cc
index b10b93978d..bf3be1c8b7 100644
--- a/test/core/end2end/tests/cancel_after_round_trip.cc
+++ b/test/core/end2end/tests/cancel_after_round_trip.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/slice/slice_internal.h"
@@ -182,7 +181,8 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -209,7 +209,8 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -235,7 +236,8 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
@@ -252,7 +254,8 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
diff --git a/test/core/end2end/tests/cancel_before_invoke.cc b/test/core/end2end/tests/cancel_before_invoke.cc
index 1112375176..e9fa0466fb 100644
--- a/test/core/end2end/tests/cancel_before_invoke.cc
+++ b/test/core/end2end/tests/cancel_before_invoke.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.cc b/test/core/end2end/tests/cancel_in_a_vacuum.cc
index a6c534eb08..6be2d69095 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.cc
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.cc
@@ -25,7 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/end2end/tests/cancel_test_helpers.h"
diff --git a/test/core/end2end/tests/cancel_with_status.cc b/test/core/end2end/tests/cancel_with_status.cc
index 7937fd161f..6820ba5a2f 100644
--- a/test/core/end2end/tests/cancel_with_status.cc
+++ b/test/core/end2end/tests/cancel_with_status.cc
@@ -27,7 +27,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/core/end2end/tests/compressed_payload.cc b/test/core/end2end/tests/compressed_payload.cc
index c08653b1c8..85cfe16508 100644
--- a/test/core/end2end/tests/compressed_payload.cc
+++ b/test/core/end2end/tests/compressed_payload.cc
@@ -28,7 +28,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/surface/call.h"
@@ -188,7 +187,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
@@ -206,7 +206,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), false);
@@ -217,7 +218,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
@@ -339,7 +341,8 @@ static void request_with_payload_template(
op->flags = client_send_flags_bitmask;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
}
@@ -368,7 +371,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -383,9 +387,9 @@ static void request_with_payload_template(
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
GRPC_COMPRESS_NONE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_DEFLATE) != 0);
+ GRPC_COMPRESS_DEFLATE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_GZIP) != 0);
+ GRPC_COMPRESS_GZIP) != 0);
memset(ops, 0, sizeof(ops));
op = ops;
@@ -404,7 +408,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(101), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(101),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
for (int i = 0; i < 2; i++) {
@@ -419,8 +424,8 @@ static void request_with_payload_template(
op->flags = client_send_flags_bitmask;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops),
+ tag(2), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
}
@@ -432,8 +437,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -451,8 +456,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -462,7 +467,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
@@ -496,7 +502,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -509,7 +516,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
@@ -550,9 +558,8 @@ static void test_invoke_request_with_exceptionally_uncompressed_payload(
grpc_end2end_test_config config) {
request_with_payload_template(
config, "test_invoke_request_with_exceptionally_uncompressed_payload",
- GRPC_WRITE_NO_COMPRESS, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_NONE,
- GRPC_COMPRESS_MESSAGE_GZIP, nullptr, false,
+ GRPC_WRITE_NO_COMPRESS, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
+ GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP, nullptr, false,
/* ignored */ GRPC_COMPRESS_LEVEL_NONE, false);
}
@@ -569,8 +576,8 @@ static void test_invoke_request_with_compressed_payload(
grpc_end2end_test_config config) {
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload", 0,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP, nullptr, false,
+ GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
+ GRPC_COMPRESS_GZIP, nullptr, false,
/* ignored */ GRPC_COMPRESS_LEVEL_NONE, false);
}
@@ -578,8 +585,8 @@ static void test_invoke_request_with_send_message_before_initial_metadata(
grpc_end2end_test_config config) {
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload", 0,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP, nullptr, false,
+ GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
+ GRPC_COMPRESS_GZIP, nullptr, false,
/* ignored */ GRPC_COMPRESS_LEVEL_NONE, true);
}
@@ -597,8 +604,7 @@ static void test_invoke_request_with_compressed_payload_md_override(
grpc_metadata identity_compression_override;
gzip_compression_override.key = GRPC_MDSTR_GRPC_INTERNAL_ENCODING_REQUEST;
- gzip_compression_override.value =
- grpc_slice_from_static_string("message/gzip");
+ gzip_compression_override.value = grpc_slice_from_static_string("gzip");
memset(&gzip_compression_override.internal_data, 0,
sizeof(gzip_compression_override.internal_data));
@@ -611,32 +617,31 @@ static void test_invoke_request_with_compressed_payload_md_override(
/* Channel default NONE (aka IDENTITY), call override to GZIP */
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload_md_override_1", 0,
- GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE, GRPC_COMPRESS_MESSAGE_GZIP,
+ GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP,
GRPC_COMPRESS_NONE, &gzip_compression_override, false,
/*ignored*/ GRPC_COMPRESS_LEVEL_NONE, false);
/* Channel default DEFLATE, call override to GZIP */
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload_md_override_2", 0,
- GRPC_COMPRESS_MESSAGE_DEFLATE, GRPC_COMPRESS_NONE,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_NONE,
- &gzip_compression_override, false,
+ GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP,
+ GRPC_COMPRESS_NONE, &gzip_compression_override, false,
/*ignored*/ GRPC_COMPRESS_LEVEL_NONE, false);
/* Channel default DEFLATE, call override to NONE (aka IDENTITY) */
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload_md_override_3", 0,
- GRPC_COMPRESS_MESSAGE_DEFLATE, GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE,
+ GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE,
GRPC_COMPRESS_NONE, &identity_compression_override, false,
/*ignored*/ GRPC_COMPRESS_LEVEL_NONE, false);
}
static void test_invoke_request_with_disabled_algorithm(
grpc_end2end_test_config config) {
- request_for_disabled_algorithm(
- config, "test_invoke_request_with_disabled_algorithm", 0,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_STATUS_UNIMPLEMENTED, nullptr);
+ request_for_disabled_algorithm(config,
+ "test_invoke_request_with_disabled_algorithm",
+ 0, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
+ GRPC_STATUS_UNIMPLEMENTED, nullptr);
}
void compressed_payload(grpc_end2end_test_config config) {
diff --git a/test/core/end2end/tests/connectivity.cc b/test/core/end2end/tests/connectivity.cc
index da65080bc0..56e5189a22 100644
--- a/test/core/end2end/tests/connectivity.cc
+++ b/test/core/end2end/tests/connectivity.cc
@@ -34,7 +34,7 @@ typedef struct {
} child_events;
static void child_thread(void* arg) {
- child_events* ce = (child_events*)arg;
+ child_events* ce = static_cast<child_events*>(arg);
grpc_event ev;
gpr_event_set(&ce->started, (void*)1);
gpr_log(GPR_DEBUG, "verifying");
diff --git a/test/core/end2end/tests/default_host.cc b/test/core/end2end/tests/default_host.cc
index 7c94420540..3191f76688 100644
--- a/test/core/end2end/tests/default_host.cc
+++ b/test/core/end2end/tests/default_host.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -141,7 +140,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
error =
@@ -180,7 +180,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/disappearing_server.cc b/test/core/end2end/tests/disappearing_server.cc
index 29fb19463f..d5b6f8fbf0 100644
--- a/test/core/end2end/tests/disappearing_server.cc
+++ b/test/core/end2end/tests/disappearing_server.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -121,7 +120,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -155,7 +155,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/empty_batch.cc b/test/core/end2end/tests/empty_batch.cc
index c41e65ddd2..1de4b8fda8 100644
--- a/test/core/end2end/tests/empty_batch.cc
+++ b/test/core/end2end/tests/empty_batch.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/core/end2end/tests/filter_call_init_fails.cc b/test/core/end2end/tests/filter_call_init_fails.cc
index 8f46f0bb91..6f72a1843a 100644
--- a/test/core/end2end/tests/filter_call_init_fails.cc
+++ b/test/core/end2end/tests/filter_call_init_fails.cc
@@ -27,7 +27,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/surface/channel_init.h"
#include "test/core/end2end/cq_verifier.h"
@@ -159,7 +158,8 @@ static void test_server_channel_filter(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -254,7 +254,8 @@ static void test_client_channel_filter(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
@@ -345,7 +346,8 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
@@ -369,7 +371,8 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(c);
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
diff --git a/test/core/end2end/tests/filter_causes_close.cc b/test/core/end2end/tests/filter_causes_close.cc
index ec8f9dbe00..bc4cb8633d 100644
--- a/test/core/end2end/tests/filter_causes_close.cc
+++ b/test/core/end2end/tests/filter_causes_close.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/surface/channel_init.h"
#include "test/core/end2end/cq_verifier.h"
@@ -153,7 +152,8 @@ static void test_request(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -198,8 +198,8 @@ typedef struct {
} channel_data;
static void recv_im_ready(void* arg, grpc_error* error) {
- grpc_call_element* elem = (grpc_call_element*)arg;
- call_data* calld = (call_data*)elem->call_data;
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
+ call_data* calld = static_cast<call_data*>(elem->call_data);
GRPC_CLOSURE_RUN(
calld->recv_im_ready,
grpc_error_set_int(GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
@@ -210,7 +210,7 @@ static void recv_im_ready(void* arg, grpc_error* error) {
static void start_transport_stream_op_batch(
grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
- call_data* calld = (call_data*)elem->call_data;
+ call_data* calld = static_cast<call_data*>(elem->call_data);
if (op->recv_initial_metadata) {
calld->recv_im_ready =
op->payload->recv_initial_metadata.recv_initial_metadata_ready;
diff --git a/test/core/end2end/tests/filter_latency.cc b/test/core/end2end/tests/filter_latency.cc
index 845cbc01cf..51f54c9742 100644
--- a/test/core/end2end/tests/filter_latency.cc
+++ b/test/core/end2end/tests/filter_latency.cc
@@ -27,7 +27,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/surface/channel_init.h"
@@ -166,7 +165,8 @@ static void test_request(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -197,7 +197,8 @@ static void test_request(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -306,7 +307,7 @@ static const grpc_channel_filter test_server_filter = {
*/
static bool maybe_add_filter(grpc_channel_stack_builder* builder, void* arg) {
- grpc_channel_filter* filter = (grpc_channel_filter*)arg;
+ grpc_channel_filter* filter = static_cast<grpc_channel_filter*>(arg);
if (g_enable_filter) {
// Want to add the filter as close to the end as possible, to make
// sure that all of the filters work well together. However, we
diff --git a/test/core/end2end/tests/filter_status_code.cc b/test/core/end2end/tests/filter_status_code.cc
index 61c658b95a..32cd95410e 100644
--- a/test/core/end2end/tests/filter_status_code.cc
+++ b/test/core/end2end/tests/filter_status_code.cc
@@ -27,7 +27,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/surface/call.h"
@@ -165,7 +164,8 @@ static void test_request(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -200,7 +200,8 @@ static void test_request(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -251,7 +252,7 @@ typedef struct final_status_data {
static grpc_error* init_call_elem(grpc_call_element* elem,
const grpc_call_element_args* args) {
- final_status_data* data = (final_status_data*)elem->call_data;
+ final_status_data* data = static_cast<final_status_data*>(elem->call_data);
data->call = args->call_stack;
return GRPC_ERROR_NONE;
}
@@ -259,7 +260,7 @@ static grpc_error* init_call_elem(grpc_call_element* elem,
static void client_destroy_call_elem(grpc_call_element* elem,
const grpc_call_final_info* final_info,
grpc_closure* ignored) {
- final_status_data* data = (final_status_data*)elem->call_data;
+ final_status_data* data = static_cast<final_status_data*>(elem->call_data);
gpr_mu_lock(&g_mu);
// Some fixtures, like proxies, will spawn intermidiate calls
// We only want the results from our explicit calls
@@ -274,7 +275,7 @@ static void client_destroy_call_elem(grpc_call_element* elem,
static void server_destroy_call_elem(grpc_call_element* elem,
const grpc_call_final_info* final_info,
grpc_closure* ignored) {
- final_status_data* data = (final_status_data*)elem->call_data;
+ final_status_data* data = static_cast<final_status_data*>(elem->call_data);
gpr_mu_lock(&g_mu);
// Some fixtures, like proxies, will spawn intermidiate calls
// We only want the results from our explicit calls
@@ -324,7 +325,7 @@ static const grpc_channel_filter test_server_filter = {
*/
static bool maybe_add_filter(grpc_channel_stack_builder* builder, void* arg) {
- grpc_channel_filter* filter = (grpc_channel_filter*)arg;
+ grpc_channel_filter* filter = static_cast<grpc_channel_filter*>(arg);
if (g_enable_filter) {
// Want to add the filter as close to the end as possible, to make
// sure that all of the filters work well together. However, we
diff --git a/test/core/end2end/tests/graceful_server_shutdown.cc b/test/core/end2end/tests/graceful_server_shutdown.cc
index bf11b49fa4..3ef414f83c 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.cc
+++ b/test/core/end2end/tests/graceful_server_shutdown.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -136,7 +135,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -170,7 +170,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/high_initial_seqno.cc b/test/core/end2end/tests/high_initial_seqno.cc
index d4d4f5a817..8767437802 100644
--- a/test/core/end2end/tests/high_initial_seqno.cc
+++ b/test/core/end2end/tests/high_initial_seqno.cc
@@ -27,7 +27,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -140,7 +139,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -170,7 +170,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/hpack_size.cc b/test/core/end2end/tests/hpack_size.cc
index 0d6ec01e36..b49736841e 100644
--- a/test/core/end2end/tests/hpack_size.cc
+++ b/test/core/end2end/tests/hpack_size.cc
@@ -27,9 +27,9 @@
#include <grpc/support/log.h>
#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/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -293,7 +293,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -323,7 +324,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/idempotent_request.cc b/test/core/end2end/tests/idempotent_request.cc
index 7487e4d83d..56be2d6afe 100644
--- a/test/core/end2end/tests/idempotent_request.cc
+++ b/test/core/end2end/tests/idempotent_request.cc
@@ -26,7 +26,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -144,7 +144,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -183,7 +184,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/invoke_large_request.cc b/test/core/end2end/tests/invoke_large_request.cc
index 8a67e3c2b1..1aab34c2ce 100644
--- a/test/core/end2end/tests/invoke_large_request.cc
+++ b/test/core/end2end/tests/invoke_large_request.cc
@@ -26,7 +26,8 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -175,7 +176,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -197,7 +199,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -223,7 +226,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/keepalive_timeout.cc b/test/core/end2end/tests/keepalive_timeout.cc
index 6482b86825..f0dd061e33 100644
--- a/test/core/end2end/tests/keepalive_timeout.cc
+++ b/test/core/end2end/tests/keepalive_timeout.cc
@@ -25,10 +25,11 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#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/gpr/useful.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/end2end/cq_verifier.h"
@@ -154,7 +155,8 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &response_payload_recv;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -171,7 +173,8 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
op->op = GRPC_OP_SEND_MESSAGE;
op->data.send_message.send_message = response_payload;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -185,7 +188,8 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
op->data.recv_status_on_client.status = &status;
op->data.recv_status_on_client.status_details = &details;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
diff --git a/test/core/end2end/tests/large_metadata.cc b/test/core/end2end/tests/large_metadata.cc
index 8ddf433ac0..da0615bf6e 100644
--- a/test/core/end2end/tests/large_metadata.cc
+++ b/test/core/end2end/tests/large_metadata.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -97,7 +96,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
grpc_arg arg;
arg.type = GRPC_ARG_INTEGER;
arg.key = const_cast<char*>(GRPC_ARG_MAX_METADATA_SIZE);
- arg.value.integer = (int)large_size + 1024;
+ arg.value.integer = static_cast<int>(large_size) + 1024;
grpc_channel_args args = {1, &arg};
grpc_end2end_test_fixture f =
begin_test(config, "test_request_with_large_metadata", &args, &args);
@@ -161,7 +160,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -185,7 +185,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -208,7 +209,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/load_reporting_hook.cc b/test/core/end2end/tests/load_reporting_hook.cc
index e056bd547b..9e79d02be4 100644
--- a/test/core/end2end/tests/load_reporting_hook.cc
+++ b/test/core/end2end/tests/load_reporting_hook.cc
@@ -24,7 +24,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/ext/filters/load_reporting/server_load_reporting_filter.h"
#include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h"
@@ -186,7 +185,8 @@ static void request_response_with_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -208,7 +208,8 @@ static void request_response_with_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -236,7 +237,8 @@ static void request_response_with_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/max_concurrent_streams.cc b/test/core/end2end/tests/max_concurrent_streams.cc
index c0539739e1..789b3d4b77 100644
--- a/test/core/end2end/tests/max_concurrent_streams.cc
+++ b/test/core/end2end/tests/max_concurrent_streams.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -136,7 +135,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -166,7 +166,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -275,7 +276,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(301), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(301), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -293,7 +295,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(302), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(302), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -307,7 +310,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(401), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(401), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -325,7 +329,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(402), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(402), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
got_client_start = 0;
@@ -346,7 +351,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
* both);
* check this here */
/* We'll get tag 303 or 403, we want 300, 400 */
- live_call = ((int)(intptr_t)ev.tag) - 1;
+ live_call = (static_cast<int>((intptr_t)ev.tag)) - 1;
got_client_start = 1;
}
}
@@ -372,7 +377,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s1, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s1, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -409,7 +415,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s2, ops, (size_t)(op - ops), tag(202), nullptr);
+ error = grpc_call_start_batch(s2, ops, static_cast<size_t>(op - ops),
+ tag(202), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(live_call + 2), 1);
@@ -515,7 +522,8 @@ static void test_max_concurrent_streams_with_timeout_on_first(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(301), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(301), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -533,7 +541,8 @@ static void test_max_concurrent_streams_with_timeout_on_first(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(302), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(302), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
@@ -551,7 +560,8 @@ static void test_max_concurrent_streams_with_timeout_on_first(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(401), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(401), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -569,7 +579,8 @@ static void test_max_concurrent_streams_with_timeout_on_first(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(402), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(402), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
grpc_call_details_destroy(&call_details);
@@ -604,7 +615,8 @@ static void test_max_concurrent_streams_with_timeout_on_first(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s2, ops, (size_t)(op - ops), tag(202), nullptr);
+ error = grpc_call_start_batch(s2, ops, static_cast<size_t>(op - ops),
+ tag(202), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(402), 1);
@@ -710,7 +722,8 @@ static void test_max_concurrent_streams_with_timeout_on_second(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(301), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(301), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -728,7 +741,8 @@ static void test_max_concurrent_streams_with_timeout_on_second(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c1, ops, (size_t)(op - ops), tag(302), nullptr);
+ error = grpc_call_start_batch(c1, ops, static_cast<size_t>(op - ops),
+ tag(302), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
@@ -746,7 +760,8 @@ static void test_max_concurrent_streams_with_timeout_on_second(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(401), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(401), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -764,7 +779,8 @@ static void test_max_concurrent_streams_with_timeout_on_second(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c2, ops, (size_t)(op - ops), tag(402), nullptr);
+ error = grpc_call_start_batch(c2, ops, static_cast<size_t>(op - ops),
+ tag(402), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* the second request is time out*/
@@ -797,7 +813,8 @@ static void test_max_concurrent_streams_with_timeout_on_second(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s1, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s1, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(302), 1);
diff --git a/test/core/end2end/tests/max_connection_age.cc b/test/core/end2end/tests/max_connection_age.cc
index ddccfc3b51..e494dad19c 100644
--- a/test/core/end2end/tests/max_connection_age.cc
+++ b/test/core/end2end/tests/max_connection_age.cc
@@ -24,8 +24,8 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#define MAX_CONNECTION_AGE_MS 500
@@ -145,7 +145,8 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -156,7 +157,8 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
cq_verify(cqv);
gpr_timespec expect_shutdown_time = grpc_timeout_milliseconds_to_deadline(
- (int)(MAX_CONNECTION_AGE_MS * MAX_CONNECTION_AGE_JITTER_MULTIPLIER) +
+ static_cast<int>(MAX_CONNECTION_AGE_MS *
+ MAX_CONNECTION_AGE_JITTER_MULTIPLIER) +
MAX_CONNECTION_AGE_GRACE_MS + IMMEDIATE_SHUTDOWN_GRACE_TIME_MS);
/* Wait for the channel to reach its max age */
@@ -190,7 +192,8 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
@@ -288,7 +291,8 @@ static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -325,7 +329,8 @@ static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
diff --git a/test/core/end2end/tests/max_connection_idle.cc b/test/core/end2end/tests/max_connection_idle.cc
index 293ff7d1f2..2f212b965f 100644
--- a/test/core/end2end/tests/max_connection_idle.cc
+++ b/test/core/end2end/tests/max_connection_idle.cc
@@ -25,8 +25,8 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#define MAX_CONNECTION_IDLE_MS 500
@@ -100,7 +100,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -139,7 +140,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/max_message_length.cc b/test/core/end2end/tests/max_message_length.cc
index e581f1fc20..3dd1737793 100644
--- a/test/core/end2end/tests/max_message_length.cc
+++ b/test/core/end2end/tests/max_message_length.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/slice/slice_internal.h"
@@ -220,7 +219,8 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
if (send_limit) {
@@ -248,7 +248,8 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -409,7 +410,8 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -444,7 +446,8 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/negative_deadline.cc b/test/core/end2end/tests/negative_deadline.cc
index b752bf9482..b28bee0fb2 100644
--- a/test/core/end2end/tests/negative_deadline.cc
+++ b/test/core/end2end/tests/negative_deadline.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
diff --git a/test/core/end2end/tests/network_status_change.cc b/test/core/end2end/tests/network_status_change.cc
index 7d0318fda6..83cb172f26 100644
--- a/test/core/end2end/tests/network_status_change.cc
+++ b/test/core/end2end/tests/network_status_change.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
/* this is a private API but exposed here for testing*/
@@ -151,7 +150,8 @@ static void test_invoke_network_status_change(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -171,7 +171,8 @@ static void test_invoke_network_status_change(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -194,7 +195,8 @@ static void test_invoke_network_status_change(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/no_logging.cc b/test/core/end2end/tests/no_logging.cc
index d89918bd3e..b357e3b0ad 100644
--- a/test/core/end2end/tests/no_logging.cc
+++ b/test/core/end2end/tests/no_logging.cc
@@ -27,7 +27,6 @@
#include <grpc/support/log.h>
#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 "test/core/end2end/cq_verifier.h"
@@ -171,7 +170,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -208,7 +208,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/no_op.cc b/test/core/end2end/tests/no_op.cc
index 18c2367ac4..020f842219 100644
--- a/test/core/end2end/tests/no_op.cc
+++ b/test/core/end2end/tests/no_op.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
diff --git a/test/core/end2end/tests/payload.cc b/test/core/end2end/tests/payload.cc
index 2e9513b9cb..340c76e173 100644
--- a/test/core/end2end/tests/payload.cc
+++ b/test/core/end2end/tests/payload.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -91,9 +90,9 @@ static grpc_slice generate_random_slice() {
static const char chars[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char* output;
const size_t output_size = 1024 * 1024;
- output = (char*)gpr_malloc(output_size);
+ output = static_cast<char*>(gpr_malloc(output_size));
for (i = 0; i < output_size - 1; ++i) {
- output[i] = chars[rand() % (int)(sizeof(chars) - 1)];
+ output[i] = chars[rand() % static_cast<int>(sizeof(chars) - 1)];
}
output[output_size - 1] = '\0';
grpc_slice out = grpc_slice_from_copied_string(output);
@@ -175,7 +174,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -197,7 +197,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -223,7 +224,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/ping.cc b/test/core/end2end/tests/ping.cc
index 725a425fbf..c01dfa858f 100644
--- a/test/core/end2end/tests/ping.cc
+++ b/test/core/end2end/tests/ping.cc
@@ -22,8 +22,8 @@
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/end2end/cq_verifier.h"
#define PING_NUM 5
diff --git a/test/core/end2end/tests/ping_pong_streaming.cc b/test/core/end2end/tests/ping_pong_streaming.cc
index ec7981fdcb..9ca880481f 100644
--- a/test/core/end2end/tests/ping_pong_streaming.cc
+++ b/test/core/end2end/tests/ping_pong_streaming.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -144,7 +143,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -166,7 +166,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(101), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(101),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
for (i = 0; i < messages; i++) {
@@ -185,7 +186,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -195,8 +197,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
@@ -208,8 +210,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
@@ -230,7 +232,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -243,7 +246,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/proxy_auth.cc b/test/core/end2end/tests/proxy_auth.cc
index 495151b592..5a2e0ef414 100644
--- a/test/core/end2end/tests/proxy_auth.cc
+++ b/test/core/end2end/tests/proxy_auth.cc
@@ -31,7 +31,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -149,7 +148,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -188,7 +188,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/registered_call.cc b/test/core/end2end/tests/registered_call.cc
index cefa89db4d..d4ca146707 100644
--- a/test/core/end2end/tests/registered_call.cc
+++ b/test/core/end2end/tests/registered_call.cc
@@ -26,7 +26,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -135,7 +135,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -165,7 +166,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/request_with_flags.cc b/test/core/end2end/tests/request_with_flags.cc
index 984d8b10f1..4a54318d0f 100644
--- a/test/core/end2end/tests/request_with_flags.cc
+++ b/test/core/end2end/tests/request_with_flags.cc
@@ -25,7 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/transport/byte_stream.h"
#include "test/core/end2end/cq_verifier.h"
@@ -150,7 +151,8 @@ static void test_invoke_request_with_flags(
op->reserved = nullptr;
op++;
expectation = call_start_batch_expected_result;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(expectation == error);
if (expectation == GRPC_CALL_OK) {
diff --git a/test/core/end2end/tests/request_with_payload.cc b/test/core/end2end/tests/request_with_payload.cc
index b3b9ee5726..44398df52d 100644
--- a/test/core/end2end/tests/request_with_payload.cc
+++ b/test/core/end2end/tests/request_with_payload.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -148,7 +147,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -169,7 +169,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -190,7 +191,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/resource_quota_server.cc b/test/core/end2end/tests/resource_quota_server.cc
index 0ee014f97d..33d6b4ef31 100644
--- a/test/core/end2end/tests/resource_quota_server.cc
+++ b/test/core/end2end/tests/resource_quota_server.cc
@@ -25,7 +25,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -91,9 +91,9 @@ static grpc_slice generate_random_slice() {
static const char chars[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char* output;
const size_t output_size = 1024 * 1024;
- output = (char*)gpr_malloc(output_size);
+ output = static_cast<char*>(gpr_malloc(output_size));
for (i = 0; i < output_size - 1; ++i) {
- output[i] = chars[rand() % (int)(sizeof(chars) - 1)];
+ output[i] = chars[rand() % static_cast<int>(sizeof(chars) - 1)];
}
output[output_size - 1] = '\0';
grpc_slice out = grpc_slice_from_copied_string(output);
@@ -132,25 +132,29 @@ void resource_quota_server(grpc_end2end_test_config config) {
grpc_slice request_payload_slice = generate_random_slice();
grpc_call** client_calls =
- (grpc_call**)malloc(sizeof(grpc_call*) * NUM_CALLS);
+ static_cast<grpc_call**>(malloc(sizeof(grpc_call*) * NUM_CALLS));
grpc_call** server_calls =
- (grpc_call**)malloc(sizeof(grpc_call*) * NUM_CALLS);
+ static_cast<grpc_call**>(malloc(sizeof(grpc_call*) * NUM_CALLS));
grpc_metadata_array* initial_metadata_recv =
- (grpc_metadata_array*)malloc(sizeof(grpc_metadata_array) * NUM_CALLS);
+ static_cast<grpc_metadata_array*>(
+ malloc(sizeof(grpc_metadata_array) * NUM_CALLS));
grpc_metadata_array* trailing_metadata_recv =
- (grpc_metadata_array*)malloc(sizeof(grpc_metadata_array) * NUM_CALLS);
+ static_cast<grpc_metadata_array*>(
+ malloc(sizeof(grpc_metadata_array) * NUM_CALLS));
grpc_metadata_array* request_metadata_recv =
- (grpc_metadata_array*)malloc(sizeof(grpc_metadata_array) * NUM_CALLS);
- grpc_call_details* call_details =
- (grpc_call_details*)malloc(sizeof(grpc_call_details) * NUM_CALLS);
- grpc_status_code* status =
- (grpc_status_code*)malloc(sizeof(grpc_status_code) * NUM_CALLS);
- grpc_slice* details = (grpc_slice*)malloc(sizeof(grpc_slice) * NUM_CALLS);
- grpc_byte_buffer** request_payload =
- (grpc_byte_buffer**)malloc(sizeof(grpc_byte_buffer*) * NUM_CALLS);
- grpc_byte_buffer** request_payload_recv =
- (grpc_byte_buffer**)malloc(sizeof(grpc_byte_buffer*) * NUM_CALLS);
- int* was_cancelled = (int*)malloc(sizeof(int) * NUM_CALLS);
+ static_cast<grpc_metadata_array*>(
+ malloc(sizeof(grpc_metadata_array) * NUM_CALLS));
+ grpc_call_details* call_details = static_cast<grpc_call_details*>(
+ malloc(sizeof(grpc_call_details) * NUM_CALLS));
+ grpc_status_code* status = static_cast<grpc_status_code*>(
+ malloc(sizeof(grpc_status_code) * NUM_CALLS));
+ grpc_slice* details =
+ static_cast<grpc_slice*>(malloc(sizeof(grpc_slice) * NUM_CALLS));
+ grpc_byte_buffer** request_payload = static_cast<grpc_byte_buffer**>(
+ malloc(sizeof(grpc_byte_buffer*) * NUM_CALLS));
+ grpc_byte_buffer** request_payload_recv = static_cast<grpc_byte_buffer**>(
+ malloc(sizeof(grpc_byte_buffer*) * NUM_CALLS));
+ int* was_cancelled = static_cast<int*>(malloc(sizeof(int) * NUM_CALLS));
grpc_call_error error;
int pending_client_calls = 0;
int pending_server_start_calls = 0;
@@ -220,7 +224,8 @@ void resource_quota_server(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(client_calls[i], ops, (size_t)(op - ops),
+ error = grpc_call_start_batch(client_calls[i], ops,
+ static_cast<size_t>(op - ops),
tag(CLIENT_BASE_TAG + i), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
@@ -234,7 +239,7 @@ void resource_quota_server(grpc_end2end_test_config config) {
grpc_completion_queue_next(f.cq, n_seconds_from_now(60), nullptr);
GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
- int ev_tag = (int)(intptr_t)ev.tag;
+ int ev_tag = static_cast<int>((intptr_t)ev.tag);
if (ev_tag < CLIENT_BASE_TAG) {
abort(); /* illegal tag */
} else if (ev_tag < SERVER_START_BASE_TAG) {
@@ -285,9 +290,9 @@ void resource_quota_server(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(server_calls[call_id], ops, (size_t)(op - ops),
- tag(SERVER_RECV_BASE_TAG + call_id), nullptr);
+ error = grpc_call_start_batch(
+ server_calls[call_id], ops, static_cast<size_t>(op - ops),
+ tag(SERVER_RECV_BASE_TAG + call_id), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(pending_server_start_calls > 0);
@@ -326,9 +331,9 @@ void resource_quota_server(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(server_calls[call_id], ops, (size_t)(op - ops),
- tag(SERVER_END_BASE_TAG + call_id), nullptr);
+ error = grpc_call_start_batch(
+ server_calls[call_id], ops, static_cast<size_t>(op - ops),
+ tag(SERVER_END_BASE_TAG + call_id), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(pending_server_recv_calls > 0);
diff --git a/test/core/end2end/tests/server_finishes_request.cc b/test/core/end2end/tests/server_finishes_request.cc
index 743b3aeb91..6fc06cfaa1 100644
--- a/test/core/end2end/tests/server_finishes_request.cc
+++ b/test/core/end2end/tests/server_finishes_request.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -134,7 +133,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -164,7 +164,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/shutdown_finishes_calls.cc b/test/core/end2end/tests/shutdown_finishes_calls.cc
index fce23f3b6a..34c4ebbf0a 100644
--- a/test/core/end2end/tests/shutdown_finishes_calls.cc
+++ b/test/core/end2end/tests/shutdown_finishes_calls.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -129,7 +128,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -146,7 +146,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* shutdown and destroy the server */
diff --git a/test/core/end2end/tests/shutdown_finishes_tags.cc b/test/core/end2end/tests/shutdown_finishes_tags.cc
index de64eba612..55caacb7ff 100644
--- a/test/core/end2end/tests/shutdown_finishes_tags.cc
+++ b/test/core/end2end/tests/shutdown_finishes_tags.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -78,7 +77,7 @@ static void test_early_server_shutdown_finishes_tags(
grpc_end2end_test_fixture f = begin_test(
config, "test_early_server_shutdown_finishes_tags", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
- grpc_call* s = (grpc_call*)(uintptr_t)1;
+ grpc_call* s = (grpc_call*)static_cast<uintptr_t>(1);
grpc_call_details call_details;
grpc_metadata_array request_metadata_recv;
diff --git a/test/core/end2end/tests/simple_cacheable_request.cc b/test/core/end2end/tests/simple_cacheable_request.cc
index d8034dcf6d..4ae8398a6e 100644
--- a/test/core/end2end/tests/simple_cacheable_request.cc
+++ b/test/core/end2end/tests/simple_cacheable_request.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
enum { TIMEOUT = 200000 };
@@ -179,7 +178,8 @@ static void test_cacheable_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -202,7 +202,8 @@ static void test_cacheable_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -228,7 +229,8 @@ static void test_cacheable_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/simple_delayed_request.cc b/test/core/end2end/tests/simple_delayed_request.cc
index 0ad224f579..f8a1ddfdc3 100644
--- a/test/core/end2end/tests/simple_delayed_request.cc
+++ b/test/core/end2end/tests/simple_delayed_request.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -130,7 +129,8 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -160,7 +160,8 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/simple_metadata.cc b/test/core/end2end/tests/simple_metadata.cc
index 1a741169d4..1f39f8983b 100644
--- a/test/core/end2end/tests/simple_metadata.cc
+++ b/test/core/end2end/tests/simple_metadata.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -177,7 +176,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -200,7 +200,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -226,7 +227,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/simple_request.cc b/test/core/end2end/tests/simple_request.cc
index ae93f79c9d..926e2c7452 100644
--- a/test/core/end2end/tests/simple_request.cc
+++ b/test/core/end2end/tests/simple_request.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/gpr/string.h"
#include "test/core/end2end/cq_verifier.h"
@@ -153,7 +152,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -192,7 +192,8 @@ static void simple_request_body(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
diff --git a/test/core/end2end/tests/stream_compression_compressed_payload.cc b/test/core/end2end/tests/stream_compression_compressed_payload.cc
index 9a384441f0..e90d54f054 100644
--- a/test/core/end2end/tests/stream_compression_compressed_payload.cc
+++ b/test/core/end2end/tests/stream_compression_compressed_payload.cc
@@ -28,7 +28,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/surface/call.h"
@@ -188,7 +187,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
@@ -206,7 +206,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), false);
@@ -217,7 +218,8 @@ static void request_for_disabled_algorithm(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
@@ -346,7 +348,8 @@ static void request_with_payload_template(
op->flags = client_send_flags_bitmask;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
}
@@ -375,7 +378,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -390,9 +394,9 @@ static void request_with_payload_template(
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
GRPC_COMPRESS_NONE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_DEFLATE) != 0);
+ GRPC_COMPRESS_DEFLATE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_GZIP) != 0);
+ GRPC_COMPRESS_GZIP) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
GRPC_COMPRESS_STREAM_GZIP) != 0);
GPR_ASSERT(GPR_BITCOUNT(grpc_call_test_only_get_encodings_accepted_by_peer(
@@ -415,7 +419,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(101), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(101),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
for (int i = 0; i < 2; i++) {
@@ -430,8 +435,8 @@ static void request_with_payload_template(
op->flags = client_send_flags_bitmask;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops),
+ tag(2), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
}
@@ -443,8 +448,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -460,8 +465,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -471,7 +476,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
@@ -496,7 +502,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -509,7 +516,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/stream_compression_payload.cc b/test/core/end2end/tests/stream_compression_payload.cc
index 9a27957fee..9eace97afd 100644
--- a/test/core/end2end/tests/stream_compression_payload.cc
+++ b/test/core/end2end/tests/stream_compression_payload.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/surface/call.h"
#include "test/core/end2end/cq_verifier.h"
@@ -94,9 +93,9 @@ static grpc_slice generate_random_slice() {
static const char chars[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char* output;
const size_t output_size = 1024 * 1024;
- output = (char*)gpr_malloc(output_size);
+ output = static_cast<char*>(gpr_malloc(output_size));
for (i = 0; i < output_size - 1; ++i) {
- output[i] = chars[rand() % (int)(sizeof(chars) - 1)];
+ output[i] = chars[rand() % static_cast<int>(sizeof(chars) - 1)];
}
output[output_size - 1] = '\0';
grpc_slice out = grpc_slice_from_copied_string(output);
@@ -178,7 +177,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -200,7 +200,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -226,7 +227,8 @@ static void request_response_with_payload(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/stream_compression_ping_pong_streaming.cc b/test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
index 4dc306b79e..5b033292b0 100644
--- a/test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
+++ b/test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
@@ -26,7 +26,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/surface/call.h"
#include "test/core/end2end/cq_verifier.h"
@@ -151,7 +151,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -173,7 +174,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(101), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(101),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
for (i = 0; i < messages; i++) {
@@ -192,7 +194,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -202,8 +205,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
@@ -215,8 +218,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
@@ -237,7 +240,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -250,7 +254,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
diff --git a/test/core/end2end/tests/streaming_error_response.cc b/test/core/end2end/tests/streaming_error_response.cc
index 6ad1cec086..7c7d778d1e 100644
--- a/test/core/end2end/tests/streaming_error_response.cc
+++ b/test/core/end2end/tests/streaming_error_response.cc
@@ -28,7 +28,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -149,7 +148,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
op->data.recv_status_on_client.status_details = &details;
op++;
}
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -166,7 +166,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
op->op = GRPC_OP_SEND_MESSAGE;
op->data.send_message.send_message = response_payload1;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -180,7 +181,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
op->op = GRPC_OP_SEND_MESSAGE;
op->data.send_message.send_message = response_payload2;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
@@ -191,7 +193,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &response_payload2_recv;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
@@ -209,7 +212,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
grpc_slice status_details = grpc_slice_from_static_string("xyz");
op->data.send_status_from_server.status_details = &status_details;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), 1);
@@ -226,7 +230,8 @@ static void test(grpc_end2end_test_config config, bool request_status_early) {
op->data.recv_status_on_client.status = &status;
op->data.recv_status_on_client.status_details = &details;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
diff --git a/test/core/end2end/tests/trailing_metadata.cc b/test/core/end2end/tests/trailing_metadata.cc
index afc56c8dfa..24069854ac 100644
--- a/test/core/end2end/tests/trailing_metadata.cc
+++ b/test/core/end2end/tests/trailing_metadata.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -185,7 +184,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -208,7 +208,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
@@ -235,7 +236,8 @@ static void test_request_response_with_metadata_and_payload(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
diff --git a/test/core/end2end/tests/workaround_cronet_compression.cc b/test/core/end2end/tests/workaround_cronet_compression.cc
index 97ab814d27..4d4c369a42 100644
--- a/test/core/end2end/tests/workaround_cronet_compression.cc
+++ b/test/core/end2end/tests/workaround_cronet_compression.cc
@@ -28,7 +28,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/surface/call.h"
@@ -192,7 +191,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
error =
@@ -207,9 +207,9 @@ static void request_with_payload_template(
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
GRPC_COMPRESS_NONE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_DEFLATE) != 0);
+ GRPC_COMPRESS_DEFLATE) != 0);
GPR_ASSERT(GPR_BITGET(grpc_call_test_only_get_encodings_accepted_by_peer(s),
- GRPC_COMPRESS_MESSAGE_GZIP) != 0);
+ GRPC_COMPRESS_GZIP) != 0);
memset(ops, 0, sizeof(ops));
op = ops;
@@ -228,7 +228,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(101), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(101),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
for (int i = 0; i < 2; i++) {
@@ -247,7 +248,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -257,8 +259,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
@@ -275,8 +277,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error =
- grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
+ tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
@@ -309,7 +311,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -322,7 +325,8 @@ static void request_with_payload_template(
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
@@ -365,16 +369,16 @@ typedef struct workaround_cronet_compression_config {
} workaround_cronet_compression_config;
static workaround_cronet_compression_config workaround_configs[] = {
- {nullptr, GRPC_COMPRESS_MESSAGE_GZIP},
+ {nullptr, GRPC_COMPRESS_GZIP},
{const_cast<char*>(
"grpc-objc/1.3.0-dev grpc-c/3.0.0-dev (ios; cronet_http; gentle)"),
GRPC_COMPRESS_NONE},
{const_cast<char*>(
"grpc-objc/1.3.0-dev grpc-c/3.0.0-dev (ios; chttp2; gentle)"),
- GRPC_COMPRESS_MESSAGE_GZIP},
+ GRPC_COMPRESS_GZIP},
{const_cast<char*>(
"grpc-objc/1.4.0 grpc-c/3.0.0-dev (ios; cronet_http; gentle)"),
- GRPC_COMPRESS_MESSAGE_GZIP}};
+ GRPC_COMPRESS_GZIP}};
static const size_t workaround_configs_num =
sizeof(workaround_configs) / sizeof(*workaround_configs);
@@ -383,8 +387,7 @@ static void test_workaround_cronet_compression(
for (uint32_t i = 0; i < workaround_configs_num; i++) {
request_with_payload_template(
config, "test_invoke_request_with_compressed_payload", 0,
- GRPC_COMPRESS_MESSAGE_GZIP, GRPC_COMPRESS_MESSAGE_GZIP,
- GRPC_COMPRESS_MESSAGE_GZIP,
+ GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
workaround_configs[i].expected_algorithm_from_server, nullptr, false,
/* ignored */ GRPC_COMPRESS_LEVEL_NONE,
workaround_configs[i].user_agent_override);
diff --git a/test/core/end2end/tests/write_buffering.cc b/test/core/end2end/tests/write_buffering.cc
index 40821dd6f0..5d76d238b9 100644
--- a/test/core/end2end/tests/write_buffering.cc
+++ b/test/core/end2end/tests/write_buffering.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -129,7 +128,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_SEND_INITIAL_METADATA;
op->data.send_initial_metadata.count = 0;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -139,7 +139,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -155,7 +156,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->data.send_message.send_message = request_payload1;
op->flags = GRPC_WRITE_BUFFER_HINT;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -163,7 +165,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_SEND_INITIAL_METADATA;
op->data.send_initial_metadata.count = 0;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* recv message should not succeed yet - it's buffered at the client still */
@@ -172,7 +175,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &request_payload_recv1;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
@@ -187,7 +191,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->data.send_message.send_message = request_payload2;
op->flags = 0;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* now the first send should match up with the first recv */
@@ -201,7 +206,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &request_payload_recv2;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), true);
@@ -220,7 +226,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
memset(ops, 0, sizeof(ops));
op = ops;
@@ -237,7 +244,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(105), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(105),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(105), 1);
diff --git a/test/core/end2end/tests/write_buffering_at_end.cc b/test/core/end2end/tests/write_buffering_at_end.cc
index 1b9dc9632b..bd046ef9cc 100644
--- a/test/core/end2end/tests/write_buffering_at_end.cc
+++ b/test/core/end2end/tests/write_buffering_at_end.cc
@@ -25,7 +25,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
static void* tag(intptr_t t) { return (void*)t; }
@@ -126,7 +125,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_SEND_INITIAL_METADATA;
op->data.send_initial_metadata.count = 0;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -136,7 +136,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
@@ -152,7 +153,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->data.send_message.send_message = request_payload;
op->flags = GRPC_WRITE_BUFFER_HINT;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(3), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
memset(ops, 0, sizeof(ops));
@@ -160,7 +162,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_SEND_INITIAL_METADATA;
op->data.send_initial_metadata.count = 0;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* recv message should not succeed yet - it's buffered at the client still */
@@ -169,7 +172,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &request_payload_recv1;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(103), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
@@ -182,7 +186,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op = ops;
op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* now the first send should match up with the first recv */
@@ -196,7 +201,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->op = GRPC_OP_RECV_MESSAGE;
op->data.recv_message.recv_message = &request_payload_recv2;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(104), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), true);
@@ -211,7 +217,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(4), nullptr);
+ error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
+ nullptr);
memset(ops, 0, sizeof(ops));
op = ops;
@@ -228,7 +235,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(105), nullptr);
+ error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(105),
+ nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(105), 1);
diff --git a/test/core/fling/client.cc b/test/core/fling/client.cc
index 28e62e0e83..05dc3052d1 100644
--- a/test/core/fling/client.cc
+++ b/test/core/fling/client.cc
@@ -21,11 +21,12 @@
#include <stdio.h>
#include <string.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/profiling/timers.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/grpc_profiler.h"
#include "test/core/util/histogram.h"
#include "test/core/util/test_config.h"
@@ -74,7 +75,7 @@ static void init_ping_pong_request(void) {
}
static void step_ping_pong_request(void) {
- GPR_TIMER_BEGIN("ping_pong", 1);
+ GPR_TIMER_SCOPE("ping_pong", 1);
grpc_slice host = grpc_slice_from_static_string("localhost");
call = grpc_channel_create_call(
channel, nullptr, GRPC_PROPAGATE_DEFAULTS, cq,
@@ -87,7 +88,6 @@ static void step_ping_pong_request(void) {
grpc_call_unref(call);
grpc_byte_buffer_destroy(response_payload_recv);
call = nullptr;
- GPR_TIMER_END("ping_pong", 1);
}
static void init_ping_pong_stream(void) {
@@ -117,18 +117,17 @@ static void init_ping_pong_stream(void) {
}
static void step_ping_pong_stream(void) {
+ GPR_TIMER_SCOPE("ping_pong", 1);
grpc_call_error error;
- GPR_TIMER_BEGIN("ping_pong", 1);
error = grpc_call_start_batch(call, stream_step_ops, 2, (void*)1, nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
grpc_completion_queue_next(cq, gpr_inf_future(GPR_CLOCK_REALTIME), nullptr);
grpc_byte_buffer_destroy(response_payload_recv);
- GPR_TIMER_END("ping_pong", 1);
}
static double now(void) {
gpr_timespec tv = gpr_now(GPR_CLOCK_REALTIME);
- return 1e9 * (double)tv.tv_sec + tv.tv_nsec;
+ return 1e9 * static_cast<double>(tv.tv_sec) + tv.tv_nsec;
}
typedef struct {
@@ -196,7 +195,8 @@ int main(int argc, char** argv) {
channel = grpc_insecure_channel_create(target, nullptr, nullptr);
cq = grpc_completion_queue_create_for_next(nullptr);
- the_buffer = grpc_raw_byte_buffer_create(&slice, (size_t)payload_size);
+ the_buffer =
+ grpc_raw_byte_buffer_create(&slice, static_cast<size_t>(payload_size));
histogram = grpc_histogram_create(0.01, 60e9);
sc.init();
diff --git a/test/core/fling/fling_stream_test.cc b/test/core/fling/fling_stream_test.cc
index b5a5ce816e..32bc989641 100644
--- a/test/core/fling/fling_stream_test.cc
+++ b/test/core/fling/fling_stream_test.cc
@@ -20,11 +20,12 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
+#include "test/core/util/subprocess.h"
int main(int argc, char** argv) {
char* me = argv[0];
@@ -36,7 +37,7 @@ int main(int argc, char** argv) {
gpr_subprocess *svr, *cli;
/* figure out where we are */
if (lslash) {
- memcpy(root, me, (size_t)(lslash - me));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
root[lslash - me] = 0;
} else {
strcpy(root, ".");
diff --git a/test/core/fling/fling_test.cc b/test/core/fling/fling_test.cc
index 3792e45c42..3587a4acaa 100644
--- a/test/core/fling/fling_test.cc
+++ b/test/core/fling/fling_test.cc
@@ -20,11 +20,12 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
+#include "test/core/util/subprocess.h"
int main(int argc, const char** argv) {
const char* me = argv[0];
@@ -36,7 +37,7 @@ int main(int argc, const char** argv) {
gpr_subprocess *svr, *cli;
/* figure out where we are */
if (lslash) {
- memcpy(root, me, (size_t)(lslash - me));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
root[lslash - me] = 0;
} else {
strcpy(root, ".");
diff --git a/test/core/fling/server.cc b/test/core/fling/server.cc
index f3a8a1ccf8..cf7e2465d9 100644
--- a/test/core/fling/server.cc
+++ b/test/core/fling/server.cc
@@ -30,12 +30,13 @@
#endif
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/profiling/timers.h"
#include "test/core/end2end/data/ssl_test_data.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/grpc_profiler.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
@@ -111,7 +112,8 @@ static void handle_unary_method(void) {
op->data.recv_close_on_server.cancelled = &was_cancelled;
op++;
- error = grpc_call_start_batch(call, unary_ops, (size_t)(op - unary_ops),
+ error = grpc_call_start_batch(call, unary_ops,
+ static_cast<size_t>(op - unary_ops),
tag(FLING_SERVER_BATCH_OPS_FOR_UNARY), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
}
@@ -188,7 +190,7 @@ int main(int argc, char** argv) {
grpc_test_init(1, fake_argv);
grpc_init();
- srand((unsigned)clock());
+ srand(static_cast<unsigned>(clock()));
cl = gpr_cmdline_create("fling server");
gpr_cmdline_add_string(cl, "bind", "Bind host:port", &addr);
diff --git a/test/core/gpr/BUILD b/test/core/gpr/BUILD
index 1be1036d04..9aa74cc132 100644
--- a/test/core/gpr/BUILD
+++ b/test/core/gpr/BUILD
@@ -29,26 +29,6 @@ grpc_cc_test(
)
grpc_cc_test(
- name = "avl_test",
- srcs = ["avl_test.cc"],
- language = "C++",
- deps = [
- "//:gpr",
- "//test/core/util:gpr_test_util",
- ],
-)
-
-grpc_cc_test(
- name = "cmdline_test",
- srcs = ["cmdline_test.cc"],
- language = "C++",
- deps = [
- "//:gpr",
- "//test/core/util:gpr_test_util",
- ],
-)
-
-grpc_cc_test(
name = "cpu_test",
srcs = ["cpu_test.cc"],
language = "C++",
diff --git a/test/core/gpr/alloc_test.cc b/test/core/gpr/alloc_test.cc
index bf4471c36f..36cdc02ff2 100644
--- a/test/core/gpr/alloc_test.cc
+++ b/test/core/gpr/alloc_test.cc
@@ -27,7 +27,9 @@ static void* fake_malloc(size_t size) { return (void*)size; }
static void* fake_realloc(void* addr, size_t size) { return (void*)size; }
-static void fake_free(void* addr) { *((intptr_t*)addr) = (intptr_t)0xdeadd00d; }
+static void fake_free(void* addr) {
+ *(static_cast<intptr_t*>(addr)) = static_cast<intptr_t>(0xdeadd00d);
+}
static void test_custom_allocs() {
const gpr_allocation_functions default_fns = gpr_get_allocation_functions();
diff --git a/test/core/gpr/arena_test.cc b/test/core/gpr/arena_test.cc
index 62a3f8bf50..c10d7eaff7 100644
--- a/test/core/gpr/arena_test.cc
+++ b/test/core/gpr/arena_test.cc
@@ -23,11 +23,11 @@
#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
#include <inttypes.h>
#include <string.h>
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
static void test_noop(void) { gpr_arena_destroy(gpr_arena_create(1)); }
@@ -86,7 +86,7 @@ static void concurrent_test_body(void* arg) {
concurrent_test_args* a = static_cast<concurrent_test_args*>(arg);
gpr_event_wait(&a->ev_start, gpr_inf_future(GPR_CLOCK_REALTIME));
for (size_t i = 0; i < concurrent_test_iterations(); i++) {
- *(char*)gpr_arena_alloc(a->arena, 1) = (char)i;
+ *static_cast<char*>(gpr_arena_alloc(a->arena, 1)) = static_cast<char>(i);
}
}
diff --git a/test/core/gpr/avl_test.cc b/test/core/gpr/avl_test.cc
deleted file mode 100644
index 345db557b9..0000000000
--- a/test/core/gpr/avl_test.cc
+++ /dev/null
@@ -1,3659 +0,0 @@
-/*
- *
- * Copyright 2015 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 <grpc/support/avl.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include <grpc/support/alloc.h>
-#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
-
-#include "test/core/util/test_config.h"
-
-static int* box(int x) {
- int* b = static_cast<int*>(gpr_malloc(sizeof(*b)));
- *b = x;
- return b;
-}
-
-static long int_compare(void* int1, void* int2, void* unused) {
- return (*(int*)int1) - (*(int*)int2);
-}
-static void* int_copy(void* p, void* unused) { return box(*(int*)p); }
-
-static void destroy(void* p, void* unused) { gpr_free(p); }
-
-static const gpr_avl_vtable int_int_vtable = {destroy, int_copy, int_compare,
- destroy, int_copy};
-
-static void check_get(gpr_avl avl, int key, int value) {
- int* k = box(key);
- GPR_ASSERT(*(int*)gpr_avl_get(avl, k, nullptr) == value);
- gpr_free(k);
-}
-
-static void check_negget(gpr_avl avl, int key) {
- int* k = box(key);
- GPR_ASSERT(gpr_avl_get(avl, k, nullptr) == nullptr);
- gpr_free(k);
-}
-
-static gpr_avl remove_int(gpr_avl avl, int key) {
- int* k = box(key);
- avl = gpr_avl_remove(avl, k, nullptr);
- gpr_free(k);
- return avl;
-}
-
-static void test_get(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_get");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(1), box(11), nullptr);
- avl = gpr_avl_add(avl, box(2), box(22), nullptr);
- avl = gpr_avl_add(avl, box(3), box(33), nullptr);
- check_get(avl, 1, 11);
- check_get(avl, 2, 22);
- check_get(avl, 3, 33);
- check_negget(avl, 4);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_ll(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_ll");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(5), box(1), nullptr);
- avl = gpr_avl_add(avl, box(4), box(2), nullptr);
- avl = gpr_avl_add(avl, box(3), box(3), nullptr);
- GPR_ASSERT(*(int*)avl.root->key == 4);
- GPR_ASSERT(*(int*)avl.root->left->key == 3);
- GPR_ASSERT(*(int*)avl.root->right->key == 5);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_lr(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_lr");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(5), box(1), nullptr);
- avl = gpr_avl_add(avl, box(3), box(2), nullptr);
- avl = gpr_avl_add(avl, box(4), box(3), nullptr);
- GPR_ASSERT(*(int*)avl.root->key == 4);
- GPR_ASSERT(*(int*)avl.root->left->key == 3);
- GPR_ASSERT(*(int*)avl.root->right->key == 5);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_rr(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_rr");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(3), box(1), nullptr);
- avl = gpr_avl_add(avl, box(4), box(2), nullptr);
- avl = gpr_avl_add(avl, box(5), box(3), nullptr);
- GPR_ASSERT(*(int*)avl.root->key == 4);
- GPR_ASSERT(*(int*)avl.root->left->key == 3);
- GPR_ASSERT(*(int*)avl.root->right->key == 5);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_rl(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_rl");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(3), box(1), nullptr);
- avl = gpr_avl_add(avl, box(5), box(2), nullptr);
- avl = gpr_avl_add(avl, box(4), box(3), nullptr);
- GPR_ASSERT(*(int*)avl.root->key == 4);
- GPR_ASSERT(*(int*)avl.root->left->key == 3);
- GPR_ASSERT(*(int*)avl.root->right->key == 5);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_unbalanced(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_unbalanced");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(5), box(1), nullptr);
- avl = gpr_avl_add(avl, box(4), box(2), nullptr);
- avl = gpr_avl_add(avl, box(3), box(3), nullptr);
- avl = gpr_avl_add(avl, box(2), box(4), nullptr);
- avl = gpr_avl_add(avl, box(1), box(5), nullptr);
- GPR_ASSERT(*(int*)avl.root->key == 4);
- GPR_ASSERT(*(int*)avl.root->left->key == 2);
- GPR_ASSERT(*(int*)avl.root->left->left->key == 1);
- GPR_ASSERT(*(int*)avl.root->left->right->key == 3);
- GPR_ASSERT(*(int*)avl.root->right->key == 5);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_replace(void) {
- gpr_avl avl;
- gpr_log(GPR_DEBUG, "test_replace");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(1), box(1), nullptr);
- avl = gpr_avl_add(avl, box(1), box(2), nullptr);
- check_get(avl, 1, 2);
- check_negget(avl, 2);
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_remove(void) {
- gpr_avl avl;
- gpr_avl avl3, avl4, avl5, avln;
- gpr_log(GPR_DEBUG, "test_remove");
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(3), box(1), nullptr);
- avl = gpr_avl_add(avl, box(4), box(2), nullptr);
- avl = gpr_avl_add(avl, box(5), box(3), nullptr);
-
- avl3 = remove_int(gpr_avl_ref(avl, nullptr), 3);
- avl4 = remove_int(gpr_avl_ref(avl, nullptr), 4);
- avl5 = remove_int(gpr_avl_ref(avl, nullptr), 5);
- avln = remove_int(gpr_avl_ref(avl, nullptr), 1);
-
- gpr_avl_unref(avl, nullptr);
-
- check_negget(avl3, 3);
- check_get(avl3, 4, 2);
- check_get(avl3, 5, 3);
- gpr_avl_unref(avl3, nullptr);
-
- check_get(avl4, 3, 1);
- check_negget(avl4, 4);
- check_get(avl4, 5, 3);
- gpr_avl_unref(avl4, nullptr);
-
- check_get(avl5, 3, 1);
- check_get(avl5, 4, 2);
- check_negget(avl5, 5);
- gpr_avl_unref(avl5, nullptr);
-
- check_get(avln, 3, 1);
- check_get(avln, 4, 2);
- check_get(avln, 5, 3);
- gpr_avl_unref(avln, nullptr);
-}
-
-static void test_badcase1(void) {
- gpr_avl avl;
-
- gpr_log(GPR_DEBUG, "test_badcase1");
-
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(88), box(1), nullptr);
- avl = remove_int(avl, 643);
- avl = remove_int(avl, 983);
- avl = gpr_avl_add(avl, box(985), box(4), nullptr);
- avl = gpr_avl_add(avl, box(640), box(5), nullptr);
- avl = gpr_avl_add(avl, box(41), box(6), nullptr);
- avl = gpr_avl_add(avl, box(112), box(7), nullptr);
- avl = gpr_avl_add(avl, box(342), box(8), nullptr);
- avl = remove_int(avl, 1013);
- avl = gpr_avl_add(avl, box(434), box(10), nullptr);
- avl = gpr_avl_add(avl, box(520), box(11), nullptr);
- avl = gpr_avl_add(avl, box(231), box(12), nullptr);
- avl = gpr_avl_add(avl, box(852), box(13), nullptr);
- avl = remove_int(avl, 461);
- avl = gpr_avl_add(avl, box(108), box(15), nullptr);
- avl = gpr_avl_add(avl, box(806), box(16), nullptr);
- avl = gpr_avl_add(avl, box(827), box(17), nullptr);
- avl = remove_int(avl, 796);
- avl = gpr_avl_add(avl, box(340), box(19), nullptr);
- avl = gpr_avl_add(avl, box(498), box(20), nullptr);
- avl = gpr_avl_add(avl, box(203), box(21), nullptr);
- avl = gpr_avl_add(avl, box(751), box(22), nullptr);
- avl = gpr_avl_add(avl, box(150), box(23), nullptr);
- avl = remove_int(avl, 237);
- avl = gpr_avl_add(avl, box(830), box(25), nullptr);
- avl = remove_int(avl, 1007);
- avl = remove_int(avl, 394);
- avl = gpr_avl_add(avl, box(65), box(28), nullptr);
- avl = remove_int(avl, 904);
- avl = remove_int(avl, 123);
- avl = gpr_avl_add(avl, box(238), box(31), nullptr);
- avl = gpr_avl_add(avl, box(184), box(32), nullptr);
- avl = remove_int(avl, 331);
- avl = gpr_avl_add(avl, box(827), box(34), nullptr);
-
- check_get(avl, 830, 25);
-
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_badcase2(void) {
- gpr_avl avl;
-
- gpr_log(GPR_DEBUG, "test_badcase2");
-
- avl = gpr_avl_create(&int_int_vtable);
- avl = gpr_avl_add(avl, box(288), box(1), nullptr);
- avl = remove_int(avl, 415);
- avl = gpr_avl_add(avl, box(953), box(3), nullptr);
- avl = gpr_avl_add(avl, box(101), box(4), nullptr);
- avl = gpr_avl_add(avl, box(516), box(5), nullptr);
- avl = gpr_avl_add(avl, box(547), box(6), nullptr);
- avl = gpr_avl_add(avl, box(467), box(7), nullptr);
- avl = gpr_avl_add(avl, box(793), box(8), nullptr);
- avl = remove_int(avl, 190);
- avl = gpr_avl_add(avl, box(687), box(10), nullptr);
- avl = gpr_avl_add(avl, box(242), box(11), nullptr);
- avl = gpr_avl_add(avl, box(142), box(12), nullptr);
- avl = remove_int(avl, 705);
- avl = remove_int(avl, 578);
- avl = remove_int(avl, 767);
- avl = remove_int(avl, 183);
- avl = gpr_avl_add(avl, box(950), box(17), nullptr);
- avl = gpr_avl_add(avl, box(622), box(18), nullptr);
- avl = remove_int(avl, 513);
- avl = remove_int(avl, 429);
- avl = gpr_avl_add(avl, box(205), box(21), nullptr);
- avl = remove_int(avl, 663);
- avl = remove_int(avl, 953);
- avl = remove_int(avl, 892);
- avl = gpr_avl_add(avl, box(236), box(25), nullptr);
- avl = remove_int(avl, 982);
- avl = remove_int(avl, 201);
- avl = remove_int(avl, 684);
- avl = gpr_avl_add(avl, box(572), box(29), nullptr);
- avl = remove_int(avl, 817);
- avl = gpr_avl_add(avl, box(970), box(31), nullptr);
- avl = remove_int(avl, 347);
- avl = remove_int(avl, 574);
- avl = gpr_avl_add(avl, box(752), box(34), nullptr);
- avl = gpr_avl_add(avl, box(670), box(35), nullptr);
- avl = gpr_avl_add(avl, box(69), box(36), nullptr);
- avl = remove_int(avl, 111);
- avl = remove_int(avl, 523);
- avl = gpr_avl_add(avl, box(141), box(39), nullptr);
- avl = remove_int(avl, 159);
- avl = gpr_avl_add(avl, box(947), box(41), nullptr);
- avl = gpr_avl_add(avl, box(855), box(42), nullptr);
- avl = remove_int(avl, 218);
- avl = remove_int(avl, 6);
- avl = gpr_avl_add(avl, box(753), box(45), nullptr);
- avl = remove_int(avl, 82);
- avl = remove_int(avl, 799);
- avl = gpr_avl_add(avl, box(572), box(48), nullptr);
- avl = remove_int(avl, 376);
- avl = remove_int(avl, 413);
- avl = gpr_avl_add(avl, box(458), box(51), nullptr);
- avl = remove_int(avl, 897);
- avl = gpr_avl_add(avl, box(191), box(53), nullptr);
- avl = gpr_avl_add(avl, box(609), box(54), nullptr);
- avl = remove_int(avl, 787);
- avl = remove_int(avl, 710);
- avl = remove_int(avl, 886);
- avl = remove_int(avl, 835);
- avl = remove_int(avl, 33);
- avl = gpr_avl_add(avl, box(871), box(60), nullptr);
- avl = remove_int(avl, 641);
- avl = gpr_avl_add(avl, box(462), box(62), nullptr);
- avl = remove_int(avl, 359);
- avl = remove_int(avl, 767);
- avl = gpr_avl_add(avl, box(310), box(65), nullptr);
- avl = remove_int(avl, 757);
- avl = remove_int(avl, 639);
- avl = remove_int(avl, 314);
- avl = gpr_avl_add(avl, box(2), box(69), nullptr);
- avl = remove_int(avl, 138);
- avl = gpr_avl_add(avl, box(669), box(71), nullptr);
- avl = remove_int(avl, 477);
- avl = gpr_avl_add(avl, box(366), box(73), nullptr);
- avl = gpr_avl_add(avl, box(612), box(74), nullptr);
- avl = gpr_avl_add(avl, box(106), box(75), nullptr);
- avl = remove_int(avl, 161);
- avl = gpr_avl_add(avl, box(388), box(77), nullptr);
- avl = gpr_avl_add(avl, box(141), box(78), nullptr);
- avl = remove_int(avl, 633);
- avl = remove_int(avl, 459);
- avl = gpr_avl_add(avl, box(40), box(81), nullptr);
- avl = remove_int(avl, 689);
- avl = gpr_avl_add(avl, box(823), box(83), nullptr);
- avl = remove_int(avl, 485);
- avl = gpr_avl_add(avl, box(903), box(85), nullptr);
- avl = gpr_avl_add(avl, box(592), box(86), nullptr);
- avl = remove_int(avl, 448);
- avl = gpr_avl_add(avl, box(56), box(88), nullptr);
- avl = remove_int(avl, 333);
- avl = gpr_avl_add(avl, box(189), box(90), nullptr);
- avl = gpr_avl_add(avl, box(103), box(91), nullptr);
- avl = remove_int(avl, 164);
- avl = remove_int(avl, 974);
- avl = gpr_avl_add(avl, box(215), box(94), nullptr);
- avl = remove_int(avl, 189);
- avl = remove_int(avl, 504);
- avl = gpr_avl_add(avl, box(868), box(97), nullptr);
- avl = remove_int(avl, 909);
- avl = remove_int(avl, 148);
- avl = remove_int(avl, 469);
- avl = gpr_avl_add(avl, box(994), box(101), nullptr);
- avl = gpr_avl_add(avl, box(576), box(102), nullptr);
- avl = remove_int(avl, 82);
- avl = remove_int(avl, 209);
- avl = gpr_avl_add(avl, box(276), box(105), nullptr);
- avl = remove_int(avl, 856);
- avl = gpr_avl_add(avl, box(750), box(107), nullptr);
- avl = remove_int(avl, 871);
- avl = gpr_avl_add(avl, box(301), box(109), nullptr);
- avl = remove_int(avl, 260);
- avl = remove_int(avl, 737);
- avl = remove_int(avl, 719);
- avl = gpr_avl_add(avl, box(933), box(113), nullptr);
- avl = gpr_avl_add(avl, box(225), box(114), nullptr);
- avl = gpr_avl_add(avl, box(975), box(115), nullptr);
- avl = gpr_avl_add(avl, box(86), box(116), nullptr);
- avl = remove_int(avl, 732);
- avl = gpr_avl_add(avl, box(340), box(118), nullptr);
- avl = gpr_avl_add(avl, box(271), box(119), nullptr);
- avl = remove_int(avl, 206);
- avl = gpr_avl_add(avl, box(949), box(121), nullptr);
- avl = gpr_avl_add(avl, box(927), box(122), nullptr);
- avl = gpr_avl_add(avl, box(34), box(123), nullptr);
- avl = gpr_avl_add(avl, box(351), box(124), nullptr);
- avl = remove_int(avl, 836);
- avl = gpr_avl_add(avl, box(825), box(126), nullptr);
- avl = gpr_avl_add(avl, box(352), box(127), nullptr);
- avl = remove_int(avl, 107);
- avl = remove_int(avl, 101);
- avl = gpr_avl_add(avl, box(320), box(130), nullptr);
- avl = gpr_avl_add(avl, box(3), box(131), nullptr);
- avl = remove_int(avl, 998);
- avl = remove_int(avl, 44);
- avl = gpr_avl_add(avl, box(525), box(134), nullptr);
- avl = gpr_avl_add(avl, box(864), box(135), nullptr);
- avl = gpr_avl_add(avl, box(863), box(136), nullptr);
- avl = remove_int(avl, 770);
- avl = gpr_avl_add(avl, box(440), box(138), nullptr);
- avl = remove_int(avl, 516);
- avl = gpr_avl_add(avl, box(116), box(140), nullptr);
- avl = remove_int(avl, 380);
- avl = gpr_avl_add(avl, box(878), box(142), nullptr);
- avl = remove_int(avl, 439);
- avl = gpr_avl_add(avl, box(994), box(144), nullptr);
- avl = remove_int(avl, 294);
- avl = remove_int(avl, 593);
- avl = gpr_avl_add(avl, box(696), box(147), nullptr);
- avl = remove_int(avl, 8);
- avl = gpr_avl_add(avl, box(881), box(149), nullptr);
- avl = remove_int(avl, 32);
- avl = remove_int(avl, 242);
- avl = gpr_avl_add(avl, box(487), box(152), nullptr);
- avl = gpr_avl_add(avl, box(637), box(153), nullptr);
- avl = gpr_avl_add(avl, box(793), box(154), nullptr);
- avl = gpr_avl_add(avl, box(696), box(155), nullptr);
- avl = remove_int(avl, 458);
- avl = gpr_avl_add(avl, box(828), box(157), nullptr);
- avl = remove_int(avl, 784);
- avl = remove_int(avl, 274);
- avl = gpr_avl_add(avl, box(783), box(160), nullptr);
- avl = remove_int(avl, 21);
- avl = gpr_avl_add(avl, box(866), box(162), nullptr);
- avl = remove_int(avl, 919);
- avl = gpr_avl_add(avl, box(435), box(164), nullptr);
- avl = remove_int(avl, 385);
- avl = gpr_avl_add(avl, box(475), box(166), nullptr);
- avl = remove_int(avl, 339);
- avl = gpr_avl_add(avl, box(615), box(168), nullptr);
- avl = remove_int(avl, 866);
- avl = remove_int(avl, 82);
- avl = remove_int(avl, 271);
- avl = gpr_avl_add(avl, box(590), box(172), nullptr);
- avl = gpr_avl_add(avl, box(852), box(173), nullptr);
- avl = remove_int(avl, 318);
- avl = remove_int(avl, 82);
- avl = gpr_avl_add(avl, box(672), box(176), nullptr);
- avl = remove_int(avl, 430);
- avl = gpr_avl_add(avl, box(821), box(178), nullptr);
- avl = gpr_avl_add(avl, box(365), box(179), nullptr);
- avl = remove_int(avl, 78);
- avl = gpr_avl_add(avl, box(700), box(181), nullptr);
- avl = gpr_avl_add(avl, box(353), box(182), nullptr);
- avl = remove_int(avl, 492);
- avl = gpr_avl_add(avl, box(991), box(184), nullptr);
- avl = remove_int(avl, 330);
- avl = gpr_avl_add(avl, box(873), box(186), nullptr);
- avl = remove_int(avl, 589);
- avl = gpr_avl_add(avl, box(676), box(188), nullptr);
- avl = gpr_avl_add(avl, box(790), box(189), nullptr);
- avl = remove_int(avl, 521);
- avl = remove_int(avl, 47);
- avl = gpr_avl_add(avl, box(976), box(192), nullptr);
- avl = gpr_avl_add(avl, box(683), box(193), nullptr);
- avl = remove_int(avl, 803);
- avl = remove_int(avl, 1006);
- avl = gpr_avl_add(avl, box(775), box(196), nullptr);
- avl = gpr_avl_add(avl, box(411), box(197), nullptr);
- avl = gpr_avl_add(avl, box(697), box(198), nullptr);
- avl = remove_int(avl, 50);
- avl = gpr_avl_add(avl, box(213), box(200), nullptr);
- avl = remove_int(avl, 714);
- avl = gpr_avl_add(avl, box(981), box(202), nullptr);
- avl = gpr_avl_add(avl, box(502), box(203), nullptr);
- avl = gpr_avl_add(avl, box(697), box(204), nullptr);
- avl = gpr_avl_add(avl, box(603), box(205), nullptr);
- avl = gpr_avl_add(avl, box(117), box(206), nullptr);
- avl = remove_int(avl, 363);
- avl = gpr_avl_add(avl, box(104), box(208), nullptr);
- avl = remove_int(avl, 842);
- avl = gpr_avl_add(avl, box(48), box(210), nullptr);
- avl = remove_int(avl, 764);
- avl = gpr_avl_add(avl, box(482), box(212), nullptr);
- avl = gpr_avl_add(avl, box(928), box(213), nullptr);
- avl = gpr_avl_add(avl, box(30), box(214), nullptr);
- avl = gpr_avl_add(avl, box(820), box(215), nullptr);
- avl = gpr_avl_add(avl, box(334), box(216), nullptr);
- avl = remove_int(avl, 306);
- avl = gpr_avl_add(avl, box(789), box(218), nullptr);
- avl = remove_int(avl, 924);
- avl = gpr_avl_add(avl, box(53), box(220), nullptr);
- avl = remove_int(avl, 657);
- avl = gpr_avl_add(avl, box(130), box(222), nullptr);
- avl = gpr_avl_add(avl, box(239), box(223), nullptr);
- avl = remove_int(avl, 20);
- avl = gpr_avl_add(avl, box(117), box(225), nullptr);
- avl = remove_int(avl, 882);
- avl = remove_int(avl, 891);
- avl = gpr_avl_add(avl, box(9), box(228), nullptr);
- avl = gpr_avl_add(avl, box(496), box(229), nullptr);
- avl = gpr_avl_add(avl, box(750), box(230), nullptr);
- avl = gpr_avl_add(avl, box(283), box(231), nullptr);
- avl = gpr_avl_add(avl, box(802), box(232), nullptr);
- avl = remove_int(avl, 352);
- avl = gpr_avl_add(avl, box(374), box(234), nullptr);
- avl = gpr_avl_add(avl, box(6), box(235), nullptr);
- avl = gpr_avl_add(avl, box(756), box(236), nullptr);
- avl = gpr_avl_add(avl, box(597), box(237), nullptr);
- avl = gpr_avl_add(avl, box(661), box(238), nullptr);
- avl = remove_int(avl, 96);
- avl = gpr_avl_add(avl, box(894), box(240), nullptr);
- avl = remove_int(avl, 749);
- avl = gpr_avl_add(avl, box(71), box(242), nullptr);
- avl = remove_int(avl, 68);
- avl = gpr_avl_add(avl, box(388), box(244), nullptr);
- avl = remove_int(avl, 119);
- avl = remove_int(avl, 856);
- avl = gpr_avl_add(avl, box(176), box(247), nullptr);
- avl = gpr_avl_add(avl, box(993), box(248), nullptr);
- avl = remove_int(avl, 178);
- avl = remove_int(avl, 781);
- avl = remove_int(avl, 771);
- avl = remove_int(avl, 848);
- avl = remove_int(avl, 376);
- avl = remove_int(avl, 157);
- avl = remove_int(avl, 142);
- avl = remove_int(avl, 686);
- avl = gpr_avl_add(avl, box(779), box(257), nullptr);
- avl = gpr_avl_add(avl, box(484), box(258), nullptr);
- avl = remove_int(avl, 837);
- avl = gpr_avl_add(avl, box(388), box(260), nullptr);
- avl = remove_int(avl, 987);
- avl = gpr_avl_add(avl, box(336), box(262), nullptr);
- avl = remove_int(avl, 855);
- avl = gpr_avl_add(avl, box(668), box(264), nullptr);
- avl = remove_int(avl, 648);
- avl = gpr_avl_add(avl, box(193), box(266), nullptr);
- avl = remove_int(avl, 939);
- avl = gpr_avl_add(avl, box(740), box(268), nullptr);
- avl = gpr_avl_add(avl, box(503), box(269), nullptr);
- avl = gpr_avl_add(avl, box(765), box(270), nullptr);
- avl = remove_int(avl, 924);
- avl = remove_int(avl, 513);
- avl = gpr_avl_add(avl, box(161), box(273), nullptr);
- avl = gpr_avl_add(avl, box(502), box(274), nullptr);
- avl = gpr_avl_add(avl, box(846), box(275), nullptr);
- avl = remove_int(avl, 931);
- avl = gpr_avl_add(avl, box(87), box(277), nullptr);
- avl = gpr_avl_add(avl, box(949), box(278), nullptr);
- avl = gpr_avl_add(avl, box(548), box(279), nullptr);
- avl = gpr_avl_add(avl, box(951), box(280), nullptr);
- avl = remove_int(avl, 1018);
- avl = remove_int(avl, 568);
- avl = gpr_avl_add(avl, box(138), box(283), nullptr);
- avl = gpr_avl_add(avl, box(202), box(284), nullptr);
- avl = gpr_avl_add(avl, box(157), box(285), nullptr);
- avl = gpr_avl_add(avl, box(264), box(286), nullptr);
- avl = gpr_avl_add(avl, box(370), box(287), nullptr);
- avl = remove_int(avl, 736);
- avl = remove_int(avl, 751);
- avl = remove_int(avl, 506);
- avl = remove_int(avl, 81);
- avl = remove_int(avl, 358);
- avl = remove_int(avl, 657);
- avl = remove_int(avl, 86);
- avl = gpr_avl_add(avl, box(876), box(295), nullptr);
- avl = remove_int(avl, 354);
- avl = gpr_avl_add(avl, box(134), box(297), nullptr);
- avl = remove_int(avl, 781);
- avl = remove_int(avl, 183);
- avl = gpr_avl_add(avl, box(914), box(300), nullptr);
- avl = remove_int(avl, 926);
- avl = remove_int(avl, 398);
- avl = remove_int(avl, 932);
- avl = remove_int(avl, 804);
- avl = remove_int(avl, 326);
- avl = gpr_avl_add(avl, box(208), box(306), nullptr);
- avl = gpr_avl_add(avl, box(699), box(307), nullptr);
- avl = remove_int(avl, 576);
- avl = remove_int(avl, 850);
- avl = remove_int(avl, 514);
- avl = remove_int(avl, 676);
- avl = remove_int(avl, 549);
- avl = remove_int(avl, 767);
- avl = gpr_avl_add(avl, box(58), box(314), nullptr);
- avl = gpr_avl_add(avl, box(265), box(315), nullptr);
- avl = gpr_avl_add(avl, box(268), box(316), nullptr);
- avl = gpr_avl_add(avl, box(103), box(317), nullptr);
- avl = gpr_avl_add(avl, box(440), box(318), nullptr);
- avl = remove_int(avl, 777);
- avl = gpr_avl_add(avl, box(670), box(320), nullptr);
- avl = remove_int(avl, 506);
- avl = remove_int(avl, 487);
- avl = gpr_avl_add(avl, box(421), box(323), nullptr);
- avl = remove_int(avl, 514);
- avl = gpr_avl_add(avl, box(701), box(325), nullptr);
- avl = remove_int(avl, 949);
- avl = remove_int(avl, 872);
- avl = remove_int(avl, 139);
- avl = gpr_avl_add(avl, box(781), box(329), nullptr);
- avl = gpr_avl_add(avl, box(543), box(330), nullptr);
- avl = gpr_avl_add(avl, box(147), box(331), nullptr);
- avl = remove_int(avl, 190);
- avl = gpr_avl_add(avl, box(453), box(333), nullptr);
- avl = remove_int(avl, 262);
- avl = remove_int(avl, 850);
- avl = remove_int(avl, 286);
- avl = remove_int(avl, 787);
- avl = gpr_avl_add(avl, box(514), box(338), nullptr);
- avl = remove_int(avl, 812);
- avl = gpr_avl_add(avl, box(431), box(340), nullptr);
- avl = gpr_avl_add(avl, box(8), box(341), nullptr);
- avl = remove_int(avl, 843);
- avl = gpr_avl_add(avl, box(831), box(343), nullptr);
- avl = remove_int(avl, 472);
- avl = remove_int(avl, 157);
- avl = gpr_avl_add(avl, box(612), box(346), nullptr);
- avl = gpr_avl_add(avl, box(802), box(347), nullptr);
- avl = remove_int(avl, 554);
- avl = gpr_avl_add(avl, box(409), box(349), nullptr);
- avl = gpr_avl_add(avl, box(439), box(350), nullptr);
- avl = gpr_avl_add(avl, box(725), box(351), nullptr);
- avl = gpr_avl_add(avl, box(568), box(352), nullptr);
- avl = remove_int(avl, 475);
- avl = remove_int(avl, 672);
- avl = remove_int(avl, 62);
- avl = remove_int(avl, 753);
- avl = gpr_avl_add(avl, box(435), box(357), nullptr);
- avl = gpr_avl_add(avl, box(950), box(358), nullptr);
- avl = gpr_avl_add(avl, box(532), box(359), nullptr);
- avl = gpr_avl_add(avl, box(832), box(360), nullptr);
- avl = remove_int(avl, 390);
- avl = gpr_avl_add(avl, box(993), box(362), nullptr);
- avl = remove_int(avl, 198);
- avl = remove_int(avl, 401);
- avl = gpr_avl_add(avl, box(316), box(365), nullptr);
- avl = remove_int(avl, 843);
- avl = gpr_avl_add(avl, box(541), box(367), nullptr);
- avl = gpr_avl_add(avl, box(505), box(368), nullptr);
- avl = remove_int(avl, 445);
- avl = remove_int(avl, 256);
- avl = gpr_avl_add(avl, box(232), box(371), nullptr);
- avl = remove_int(avl, 577);
- avl = remove_int(avl, 558);
- avl = gpr_avl_add(avl, box(910), box(374), nullptr);
- avl = remove_int(avl, 902);
- avl = remove_int(avl, 755);
- avl = remove_int(avl, 114);
- avl = remove_int(avl, 438);
- avl = remove_int(avl, 224);
- avl = gpr_avl_add(avl, box(920), box(380), nullptr);
- avl = gpr_avl_add(avl, box(655), box(381), nullptr);
- avl = remove_int(avl, 557);
- avl = remove_int(avl, 102);
- avl = remove_int(avl, 165);
- avl = gpr_avl_add(avl, box(191), box(385), nullptr);
- avl = remove_int(avl, 30);
- avl = gpr_avl_add(avl, box(406), box(387), nullptr);
- avl = gpr_avl_add(avl, box(66), box(388), nullptr);
- avl = gpr_avl_add(avl, box(87), box(389), nullptr);
- avl = remove_int(avl, 7);
- avl = remove_int(avl, 671);
- avl = gpr_avl_add(avl, box(234), box(392), nullptr);
- avl = remove_int(avl, 463);
- avl = gpr_avl_add(avl, box(75), box(394), nullptr);
- avl = gpr_avl_add(avl, box(487), box(395), nullptr);
- avl = remove_int(avl, 203);
- avl = gpr_avl_add(avl, box(711), box(397), nullptr);
- avl = remove_int(avl, 291);
- avl = remove_int(avl, 798);
- avl = remove_int(avl, 337);
- avl = gpr_avl_add(avl, box(877), box(401), nullptr);
- avl = gpr_avl_add(avl, box(388), box(402), nullptr);
- avl = remove_int(avl, 975);
- avl = gpr_avl_add(avl, box(200), box(404), nullptr);
- avl = gpr_avl_add(avl, box(408), box(405), nullptr);
- avl = gpr_avl_add(avl, box(3), box(406), nullptr);
- avl = gpr_avl_add(avl, box(971), box(407), nullptr);
- avl = remove_int(avl, 841);
- avl = remove_int(avl, 910);
- avl = remove_int(avl, 74);
- avl = remove_int(avl, 888);
- avl = gpr_avl_add(avl, box(492), box(412), nullptr);
- avl = remove_int(avl, 14);
- avl = remove_int(avl, 364);
- avl = gpr_avl_add(avl, box(215), box(415), nullptr);
- avl = remove_int(avl, 778);
- avl = remove_int(avl, 45);
- avl = gpr_avl_add(avl, box(328), box(418), nullptr);
- avl = gpr_avl_add(avl, box(597), box(419), nullptr);
- avl = remove_int(avl, 34);
- avl = gpr_avl_add(avl, box(736), box(421), nullptr);
- avl = remove_int(avl, 37);
- avl = gpr_avl_add(avl, box(275), box(423), nullptr);
- avl = gpr_avl_add(avl, box(70), box(424), nullptr);
- avl = gpr_avl_add(avl, box(771), box(425), nullptr);
- avl = remove_int(avl, 536);
- avl = remove_int(avl, 421);
- avl = gpr_avl_add(avl, box(186), box(428), nullptr);
- avl = gpr_avl_add(avl, box(788), box(429), nullptr);
- avl = gpr_avl_add(avl, box(224), box(430), nullptr);
- avl = remove_int(avl, 228);
- avl = gpr_avl_add(avl, box(48), box(432), nullptr);
- avl = gpr_avl_add(avl, box(120), box(433), nullptr);
- avl = gpr_avl_add(avl, box(269), box(434), nullptr);
- avl = gpr_avl_add(avl, box(904), box(435), nullptr);
- avl = remove_int(avl, 699);
- avl = gpr_avl_add(avl, box(340), box(437), nullptr);
- avl = remove_int(avl, 276);
- avl = gpr_avl_add(avl, box(591), box(439), nullptr);
- avl = gpr_avl_add(avl, box(778), box(440), nullptr);
- avl = remove_int(avl, 490);
- avl = remove_int(avl, 973);
- avl = gpr_avl_add(avl, box(294), box(443), nullptr);
- avl = gpr_avl_add(avl, box(323), box(444), nullptr);
- avl = remove_int(avl, 685);
- avl = gpr_avl_add(avl, box(38), box(446), nullptr);
- avl = gpr_avl_add(avl, box(525), box(447), nullptr);
- avl = remove_int(avl, 162);
- avl = gpr_avl_add(avl, box(462), box(449), nullptr);
- avl = gpr_avl_add(avl, box(340), box(450), nullptr);
- avl = remove_int(avl, 734);
- avl = remove_int(avl, 959);
- avl = gpr_avl_add(avl, box(752), box(453), nullptr);
- avl = gpr_avl_add(avl, box(667), box(454), nullptr);
- avl = remove_int(avl, 558);
- avl = remove_int(avl, 657);
- avl = gpr_avl_add(avl, box(711), box(457), nullptr);
- avl = remove_int(avl, 937);
- avl = gpr_avl_add(avl, box(741), box(459), nullptr);
- avl = gpr_avl_add(avl, box(40), box(460), nullptr);
- avl = remove_int(avl, 784);
- avl = gpr_avl_add(avl, box(292), box(462), nullptr);
- avl = remove_int(avl, 164);
- avl = remove_int(avl, 931);
- avl = remove_int(avl, 886);
- avl = gpr_avl_add(avl, box(968), box(466), nullptr);
- avl = remove_int(avl, 263);
- avl = gpr_avl_add(avl, box(647), box(468), nullptr);
- avl = gpr_avl_add(avl, box(92), box(469), nullptr);
- avl = remove_int(avl, 310);
- avl = gpr_avl_add(avl, box(711), box(471), nullptr);
- avl = gpr_avl_add(avl, box(675), box(472), nullptr);
- avl = remove_int(avl, 549);
- avl = gpr_avl_add(avl, box(380), box(474), nullptr);
- avl = remove_int(avl, 825);
- avl = gpr_avl_add(avl, box(668), box(476), nullptr);
- avl = remove_int(avl, 498);
- avl = gpr_avl_add(avl, box(870), box(478), nullptr);
- avl = gpr_avl_add(avl, box(391), box(479), nullptr);
- avl = gpr_avl_add(avl, box(264), box(480), nullptr);
- avl = remove_int(avl, 1);
- avl = remove_int(avl, 849);
- avl = remove_int(avl, 88);
- avl = remove_int(avl, 255);
- avl = remove_int(avl, 763);
- avl = remove_int(avl, 831);
- avl = gpr_avl_add(avl, box(508), box(487), nullptr);
- avl = remove_int(avl, 849);
- avl = remove_int(avl, 47);
- avl = gpr_avl_add(avl, box(299), box(490), nullptr);
- avl = remove_int(avl, 625);
- avl = remove_int(avl, 433);
- avl = remove_int(avl, 904);
- avl = remove_int(avl, 761);
- avl = gpr_avl_add(avl, box(33), box(495), nullptr);
- avl = gpr_avl_add(avl, box(524), box(496), nullptr);
- avl = remove_int(avl, 210);
- avl = remove_int(avl, 299);
- avl = gpr_avl_add(avl, box(823), box(499), nullptr);
- avl = remove_int(avl, 479);
- avl = remove_int(avl, 96);
- avl = remove_int(avl, 1013);
- avl = gpr_avl_add(avl, box(768), box(503), nullptr);
- avl = remove_int(avl, 638);
- avl = remove_int(avl, 20);
- avl = gpr_avl_add(avl, box(663), box(506), nullptr);
- avl = remove_int(avl, 882);
- avl = gpr_avl_add(avl, box(745), box(508), nullptr);
- avl = remove_int(avl, 352);
- avl = gpr_avl_add(avl, box(10), box(510), nullptr);
- avl = remove_int(avl, 484);
- avl = gpr_avl_add(avl, box(420), box(512), nullptr);
- avl = gpr_avl_add(avl, box(884), box(513), nullptr);
- avl = gpr_avl_add(avl, box(993), box(514), nullptr);
- avl = gpr_avl_add(avl, box(251), box(515), nullptr);
- avl = remove_int(avl, 222);
- avl = gpr_avl_add(avl, box(734), box(517), nullptr);
- avl = gpr_avl_add(avl, box(952), box(518), nullptr);
- avl = remove_int(avl, 26);
- avl = remove_int(avl, 270);
- avl = remove_int(avl, 481);
- avl = remove_int(avl, 693);
- avl = remove_int(avl, 1006);
- avl = gpr_avl_add(avl, box(77), box(524), nullptr);
- avl = remove_int(avl, 897);
- avl = gpr_avl_add(avl, box(719), box(526), nullptr);
- avl = gpr_avl_add(avl, box(622), box(527), nullptr);
- avl = remove_int(avl, 28);
- avl = remove_int(avl, 836);
- avl = remove_int(avl, 142);
- avl = gpr_avl_add(avl, box(445), box(531), nullptr);
- avl = gpr_avl_add(avl, box(410), box(532), nullptr);
- avl = remove_int(avl, 575);
- avl = gpr_avl_add(avl, box(634), box(534), nullptr);
- avl = gpr_avl_add(avl, box(906), box(535), nullptr);
- avl = remove_int(avl, 649);
- avl = gpr_avl_add(avl, box(813), box(537), nullptr);
- avl = remove_int(avl, 702);
- avl = remove_int(avl, 732);
- avl = gpr_avl_add(avl, box(105), box(540), nullptr);
- avl = gpr_avl_add(avl, box(867), box(541), nullptr);
- avl = remove_int(avl, 964);
- avl = remove_int(avl, 941);
- avl = gpr_avl_add(avl, box(947), box(544), nullptr);
- avl = remove_int(avl, 990);
- avl = gpr_avl_add(avl, box(816), box(546), nullptr);
- avl = remove_int(avl, 429);
- avl = remove_int(avl, 567);
- avl = remove_int(avl, 541);
- avl = remove_int(avl, 583);
- avl = gpr_avl_add(avl, box(57), box(551), nullptr);
- avl = gpr_avl_add(avl, box(786), box(552), nullptr);
- avl = gpr_avl_add(avl, box(526), box(553), nullptr);
- avl = remove_int(avl, 642);
- avl = remove_int(avl, 220);
- avl = remove_int(avl, 840);
- avl = remove_int(avl, 548);
- avl = gpr_avl_add(avl, box(528), box(558), nullptr);
- avl = gpr_avl_add(avl, box(749), box(559), nullptr);
- avl = gpr_avl_add(avl, box(194), box(560), nullptr);
- avl = remove_int(avl, 517);
- avl = gpr_avl_add(avl, box(102), box(562), nullptr);
- avl = remove_int(avl, 189);
- avl = gpr_avl_add(avl, box(927), box(564), nullptr);
- avl = remove_int(avl, 846);
- avl = remove_int(avl, 130);
- avl = gpr_avl_add(avl, box(694), box(567), nullptr);
- avl = remove_int(avl, 750);
- avl = gpr_avl_add(avl, box(357), box(569), nullptr);
- avl = remove_int(avl, 431);
- avl = remove_int(avl, 91);
- avl = gpr_avl_add(avl, box(640), box(572), nullptr);
- avl = remove_int(avl, 4);
- avl = gpr_avl_add(avl, box(81), box(574), nullptr);
- avl = gpr_avl_add(avl, box(595), box(575), nullptr);
- avl = remove_int(avl, 444);
- avl = remove_int(avl, 262);
- avl = remove_int(avl, 11);
- avl = gpr_avl_add(avl, box(192), box(579), nullptr);
- avl = gpr_avl_add(avl, box(158), box(580), nullptr);
- avl = remove_int(avl, 401);
- avl = remove_int(avl, 918);
- avl = gpr_avl_add(avl, box(180), box(583), nullptr);
- avl = remove_int(avl, 268);
- avl = gpr_avl_add(avl, box(1012), box(585), nullptr);
- avl = gpr_avl_add(avl, box(90), box(586), nullptr);
- avl = gpr_avl_add(avl, box(946), box(587), nullptr);
- avl = remove_int(avl, 719);
- avl = gpr_avl_add(avl, box(874), box(589), nullptr);
- avl = gpr_avl_add(avl, box(679), box(590), nullptr);
- avl = remove_int(avl, 53);
- avl = remove_int(avl, 534);
- avl = gpr_avl_add(avl, box(646), box(593), nullptr);
- avl = gpr_avl_add(avl, box(767), box(594), nullptr);
- avl = gpr_avl_add(avl, box(460), box(595), nullptr);
- avl = gpr_avl_add(avl, box(852), box(596), nullptr);
- avl = gpr_avl_add(avl, box(189), box(597), nullptr);
- avl = remove_int(avl, 932);
- avl = remove_int(avl, 366);
- avl = remove_int(avl, 907);
- avl = gpr_avl_add(avl, box(875), box(601), nullptr);
- avl = gpr_avl_add(avl, box(434), box(602), nullptr);
- avl = gpr_avl_add(avl, box(704), box(603), nullptr);
- avl = gpr_avl_add(avl, box(724), box(604), nullptr);
- avl = gpr_avl_add(avl, box(930), box(605), nullptr);
- avl = gpr_avl_add(avl, box(1000), box(606), nullptr);
- avl = remove_int(avl, 479);
- avl = gpr_avl_add(avl, box(275), box(608), nullptr);
- avl = remove_int(avl, 32);
- avl = gpr_avl_add(avl, box(939), box(610), nullptr);
- avl = remove_int(avl, 943);
- avl = remove_int(avl, 329);
- avl = gpr_avl_add(avl, box(490), box(613), nullptr);
- avl = remove_int(avl, 477);
- avl = remove_int(avl, 414);
- avl = remove_int(avl, 187);
- avl = remove_int(avl, 334);
- avl = gpr_avl_add(avl, box(40), box(618), nullptr);
- avl = remove_int(avl, 751);
- avl = gpr_avl_add(avl, box(568), box(620), nullptr);
- avl = gpr_avl_add(avl, box(120), box(621), nullptr);
- avl = gpr_avl_add(avl, box(617), box(622), nullptr);
- avl = gpr_avl_add(avl, box(32), box(623), nullptr);
- avl = remove_int(avl, 701);
- avl = gpr_avl_add(avl, box(910), box(625), nullptr);
- avl = remove_int(avl, 557);
- avl = remove_int(avl, 361);
- avl = remove_int(avl, 937);
- avl = remove_int(avl, 100);
- avl = remove_int(avl, 684);
- avl = gpr_avl_add(avl, box(751), box(631), nullptr);
- avl = remove_int(avl, 781);
- avl = remove_int(avl, 469);
- avl = remove_int(avl, 75);
- avl = remove_int(avl, 561);
- avl = gpr_avl_add(avl, box(854), box(636), nullptr);
- avl = remove_int(avl, 164);
- avl = remove_int(avl, 258);
- avl = remove_int(avl, 315);
- avl = remove_int(avl, 261);
- avl = gpr_avl_add(avl, box(552), box(641), nullptr);
- avl = gpr_avl_add(avl, box(6), box(642), nullptr);
- avl = gpr_avl_add(avl, box(680), box(643), nullptr);
- avl = remove_int(avl, 741);
- avl = remove_int(avl, 309);
- avl = remove_int(avl, 272);
- avl = gpr_avl_add(avl, box(249), box(647), nullptr);
- avl = remove_int(avl, 97);
- avl = remove_int(avl, 850);
- avl = gpr_avl_add(avl, box(915), box(650), nullptr);
- avl = gpr_avl_add(avl, box(816), box(651), nullptr);
- avl = gpr_avl_add(avl, box(45), box(652), nullptr);
- avl = gpr_avl_add(avl, box(168), box(653), nullptr);
- avl = remove_int(avl, 153);
- avl = remove_int(avl, 239);
- avl = gpr_avl_add(avl, box(684), box(656), nullptr);
- avl = gpr_avl_add(avl, box(208), box(657), nullptr);
- avl = gpr_avl_add(avl, box(681), box(658), nullptr);
- avl = gpr_avl_add(avl, box(609), box(659), nullptr);
- avl = gpr_avl_add(avl, box(645), box(660), nullptr);
- avl = remove_int(avl, 799);
- avl = gpr_avl_add(avl, box(955), box(662), nullptr);
- avl = gpr_avl_add(avl, box(946), box(663), nullptr);
- avl = gpr_avl_add(avl, box(744), box(664), nullptr);
- avl = gpr_avl_add(avl, box(201), box(665), nullptr);
- avl = gpr_avl_add(avl, box(136), box(666), nullptr);
- avl = remove_int(avl, 357);
- avl = gpr_avl_add(avl, box(974), box(668), nullptr);
- avl = remove_int(avl, 485);
- avl = gpr_avl_add(avl, box(1009), box(670), nullptr);
- avl = gpr_avl_add(avl, box(517), box(671), nullptr);
- avl = remove_int(avl, 491);
- avl = gpr_avl_add(avl, box(336), box(673), nullptr);
- avl = gpr_avl_add(avl, box(589), box(674), nullptr);
- avl = remove_int(avl, 546);
- avl = remove_int(avl, 840);
- avl = remove_int(avl, 104);
- avl = remove_int(avl, 347);
- avl = gpr_avl_add(avl, box(801), box(679), nullptr);
- avl = remove_int(avl, 799);
- avl = remove_int(avl, 702);
- avl = remove_int(avl, 996);
- avl = remove_int(avl, 93);
- avl = gpr_avl_add(avl, box(561), box(684), nullptr);
- avl = gpr_avl_add(avl, box(25), box(685), nullptr);
- avl = remove_int(avl, 278);
- avl = gpr_avl_add(avl, box(191), box(687), nullptr);
- avl = remove_int(avl, 243);
- avl = remove_int(avl, 918);
- avl = remove_int(avl, 449);
- avl = gpr_avl_add(avl, box(19), box(691), nullptr);
- avl = gpr_avl_add(avl, box(762), box(692), nullptr);
- avl = gpr_avl_add(avl, box(13), box(693), nullptr);
- avl = gpr_avl_add(avl, box(151), box(694), nullptr);
- avl = gpr_avl_add(avl, box(152), box(695), nullptr);
- avl = gpr_avl_add(avl, box(793), box(696), nullptr);
- avl = remove_int(avl, 862);
- avl = remove_int(avl, 890);
- avl = gpr_avl_add(avl, box(687), box(699), nullptr);
- avl = gpr_avl_add(avl, box(509), box(700), nullptr);
- avl = gpr_avl_add(avl, box(973), box(701), nullptr);
- avl = remove_int(avl, 230);
- avl = gpr_avl_add(avl, box(532), box(703), nullptr);
- avl = remove_int(avl, 668);
- avl = gpr_avl_add(avl, box(281), box(705), nullptr);
- avl = gpr_avl_add(avl, box(867), box(706), nullptr);
- avl = gpr_avl_add(avl, box(359), box(707), nullptr);
- avl = remove_int(avl, 425);
- avl = gpr_avl_add(avl, box(691), box(709), nullptr);
- avl = gpr_avl_add(avl, box(163), box(710), nullptr);
- avl = gpr_avl_add(avl, box(502), box(711), nullptr);
- avl = remove_int(avl, 674);
- avl = gpr_avl_add(avl, box(697), box(713), nullptr);
- avl = remove_int(avl, 271);
- avl = gpr_avl_add(avl, box(968), box(715), nullptr);
- avl = gpr_avl_add(avl, box(48), box(716), nullptr);
- avl = remove_int(avl, 543);
- avl = gpr_avl_add(avl, box(35), box(718), nullptr);
- avl = gpr_avl_add(avl, box(751), box(719), nullptr);
- avl = gpr_avl_add(avl, box(478), box(720), nullptr);
- avl = remove_int(avl, 797);
- avl = remove_int(avl, 309);
- avl = gpr_avl_add(avl, box(927), box(723), nullptr);
- avl = remove_int(avl, 504);
- avl = gpr_avl_add(avl, box(286), box(725), nullptr);
- avl = gpr_avl_add(avl, box(413), box(726), nullptr);
- avl = gpr_avl_add(avl, box(599), box(727), nullptr);
- avl = remove_int(avl, 105);
- avl = remove_int(avl, 605);
- avl = gpr_avl_add(avl, box(632), box(730), nullptr);
- avl = gpr_avl_add(avl, box(133), box(731), nullptr);
- avl = remove_int(avl, 443);
- avl = gpr_avl_add(avl, box(958), box(733), nullptr);
- avl = gpr_avl_add(avl, box(729), box(734), nullptr);
- avl = remove_int(avl, 158);
- avl = gpr_avl_add(avl, box(694), box(736), nullptr);
- avl = gpr_avl_add(avl, box(505), box(737), nullptr);
- avl = remove_int(avl, 63);
- avl = remove_int(avl, 714);
- avl = gpr_avl_add(avl, box(1002), box(740), nullptr);
- avl = remove_int(avl, 211);
- avl = gpr_avl_add(avl, box(765), box(742), nullptr);
- avl = gpr_avl_add(avl, box(455), box(743), nullptr);
- avl = remove_int(avl, 59);
- avl = remove_int(avl, 224);
- avl = gpr_avl_add(avl, box(586), box(746), nullptr);
- avl = gpr_avl_add(avl, box(348), box(747), nullptr);
- avl = remove_int(avl, 10);
- avl = remove_int(avl, 484);
- avl = gpr_avl_add(avl, box(968), box(750), nullptr);
- avl = gpr_avl_add(avl, box(923), box(751), nullptr);
- avl = remove_int(avl, 573);
- avl = remove_int(avl, 617);
- avl = gpr_avl_add(avl, box(812), box(754), nullptr);
- avl = gpr_avl_add(avl, box(179), box(755), nullptr);
- avl = remove_int(avl, 284);
- avl = remove_int(avl, 157);
- avl = remove_int(avl, 177);
- avl = remove_int(avl, 896);
- avl = gpr_avl_add(avl, box(649), box(760), nullptr);
- avl = gpr_avl_add(avl, box(927), box(761), nullptr);
- avl = gpr_avl_add(avl, box(454), box(762), nullptr);
- avl = gpr_avl_add(avl, box(217), box(763), nullptr);
- avl = remove_int(avl, 534);
- avl = gpr_avl_add(avl, box(180), box(765), nullptr);
- avl = gpr_avl_add(avl, box(319), box(766), nullptr);
- avl = remove_int(avl, 92);
- avl = gpr_avl_add(avl, box(483), box(768), nullptr);
- avl = remove_int(avl, 504);
- avl = remove_int(avl, 1017);
- avl = remove_int(avl, 37);
- avl = remove_int(avl, 50);
- avl = gpr_avl_add(avl, box(302), box(773), nullptr);
- avl = remove_int(avl, 807);
- avl = gpr_avl_add(avl, box(463), box(775), nullptr);
- avl = gpr_avl_add(avl, box(271), box(776), nullptr);
- avl = gpr_avl_add(avl, box(644), box(777), nullptr);
- avl = remove_int(avl, 618);
- avl = gpr_avl_add(avl, box(166), box(779), nullptr);
- avl = gpr_avl_add(avl, box(538), box(780), nullptr);
- avl = remove_int(avl, 606);
- avl = gpr_avl_add(avl, box(425), box(782), nullptr);
- avl = remove_int(avl, 725);
- avl = remove_int(avl, 383);
- avl = gpr_avl_add(avl, box(155), box(785), nullptr);
- avl = remove_int(avl, 889);
- avl = gpr_avl_add(avl, box(653), box(787), nullptr);
- avl = remove_int(avl, 386);
- avl = gpr_avl_add(avl, box(142), box(789), nullptr);
- avl = remove_int(avl, 107);
- avl = remove_int(avl, 603);
- avl = remove_int(avl, 971);
- avl = gpr_avl_add(avl, box(80), box(793), nullptr);
- avl = gpr_avl_add(avl, box(61), box(794), nullptr);
- avl = gpr_avl_add(avl, box(693), box(795), nullptr);
- avl = gpr_avl_add(avl, box(592), box(796), nullptr);
- avl = gpr_avl_add(avl, box(433), box(797), nullptr);
- avl = gpr_avl_add(avl, box(973), box(798), nullptr);
- avl = remove_int(avl, 901);
- avl = remove_int(avl, 340);
- avl = remove_int(avl, 709);
- avl = gpr_avl_add(avl, box(224), box(802), nullptr);
- avl = remove_int(avl, 120);
- avl = remove_int(avl, 271);
- avl = gpr_avl_add(avl, box(780), box(805), nullptr);
- avl = gpr_avl_add(avl, box(867), box(806), nullptr);
- avl = gpr_avl_add(avl, box(756), box(807), nullptr);
- avl = gpr_avl_add(avl, box(583), box(808), nullptr);
- avl = gpr_avl_add(avl, box(356), box(809), nullptr);
- avl = gpr_avl_add(avl, box(58), box(810), nullptr);
- avl = remove_int(avl, 219);
- avl = gpr_avl_add(avl, box(301), box(812), nullptr);
- avl = remove_int(avl, 643);
- avl = remove_int(avl, 787);
- avl = remove_int(avl, 583);
- avl = remove_int(avl, 552);
- avl = remove_int(avl, 308);
- avl = remove_int(avl, 608);
- avl = remove_int(avl, 363);
- avl = remove_int(avl, 690);
- avl = gpr_avl_add(avl, box(233), box(821), nullptr);
- avl = gpr_avl_add(avl, box(479), box(822), nullptr);
- avl = gpr_avl_add(avl, box(323), box(823), nullptr);
- avl = gpr_avl_add(avl, box(802), box(824), nullptr);
- avl = remove_int(avl, 682);
- avl = remove_int(avl, 705);
- avl = remove_int(avl, 487);
- avl = gpr_avl_add(avl, box(530), box(828), nullptr);
- avl = gpr_avl_add(avl, box(232), box(829), nullptr);
- avl = remove_int(avl, 627);
- avl = gpr_avl_add(avl, box(396), box(831), nullptr);
- avl = gpr_avl_add(avl, box(61), box(832), nullptr);
- avl = gpr_avl_add(avl, box(932), box(833), nullptr);
- avl = gpr_avl_add(avl, box(108), box(834), nullptr);
- avl = gpr_avl_add(avl, box(524), box(835), nullptr);
- avl = remove_int(avl, 390);
- avl = remove_int(avl, 307);
- avl = gpr_avl_add(avl, box(722), box(838), nullptr);
- avl = gpr_avl_add(avl, box(907), box(839), nullptr);
- avl = remove_int(avl, 286);
- avl = remove_int(avl, 337);
- avl = remove_int(avl, 443);
- avl = gpr_avl_add(avl, box(973), box(843), nullptr);
- avl = remove_int(avl, 930);
- avl = remove_int(avl, 242);
- avl = gpr_avl_add(avl, box(997), box(846), nullptr);
- avl = gpr_avl_add(avl, box(689), box(847), nullptr);
- avl = remove_int(avl, 318);
- avl = gpr_avl_add(avl, box(703), box(849), nullptr);
- avl = gpr_avl_add(avl, box(868), box(850), nullptr);
- avl = gpr_avl_add(avl, box(200), box(851), nullptr);
- avl = gpr_avl_add(avl, box(960), box(852), nullptr);
- avl = gpr_avl_add(avl, box(80), box(853), nullptr);
- avl = remove_int(avl, 113);
- avl = gpr_avl_add(avl, box(135), box(855), nullptr);
- avl = remove_int(avl, 529);
- avl = gpr_avl_add(avl, box(366), box(857), nullptr);
- avl = remove_int(avl, 272);
- avl = gpr_avl_add(avl, box(921), box(859), nullptr);
- avl = remove_int(avl, 497);
- avl = gpr_avl_add(avl, box(712), box(861), nullptr);
- avl = remove_int(avl, 777);
- avl = remove_int(avl, 505);
- avl = remove_int(avl, 974);
- avl = remove_int(avl, 497);
- avl = gpr_avl_add(avl, box(388), box(866), nullptr);
- avl = gpr_avl_add(avl, box(29), box(867), nullptr);
- avl = gpr_avl_add(avl, box(180), box(868), nullptr);
- avl = gpr_avl_add(avl, box(983), box(869), nullptr);
- avl = gpr_avl_add(avl, box(72), box(870), nullptr);
- avl = gpr_avl_add(avl, box(693), box(871), nullptr);
- avl = gpr_avl_add(avl, box(567), box(872), nullptr);
- avl = remove_int(avl, 549);
- avl = remove_int(avl, 351);
- avl = gpr_avl_add(avl, box(1019), box(875), nullptr);
- avl = remove_int(avl, 585);
- avl = remove_int(avl, 294);
- avl = remove_int(avl, 61);
- avl = gpr_avl_add(avl, box(409), box(879), nullptr);
- avl = gpr_avl_add(avl, box(984), box(880), nullptr);
- avl = gpr_avl_add(avl, box(830), box(881), nullptr);
- avl = remove_int(avl, 579);
- avl = gpr_avl_add(avl, box(672), box(883), nullptr);
- avl = remove_int(avl, 968);
-
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_badcase3(void) {
- gpr_avl avl;
-
- gpr_log(GPR_DEBUG, "test_badcase3");
-
- avl = gpr_avl_create(&int_int_vtable);
- avl = remove_int(avl, 624);
- avl = gpr_avl_add(avl, box(59), box(2), nullptr);
- avl = gpr_avl_add(avl, box(494), box(3), nullptr);
- avl = gpr_avl_add(avl, box(226), box(4), nullptr);
- avl = remove_int(avl, 524);
- avl = gpr_avl_add(avl, box(540), box(6), nullptr);
- avl = remove_int(avl, 1008);
- avl = gpr_avl_add(avl, box(502), box(8), nullptr);
- avl = remove_int(avl, 267);
- avl = remove_int(avl, 764);
- avl = remove_int(avl, 443);
- avl = gpr_avl_add(avl, box(8), box(12), nullptr);
- avl = remove_int(avl, 291);
- avl = remove_int(avl, 796);
- avl = remove_int(avl, 1002);
- avl = gpr_avl_add(avl, box(778), box(16), nullptr);
- avl = remove_int(avl, 621);
- avl = remove_int(avl, 891);
- avl = remove_int(avl, 880);
- avl = gpr_avl_add(avl, box(197), box(20), nullptr);
- avl = gpr_avl_add(avl, box(441), box(21), nullptr);
- avl = gpr_avl_add(avl, box(719), box(22), nullptr);
- avl = remove_int(avl, 109);
- avl = gpr_avl_add(avl, box(458), box(24), nullptr);
- avl = remove_int(avl, 86);
- avl = gpr_avl_add(avl, box(897), box(26), nullptr);
- avl = gpr_avl_add(avl, box(997), box(27), nullptr);
- avl = remove_int(avl, 235);
- avl = remove_int(avl, 425);
- avl = remove_int(avl, 186);
- avl = gpr_avl_add(avl, box(887), box(31), nullptr);
- avl = gpr_avl_add(avl, box(1005), box(32), nullptr);
- avl = gpr_avl_add(avl, box(778), box(33), nullptr);
- avl = gpr_avl_add(avl, box(575), box(34), nullptr);
- avl = remove_int(avl, 966);
- avl = remove_int(avl, 1015);
- avl = gpr_avl_add(avl, box(486), box(37), nullptr);
- avl = gpr_avl_add(avl, box(809), box(38), nullptr);
- avl = gpr_avl_add(avl, box(907), box(39), nullptr);
- avl = gpr_avl_add(avl, box(971), box(40), nullptr);
- avl = remove_int(avl, 441);
- avl = remove_int(avl, 498);
- avl = gpr_avl_add(avl, box(727), box(43), nullptr);
- avl = remove_int(avl, 679);
- avl = remove_int(avl, 740);
- avl = remove_int(avl, 532);
- avl = gpr_avl_add(avl, box(805), box(47), nullptr);
- avl = remove_int(avl, 64);
- avl = gpr_avl_add(avl, box(362), box(49), nullptr);
- avl = gpr_avl_add(avl, box(170), box(50), nullptr);
- avl = gpr_avl_add(avl, box(389), box(51), nullptr);
- avl = gpr_avl_add(avl, box(689), box(52), nullptr);
- avl = remove_int(avl, 871);
- avl = gpr_avl_add(avl, box(447), box(54), nullptr);
- avl = remove_int(avl, 718);
- avl = gpr_avl_add(avl, box(724), box(56), nullptr);
- avl = remove_int(avl, 215);
- avl = gpr_avl_add(avl, box(550), box(58), nullptr);
- avl = remove_int(avl, 932);
- avl = gpr_avl_add(avl, box(47), box(60), nullptr);
- avl = remove_int(avl, 46);
- avl = remove_int(avl, 229);
- avl = gpr_avl_add(avl, box(68), box(63), nullptr);
- avl = gpr_avl_add(avl, box(387), box(64), nullptr);
- avl = remove_int(avl, 933);
- avl = remove_int(avl, 736);
- avl = remove_int(avl, 719);
- avl = gpr_avl_add(avl, box(150), box(68), nullptr);
- avl = remove_int(avl, 875);
- avl = remove_int(avl, 298);
- avl = gpr_avl_add(avl, box(991), box(71), nullptr);
- avl = remove_int(avl, 705);
- avl = gpr_avl_add(avl, box(197), box(73), nullptr);
- avl = gpr_avl_add(avl, box(101), box(74), nullptr);
- avl = remove_int(avl, 436);
- avl = gpr_avl_add(avl, box(755), box(76), nullptr);
- avl = gpr_avl_add(avl, box(727), box(77), nullptr);
- avl = remove_int(avl, 309);
- avl = remove_int(avl, 253);
- avl = gpr_avl_add(avl, box(203), box(80), nullptr);
- avl = remove_int(avl, 231);
- avl = gpr_avl_add(avl, box(461), box(82), nullptr);
- avl = remove_int(avl, 316);
- avl = remove_int(avl, 493);
- avl = gpr_avl_add(avl, box(184), box(85), nullptr);
- avl = remove_int(avl, 737);
- avl = gpr_avl_add(avl, box(790), box(87), nullptr);
- avl = gpr_avl_add(avl, box(335), box(88), nullptr);
- avl = remove_int(avl, 649);
- avl = gpr_avl_add(avl, box(69), box(90), nullptr);
- avl = remove_int(avl, 585);
- avl = remove_int(avl, 543);
- avl = gpr_avl_add(avl, box(784), box(93), nullptr);
- avl = gpr_avl_add(avl, box(60), box(94), nullptr);
- avl = gpr_avl_add(avl, box(525), box(95), nullptr);
- avl = gpr_avl_add(avl, box(177), box(96), nullptr);
- avl = gpr_avl_add(avl, box(178), box(97), nullptr);
- avl = gpr_avl_add(avl, box(683), box(98), nullptr);
- avl = gpr_avl_add(avl, box(226), box(99), nullptr);
- avl = gpr_avl_add(avl, box(662), box(100), nullptr);
- avl = remove_int(avl, 944);
- avl = gpr_avl_add(avl, box(562), box(102), nullptr);
- avl = gpr_avl_add(avl, box(793), box(103), nullptr);
- avl = remove_int(avl, 673);
- avl = gpr_avl_add(avl, box(310), box(105), nullptr);
- avl = remove_int(avl, 479);
- avl = remove_int(avl, 543);
- avl = remove_int(avl, 159);
- avl = remove_int(avl, 850);
- avl = gpr_avl_add(avl, box(318), box(110), nullptr);
- avl = gpr_avl_add(avl, box(483), box(111), nullptr);
- avl = gpr_avl_add(avl, box(84), box(112), nullptr);
- avl = remove_int(avl, 109);
- avl = gpr_avl_add(avl, box(132), box(114), nullptr);
- avl = gpr_avl_add(avl, box(920), box(115), nullptr);
- avl = remove_int(avl, 746);
- avl = gpr_avl_add(avl, box(145), box(117), nullptr);
- avl = gpr_avl_add(avl, box(526), box(118), nullptr);
- avl = remove_int(avl, 158);
- avl = gpr_avl_add(avl, box(332), box(120), nullptr);
- avl = gpr_avl_add(avl, box(918), box(121), nullptr);
- avl = remove_int(avl, 339);
- avl = gpr_avl_add(avl, box(809), box(123), nullptr);
- avl = gpr_avl_add(avl, box(742), box(124), nullptr);
- avl = gpr_avl_add(avl, box(718), box(125), nullptr);
- avl = remove_int(avl, 988);
- avl = remove_int(avl, 531);
- avl = remove_int(avl, 840);
- avl = gpr_avl_add(avl, box(816), box(129), nullptr);
- avl = gpr_avl_add(avl, box(976), box(130), nullptr);
- avl = remove_int(avl, 743);
- avl = remove_int(avl, 528);
- avl = remove_int(avl, 982);
- avl = gpr_avl_add(avl, box(803), box(134), nullptr);
- avl = gpr_avl_add(avl, box(205), box(135), nullptr);
- avl = gpr_avl_add(avl, box(584), box(136), nullptr);
- avl = remove_int(avl, 923);
- avl = remove_int(avl, 538);
- avl = remove_int(avl, 398);
- avl = remove_int(avl, 320);
- avl = remove_int(avl, 292);
- avl = gpr_avl_add(avl, box(270), box(142), nullptr);
- avl = gpr_avl_add(avl, box(333), box(143), nullptr);
- avl = remove_int(avl, 439);
- avl = gpr_avl_add(avl, box(35), box(145), nullptr);
- avl = gpr_avl_add(avl, box(837), box(146), nullptr);
- avl = remove_int(avl, 65);
- avl = remove_int(avl, 642);
- avl = remove_int(avl, 371);
- avl = remove_int(avl, 140);
- avl = remove_int(avl, 533);
- avl = remove_int(avl, 676);
- avl = gpr_avl_add(avl, box(624), box(153), nullptr);
- avl = gpr_avl_add(avl, box(116), box(154), nullptr);
- avl = gpr_avl_add(avl, box(446), box(155), nullptr);
- avl = remove_int(avl, 91);
- avl = remove_int(avl, 721);
- avl = remove_int(avl, 537);
- avl = gpr_avl_add(avl, box(448), box(159), nullptr);
- avl = remove_int(avl, 155);
- avl = remove_int(avl, 344);
- avl = remove_int(avl, 237);
- avl = gpr_avl_add(avl, box(309), box(163), nullptr);
- avl = gpr_avl_add(avl, box(434), box(164), nullptr);
- avl = gpr_avl_add(avl, box(277), box(165), nullptr);
- avl = remove_int(avl, 233);
- avl = gpr_avl_add(avl, box(275), box(167), nullptr);
- avl = gpr_avl_add(avl, box(218), box(168), nullptr);
- avl = gpr_avl_add(avl, box(76), box(169), nullptr);
- avl = gpr_avl_add(avl, box(898), box(170), nullptr);
- avl = remove_int(avl, 771);
- avl = gpr_avl_add(avl, box(237), box(172), nullptr);
- avl = remove_int(avl, 327);
- avl = gpr_avl_add(avl, box(499), box(174), nullptr);
- avl = remove_int(avl, 727);
- avl = remove_int(avl, 234);
- avl = remove_int(avl, 623);
- avl = remove_int(avl, 458);
- avl = remove_int(avl, 326);
- avl = remove_int(avl, 589);
- avl = gpr_avl_add(avl, box(442), box(181), nullptr);
- avl = remove_int(avl, 389);
- avl = gpr_avl_add(avl, box(708), box(183), nullptr);
- avl = gpr_avl_add(avl, box(594), box(184), nullptr);
- avl = gpr_avl_add(avl, box(942), box(185), nullptr);
- avl = gpr_avl_add(avl, box(282), box(186), nullptr);
- avl = remove_int(avl, 434);
- avl = remove_int(avl, 134);
- avl = remove_int(avl, 270);
- avl = remove_int(avl, 512);
- avl = remove_int(avl, 265);
- avl = remove_int(avl, 21);
- avl = remove_int(avl, 193);
- avl = remove_int(avl, 797);
- avl = remove_int(avl, 347);
- avl = gpr_avl_add(avl, box(99), box(196), nullptr);
- avl = gpr_avl_add(avl, box(161), box(197), nullptr);
- avl = remove_int(avl, 484);
- avl = gpr_avl_add(avl, box(72), box(199), nullptr);
- avl = remove_int(avl, 629);
- avl = gpr_avl_add(avl, box(522), box(201), nullptr);
- avl = remove_int(avl, 679);
- avl = gpr_avl_add(avl, box(407), box(203), nullptr);
- avl = remove_int(avl, 693);
- avl = gpr_avl_add(avl, box(424), box(205), nullptr);
- avl = gpr_avl_add(avl, box(651), box(206), nullptr);
- avl = gpr_avl_add(avl, box(927), box(207), nullptr);
- avl = remove_int(avl, 553);
- avl = gpr_avl_add(avl, box(128), box(209), nullptr);
- avl = gpr_avl_add(avl, box(616), box(210), nullptr);
- avl = gpr_avl_add(avl, box(690), box(211), nullptr);
- avl = remove_int(avl, 241);
- avl = remove_int(avl, 179);
- avl = gpr_avl_add(avl, box(697), box(214), nullptr);
- avl = remove_int(avl, 779);
- avl = gpr_avl_add(avl, box(241), box(216), nullptr);
- avl = remove_int(avl, 190);
- avl = remove_int(avl, 210);
- avl = gpr_avl_add(avl, box(711), box(219), nullptr);
- avl = remove_int(avl, 251);
- avl = remove_int(avl, 61);
- avl = gpr_avl_add(avl, box(800), box(222), nullptr);
- avl = remove_int(avl, 551);
- avl = gpr_avl_add(avl, box(61), box(224), nullptr);
- avl = gpr_avl_add(avl, box(656), box(225), nullptr);
- avl = remove_int(avl, 130);
- avl = remove_int(avl, 368);
- avl = remove_int(avl, 150);
- avl = remove_int(avl, 73);
- avl = gpr_avl_add(avl, box(799), box(230), nullptr);
- avl = gpr_avl_add(avl, box(125), box(231), nullptr);
- avl = remove_int(avl, 107);
- avl = gpr_avl_add(avl, box(938), box(233), nullptr);
- avl = gpr_avl_add(avl, box(914), box(234), nullptr);
- avl = gpr_avl_add(avl, box(197), box(235), nullptr);
- avl = remove_int(avl, 736);
- avl = gpr_avl_add(avl, box(20), box(237), nullptr);
- avl = remove_int(avl, 224);
- avl = remove_int(avl, 841);
- avl = gpr_avl_add(avl, box(226), box(240), nullptr);
- avl = remove_int(avl, 963);
- avl = remove_int(avl, 796);
- avl = remove_int(avl, 728);
- avl = gpr_avl_add(avl, box(855), box(244), nullptr);
- avl = gpr_avl_add(avl, box(769), box(245), nullptr);
- avl = gpr_avl_add(avl, box(631), box(246), nullptr);
- avl = remove_int(avl, 648);
- avl = gpr_avl_add(avl, box(187), box(248), nullptr);
- avl = gpr_avl_add(avl, box(31), box(249), nullptr);
- avl = remove_int(avl, 163);
- avl = gpr_avl_add(avl, box(218), box(251), nullptr);
- avl = gpr_avl_add(avl, box(488), box(252), nullptr);
- avl = gpr_avl_add(avl, box(387), box(253), nullptr);
- avl = gpr_avl_add(avl, box(809), box(254), nullptr);
- avl = gpr_avl_add(avl, box(997), box(255), nullptr);
- avl = remove_int(avl, 678);
- avl = gpr_avl_add(avl, box(368), box(257), nullptr);
- avl = gpr_avl_add(avl, box(220), box(258), nullptr);
- avl = gpr_avl_add(avl, box(373), box(259), nullptr);
- avl = remove_int(avl, 874);
- avl = remove_int(avl, 682);
- avl = remove_int(avl, 1014);
- avl = remove_int(avl, 195);
- avl = gpr_avl_add(avl, box(868), box(264), nullptr);
- avl = remove_int(avl, 254);
- avl = remove_int(avl, 456);
- avl = gpr_avl_add(avl, box(906), box(267), nullptr);
- avl = remove_int(avl, 711);
- avl = gpr_avl_add(avl, box(632), box(269), nullptr);
- avl = remove_int(avl, 474);
- avl = gpr_avl_add(avl, box(508), box(271), nullptr);
- avl = gpr_avl_add(avl, box(518), box(272), nullptr);
- avl = remove_int(avl, 579);
- avl = remove_int(avl, 948);
- avl = gpr_avl_add(avl, box(789), box(275), nullptr);
- avl = gpr_avl_add(avl, box(48), box(276), nullptr);
- avl = gpr_avl_add(avl, box(256), box(277), nullptr);
- avl = gpr_avl_add(avl, box(754), box(278), nullptr);
- avl = remove_int(avl, 215);
- avl = gpr_avl_add(avl, box(679), box(280), nullptr);
- avl = gpr_avl_add(avl, box(606), box(281), nullptr);
- avl = remove_int(avl, 941);
- avl = remove_int(avl, 31);
- avl = gpr_avl_add(avl, box(758), box(284), nullptr);
- avl = remove_int(avl, 101);
- avl = gpr_avl_add(avl, box(244), box(286), nullptr);
- avl = gpr_avl_add(avl, box(337), box(287), nullptr);
- avl = gpr_avl_add(avl, box(461), box(288), nullptr);
- avl = remove_int(avl, 476);
- avl = gpr_avl_add(avl, box(845), box(290), nullptr);
- avl = remove_int(avl, 160);
- avl = gpr_avl_add(avl, box(690), box(292), nullptr);
- avl = remove_int(avl, 931);
- avl = gpr_avl_add(avl, box(869), box(294), nullptr);
- avl = gpr_avl_add(avl, box(1019), box(295), nullptr);
- avl = remove_int(avl, 591);
- avl = remove_int(avl, 635);
- avl = remove_int(avl, 67);
- avl = gpr_avl_add(avl, box(113), box(299), nullptr);
- avl = remove_int(avl, 305);
- avl = gpr_avl_add(avl, box(10), box(301), nullptr);
- avl = remove_int(avl, 823);
- avl = remove_int(avl, 288);
- avl = remove_int(avl, 239);
- avl = gpr_avl_add(avl, box(646), box(305), nullptr);
- avl = gpr_avl_add(avl, box(1006), box(306), nullptr);
- avl = gpr_avl_add(avl, box(954), box(307), nullptr);
- avl = gpr_avl_add(avl, box(199), box(308), nullptr);
- avl = gpr_avl_add(avl, box(69), box(309), nullptr);
- avl = gpr_avl_add(avl, box(984), box(310), nullptr);
- avl = remove_int(avl, 568);
- avl = remove_int(avl, 666);
- avl = remove_int(avl, 37);
- avl = gpr_avl_add(avl, box(845), box(314), nullptr);
- avl = remove_int(avl, 535);
- avl = remove_int(avl, 365);
- avl = remove_int(avl, 676);
- avl = remove_int(avl, 892);
- avl = remove_int(avl, 425);
- avl = remove_int(avl, 704);
- avl = remove_int(avl, 168);
- avl = gpr_avl_add(avl, box(853), box(322), nullptr);
- avl = gpr_avl_add(avl, box(335), box(323), nullptr);
- avl = gpr_avl_add(avl, box(961), box(324), nullptr);
- avl = gpr_avl_add(avl, box(73), box(325), nullptr);
- avl = remove_int(avl, 469);
- avl = gpr_avl_add(avl, box(449), box(327), nullptr);
- avl = remove_int(avl, 821);
- avl = gpr_avl_add(avl, box(845), box(329), nullptr);
- avl = remove_int(avl, 637);
- avl = gpr_avl_add(avl, box(769), box(331), nullptr);
- avl = gpr_avl_add(avl, box(901), box(332), nullptr);
- avl = remove_int(avl, 142);
- avl = remove_int(avl, 361);
- avl = remove_int(avl, 876);
- avl = gpr_avl_add(avl, box(614), box(336), nullptr);
- avl = gpr_avl_add(avl, box(729), box(337), nullptr);
- avl = remove_int(avl, 120);
- avl = remove_int(avl, 473);
- avl = remove_int(avl, 445);
- avl = gpr_avl_add(avl, box(978), box(341), nullptr);
- avl = gpr_avl_add(avl, box(164), box(342), nullptr);
- avl = gpr_avl_add(avl, box(1), box(343), nullptr);
- avl = remove_int(avl, 890);
- avl = gpr_avl_add(avl, box(605), box(345), nullptr);
- avl = gpr_avl_add(avl, box(178), box(346), nullptr);
- avl = gpr_avl_add(avl, box(481), box(347), nullptr);
- avl = gpr_avl_add(avl, box(772), box(348), nullptr);
- avl = remove_int(avl, 824);
- avl = remove_int(avl, 167);
- avl = remove_int(avl, 151);
- avl = gpr_avl_add(avl, box(698), box(352), nullptr);
- avl = gpr_avl_add(avl, box(202), box(353), nullptr);
- avl = gpr_avl_add(avl, box(921), box(354), nullptr);
- avl = gpr_avl_add(avl, box(875), box(355), nullptr);
- avl = remove_int(avl, 197);
- avl = remove_int(avl, 232);
- avl = gpr_avl_add(avl, box(209), box(358), nullptr);
- avl = remove_int(avl, 324);
- avl = remove_int(avl, 56);
- avl = remove_int(avl, 579);
- avl = remove_int(avl, 255);
- avl = remove_int(avl, 290);
- avl = gpr_avl_add(avl, box(661), box(364), nullptr);
- avl = gpr_avl_add(avl, box(113), box(365), nullptr);
- avl = remove_int(avl, 767);
- avl = gpr_avl_add(avl, box(586), box(367), nullptr);
- avl = gpr_avl_add(avl, box(121), box(368), nullptr);
- avl = remove_int(avl, 235);
- avl = remove_int(avl, 439);
- avl = remove_int(avl, 360);
- avl = gpr_avl_add(avl, box(916), box(372), nullptr);
- avl = remove_int(avl, 999);
- avl = gpr_avl_add(avl, box(825), box(374), nullptr);
- avl = gpr_avl_add(avl, box(177), box(375), nullptr);
- avl = remove_int(avl, 204);
- avl = remove_int(avl, 92);
- avl = gpr_avl_add(avl, box(794), box(378), nullptr);
- avl = gpr_avl_add(avl, box(463), box(379), nullptr);
- avl = gpr_avl_add(avl, box(472), box(380), nullptr);
- avl = remove_int(avl, 235);
- avl = gpr_avl_add(avl, box(840), box(382), nullptr);
- avl = remove_int(avl, 657);
- avl = gpr_avl_add(avl, box(586), box(384), nullptr);
- avl = gpr_avl_add(avl, box(979), box(385), nullptr);
- avl = remove_int(avl, 979);
- avl = gpr_avl_add(avl, box(639), box(387), nullptr);
- avl = remove_int(avl, 907);
- avl = remove_int(avl, 973);
- avl = gpr_avl_add(avl, box(913), box(390), nullptr);
- avl = gpr_avl_add(avl, box(566), box(391), nullptr);
- avl = gpr_avl_add(avl, box(883), box(392), nullptr);
- avl = gpr_avl_add(avl, box(552), box(393), nullptr);
- avl = gpr_avl_add(avl, box(16), box(394), nullptr);
- avl = remove_int(avl, 60);
- avl = gpr_avl_add(avl, box(567), box(396), nullptr);
- avl = gpr_avl_add(avl, box(705), box(397), nullptr);
- avl = gpr_avl_add(avl, box(94), box(398), nullptr);
- avl = remove_int(avl, 321);
- avl = gpr_avl_add(avl, box(207), box(400), nullptr);
- avl = gpr_avl_add(avl, box(682), box(401), nullptr);
- avl = gpr_avl_add(avl, box(592), box(402), nullptr);
- avl = gpr_avl_add(avl, box(10), box(403), nullptr);
- avl = remove_int(avl, 911);
- avl = remove_int(avl, 161);
- avl = gpr_avl_add(avl, box(86), box(406), nullptr);
- avl = remove_int(avl, 893);
- avl = remove_int(avl, 362);
- avl = gpr_avl_add(avl, box(599), box(409), nullptr);
- avl = remove_int(avl, 413);
- avl = gpr_avl_add(avl, box(867), box(411), nullptr);
- avl = remove_int(avl, 955);
- avl = gpr_avl_add(avl, box(341), box(413), nullptr);
- avl = gpr_avl_add(avl, box(887), box(414), nullptr);
- avl = remove_int(avl, 706);
- avl = gpr_avl_add(avl, box(939), box(416), nullptr);
- avl = remove_int(avl, 233);
- avl = remove_int(avl, 662);
- avl = remove_int(avl, 984);
- avl = remove_int(avl, 203);
- avl = gpr_avl_add(avl, box(326), box(421), nullptr);
- avl = remove_int(avl, 848);
- avl = gpr_avl_add(avl, box(235), box(423), nullptr);
- avl = remove_int(avl, 617);
- avl = gpr_avl_add(avl, box(565), box(425), nullptr);
- avl = remove_int(avl, 469);
- avl = gpr_avl_add(avl, box(988), box(427), nullptr);
- avl = remove_int(avl, 957);
- avl = gpr_avl_add(avl, box(426), box(429), nullptr);
- avl = remove_int(avl, 967);
- avl = gpr_avl_add(avl, box(890), box(431), nullptr);
- avl = gpr_avl_add(avl, box(473), box(432), nullptr);
- avl = remove_int(avl, 367);
- avl = remove_int(avl, 344);
- avl = remove_int(avl, 660);
- avl = remove_int(avl, 448);
- avl = remove_int(avl, 837);
- avl = remove_int(avl, 158);
- avl = gpr_avl_add(avl, box(459), box(439), nullptr);
- avl = remove_int(avl, 882);
- avl = remove_int(avl, 782);
- avl = gpr_avl_add(avl, box(408), box(442), nullptr);
- avl = gpr_avl_add(avl, box(728), box(443), nullptr);
- avl = remove_int(avl, 27);
- avl = gpr_avl_add(avl, box(137), box(445), nullptr);
- avl = gpr_avl_add(avl, box(239), box(446), nullptr);
- avl = remove_int(avl, 854);
- avl = gpr_avl_add(avl, box(104), box(448), nullptr);
- avl = gpr_avl_add(avl, box(823), box(449), nullptr);
- avl = gpr_avl_add(avl, box(524), box(450), nullptr);
- avl = gpr_avl_add(avl, box(995), box(451), nullptr);
- avl = remove_int(avl, 422);
- avl = remove_int(avl, 220);
- avl = gpr_avl_add(avl, box(856), box(454), nullptr);
- avl = remove_int(avl, 332);
- avl = gpr_avl_add(avl, box(679), box(456), nullptr);
- avl = remove_int(avl, 18);
- avl = gpr_avl_add(avl, box(837), box(458), nullptr);
- avl = remove_int(avl, 405);
- avl = remove_int(avl, 877);
- avl = remove_int(avl, 835);
- avl = gpr_avl_add(avl, box(547), box(462), nullptr);
- avl = remove_int(avl, 805);
- avl = remove_int(avl, 862);
- avl = gpr_avl_add(avl, box(75), box(465), nullptr);
- avl = remove_int(avl, 41);
- avl = gpr_avl_add(avl, box(310), box(467), nullptr);
- avl = remove_int(avl, 855);
- avl = gpr_avl_add(avl, box(20), box(469), nullptr);
- avl = remove_int(avl, 186);
- avl = remove_int(avl, 378);
- avl = remove_int(avl, 442);
- avl = remove_int(avl, 930);
- avl = gpr_avl_add(avl, box(118), box(474), nullptr);
- avl = gpr_avl_add(avl, box(96), box(475), nullptr);
- avl = remove_int(avl, 854);
- avl = gpr_avl_add(avl, box(65), box(477), nullptr);
- avl = gpr_avl_add(avl, box(573), box(478), nullptr);
- avl = gpr_avl_add(avl, box(4), box(479), nullptr);
- avl = gpr_avl_add(avl, box(451), box(480), nullptr);
- avl = gpr_avl_add(avl, box(774), box(481), nullptr);
- avl = gpr_avl_add(avl, box(126), box(482), nullptr);
- avl = remove_int(avl, 956);
- avl = remove_int(avl, 591);
- avl = remove_int(avl, 644);
- avl = gpr_avl_add(avl, box(304), box(486), nullptr);
- avl = remove_int(avl, 620);
- avl = remove_int(avl, 394);
- avl = gpr_avl_add(avl, box(1002), box(489), nullptr);
- avl = gpr_avl_add(avl, box(837), box(490), nullptr);
- avl = remove_int(avl, 485);
- avl = gpr_avl_add(avl, box(1005), box(492), nullptr);
- avl = remove_int(avl, 21);
- avl = gpr_avl_add(avl, box(396), box(494), nullptr);
- avl = remove_int(avl, 966);
- avl = gpr_avl_add(avl, box(105), box(496), nullptr);
- avl = gpr_avl_add(avl, box(316), box(497), nullptr);
- avl = remove_int(avl, 776);
- avl = gpr_avl_add(avl, box(188), box(499), nullptr);
- avl = remove_int(avl, 200);
- avl = gpr_avl_add(avl, box(98), box(501), nullptr);
- avl = gpr_avl_add(avl, box(831), box(502), nullptr);
- avl = gpr_avl_add(avl, box(227), box(503), nullptr);
- avl = gpr_avl_add(avl, box(220), box(504), nullptr);
- avl = remove_int(avl, 715);
- avl = remove_int(avl, 279);
- avl = gpr_avl_add(avl, box(701), box(507), nullptr);
- avl = gpr_avl_add(avl, box(726), box(508), nullptr);
- avl = gpr_avl_add(avl, box(815), box(509), nullptr);
- avl = gpr_avl_add(avl, box(749), box(510), nullptr);
- avl = remove_int(avl, 946);
- avl = remove_int(avl, 449);
- avl = remove_int(avl, 62);
- avl = remove_int(avl, 487);
- avl = gpr_avl_add(avl, box(545), box(515), nullptr);
- avl = remove_int(avl, 59);
- avl = gpr_avl_add(avl, box(168), box(517), nullptr);
- avl = remove_int(avl, 337);
- avl = gpr_avl_add(avl, box(69), box(519), nullptr);
- avl = remove_int(avl, 600);
- avl = gpr_avl_add(avl, box(591), box(521), nullptr);
- avl = gpr_avl_add(avl, box(960), box(522), nullptr);
- avl = gpr_avl_add(avl, box(116), box(523), nullptr);
- avl = remove_int(avl, 991);
- avl = gpr_avl_add(avl, box(760), box(525), nullptr);
- avl = gpr_avl_add(avl, box(664), box(526), nullptr);
- avl = gpr_avl_add(avl, box(547), box(527), nullptr);
- avl = remove_int(avl, 922);
- avl = gpr_avl_add(avl, box(290), box(529), nullptr);
- avl = gpr_avl_add(avl, box(859), box(530), nullptr);
- avl = gpr_avl_add(avl, box(49), box(531), nullptr);
- avl = remove_int(avl, 455);
- avl = remove_int(avl, 786);
- avl = gpr_avl_add(avl, box(613), box(534), nullptr);
- avl = gpr_avl_add(avl, box(326), box(535), nullptr);
- avl = remove_int(avl, 615);
- avl = gpr_avl_add(avl, box(45), box(537), nullptr);
- avl = gpr_avl_add(avl, box(162), box(538), nullptr);
- avl = gpr_avl_add(avl, box(189), box(539), nullptr);
- avl = remove_int(avl, 68);
- avl = remove_int(avl, 846);
- avl = gpr_avl_add(avl, box(608), box(542), nullptr);
- avl = remove_int(avl, 821);
- avl = gpr_avl_add(avl, box(978), box(544), nullptr);
- avl = gpr_avl_add(avl, box(892), box(545), nullptr);
- avl = remove_int(avl, 924);
- avl = gpr_avl_add(avl, box(708), box(547), nullptr);
- avl = remove_int(avl, 135);
- avl = remove_int(avl, 124);
- avl = gpr_avl_add(avl, box(301), box(550), nullptr);
- avl = gpr_avl_add(avl, box(939), box(551), nullptr);
- avl = gpr_avl_add(avl, box(344), box(552), nullptr);
- avl = remove_int(avl, 443);
- avl = remove_int(avl, 122);
- avl = gpr_avl_add(avl, box(636), box(555), nullptr);
- avl = remove_int(avl, 558);
- avl = gpr_avl_add(avl, box(923), box(557), nullptr);
- avl = remove_int(avl, 827);
- avl = gpr_avl_add(avl, box(649), box(559), nullptr);
- avl = gpr_avl_add(avl, box(808), box(560), nullptr);
- avl = remove_int(avl, 570);
- avl = remove_int(avl, 434);
- avl = gpr_avl_add(avl, box(40), box(563), nullptr);
- avl = gpr_avl_add(avl, box(725), box(564), nullptr);
- avl = remove_int(avl, 295);
- avl = remove_int(avl, 615);
- avl = remove_int(avl, 919);
- avl = remove_int(avl, 170);
- avl = remove_int(avl, 442);
- avl = remove_int(avl, 971);
- avl = gpr_avl_add(avl, box(483), box(571), nullptr);
- avl = gpr_avl_add(avl, box(512), box(572), nullptr);
- avl = remove_int(avl, 648);
- avl = remove_int(avl, 78);
- avl = remove_int(avl, 72);
- avl = remove_int(avl, 790);
- avl = remove_int(avl, 571);
- avl = gpr_avl_add(avl, box(898), box(578), nullptr);
- avl = remove_int(avl, 770);
- avl = remove_int(avl, 776);
- avl = gpr_avl_add(avl, box(602), box(581), nullptr);
- avl = remove_int(avl, 251);
- avl = gpr_avl_add(avl, box(303), box(583), nullptr);
- avl = remove_int(avl, 837);
- avl = gpr_avl_add(avl, box(714), box(585), nullptr);
- avl = remove_int(avl, 800);
- avl = gpr_avl_add(avl, box(266), box(587), nullptr);
- avl = gpr_avl_add(avl, box(555), box(588), nullptr);
- avl = remove_int(avl, 604);
- avl = remove_int(avl, 163);
- avl = remove_int(avl, 497);
- avl = gpr_avl_add(avl, box(296), box(592), nullptr);
- avl = remove_int(avl, 129);
- avl = gpr_avl_add(avl, box(656), box(594), nullptr);
- avl = remove_int(avl, 769);
- avl = remove_int(avl, 941);
- avl = gpr_avl_add(avl, box(775), box(597), nullptr);
- avl = gpr_avl_add(avl, box(846), box(598), nullptr);
- avl = remove_int(avl, 591);
- avl = remove_int(avl, 801);
- avl = remove_int(avl, 419);
- avl = remove_int(avl, 455);
- avl = gpr_avl_add(avl, box(866), box(603), nullptr);
- avl = gpr_avl_add(avl, box(575), box(604), nullptr);
- avl = gpr_avl_add(avl, box(620), box(605), nullptr);
- avl = remove_int(avl, 100);
- avl = remove_int(avl, 667);
- avl = gpr_avl_add(avl, box(138), box(608), nullptr);
- avl = gpr_avl_add(avl, box(566), box(609), nullptr);
- avl = gpr_avl_add(avl, box(673), box(610), nullptr);
- avl = gpr_avl_add(avl, box(178), box(611), nullptr);
- avl = remove_int(avl, 659);
- avl = gpr_avl_add(avl, box(759), box(613), nullptr);
- avl = gpr_avl_add(avl, box(1008), box(614), nullptr);
- avl = remove_int(avl, 116);
- avl = gpr_avl_add(avl, box(608), box(616), nullptr);
- avl = gpr_avl_add(avl, box(339), box(617), nullptr);
- avl = gpr_avl_add(avl, box(197), box(618), nullptr);
- avl = remove_int(avl, 25);
- avl = remove_int(avl, 628);
- avl = gpr_avl_add(avl, box(487), box(621), nullptr);
- avl = remove_int(avl, 739);
- avl = remove_int(avl, 100);
- avl = remove_int(avl, 928);
- avl = gpr_avl_add(avl, box(647), box(625), nullptr);
- avl = remove_int(avl, 978);
- avl = remove_int(avl, 143);
- avl = remove_int(avl, 755);
- avl = gpr_avl_add(avl, box(71), box(629), nullptr);
- avl = remove_int(avl, 205);
- avl = gpr_avl_add(avl, box(501), box(631), nullptr);
- avl = remove_int(avl, 723);
- avl = remove_int(avl, 852);
- avl = remove_int(avl, 1021);
- avl = remove_int(avl, 670);
- avl = remove_int(avl, 500);
- avl = gpr_avl_add(avl, box(330), box(637), nullptr);
- avl = remove_int(avl, 264);
- avl = gpr_avl_add(avl, box(69), box(639), nullptr);
- avl = remove_int(avl, 73);
- avl = gpr_avl_add(avl, box(745), box(641), nullptr);
- avl = remove_int(avl, 518);
- avl = remove_int(avl, 641);
- avl = remove_int(avl, 768);
- avl = gpr_avl_add(avl, box(988), box(645), nullptr);
- avl = gpr_avl_add(avl, box(899), box(646), nullptr);
- avl = remove_int(avl, 763);
- avl = remove_int(avl, 281);
- avl = remove_int(avl, 496);
- avl = gpr_avl_add(avl, box(445), box(650), nullptr);
- avl = remove_int(avl, 905);
- avl = gpr_avl_add(avl, box(275), box(652), nullptr);
- avl = gpr_avl_add(avl, box(137), box(653), nullptr);
- avl = remove_int(avl, 642);
- avl = gpr_avl_add(avl, box(708), box(655), nullptr);
- avl = remove_int(avl, 922);
- avl = gpr_avl_add(avl, box(743), box(657), nullptr);
- avl = remove_int(avl, 295);
- avl = remove_int(avl, 665);
- avl = remove_int(avl, 48);
- avl = gpr_avl_add(avl, box(1012), box(661), nullptr);
- avl = remove_int(avl, 71);
- avl = remove_int(avl, 523);
- avl = gpr_avl_add(avl, box(319), box(664), nullptr);
- avl = remove_int(avl, 632);
- avl = gpr_avl_add(avl, box(137), box(666), nullptr);
- avl = gpr_avl_add(avl, box(686), box(667), nullptr);
- avl = gpr_avl_add(avl, box(724), box(668), nullptr);
- avl = gpr_avl_add(avl, box(952), box(669), nullptr);
- avl = gpr_avl_add(avl, box(5), box(670), nullptr);
- avl = remove_int(avl, 35);
- avl = gpr_avl_add(avl, box(43), box(672), nullptr);
- avl = gpr_avl_add(avl, box(320), box(673), nullptr);
- avl = gpr_avl_add(avl, box(115), box(674), nullptr);
- avl = remove_int(avl, 377);
- avl = remove_int(avl, 591);
- avl = remove_int(avl, 87);
- avl = remove_int(avl, 93);
- avl = gpr_avl_add(avl, box(1016), box(679), nullptr);
- avl = gpr_avl_add(avl, box(605), box(680), nullptr);
- avl = gpr_avl_add(avl, box(152), box(681), nullptr);
- avl = gpr_avl_add(avl, box(113), box(682), nullptr);
- avl = remove_int(avl, 131);
- avl = remove_int(avl, 637);
- avl = gpr_avl_add(avl, box(156), box(685), nullptr);
- avl = remove_int(avl, 696);
- avl = gpr_avl_add(avl, box(546), box(687), nullptr);
- avl = remove_int(avl, 970);
- avl = remove_int(avl, 53);
- avl = remove_int(avl, 827);
- avl = remove_int(avl, 224);
- avl = remove_int(avl, 796);
- avl = remove_int(avl, 34);
- avl = remove_int(avl, 922);
- avl = remove_int(avl, 277);
- avl = remove_int(avl, 650);
- avl = remove_int(avl, 222);
- avl = remove_int(avl, 244);
- avl = remove_int(avl, 576);
- avl = remove_int(avl, 413);
- avl = gpr_avl_add(avl, box(500), box(701), nullptr);
- avl = remove_int(avl, 924);
- avl = gpr_avl_add(avl, box(825), box(703), nullptr);
- avl = remove_int(avl, 888);
- avl = remove_int(avl, 931);
- avl = gpr_avl_add(avl, box(285), box(706), nullptr);
- avl = remove_int(avl, 62);
- avl = remove_int(avl, 444);
- avl = remove_int(avl, 946);
- avl = gpr_avl_add(avl, box(122), box(710), nullptr);
- avl = gpr_avl_add(avl, box(846), box(711), nullptr);
- avl = remove_int(avl, 628);
- avl = gpr_avl_add(avl, box(511), box(713), nullptr);
- avl = gpr_avl_add(avl, box(398), box(714), nullptr);
- avl = remove_int(avl, 730);
- avl = gpr_avl_add(avl, box(797), box(716), nullptr);
- avl = remove_int(avl, 897);
- avl = remove_int(avl, 228);
- avl = remove_int(avl, 544);
- avl = remove_int(avl, 552);
- avl = remove_int(avl, 783);
- avl = remove_int(avl, 583);
- avl = remove_int(avl, 894);
- avl = remove_int(avl, 942);
- avl = gpr_avl_add(avl, box(346), box(725), nullptr);
- avl = gpr_avl_add(avl, box(1015), box(726), nullptr);
- avl = remove_int(avl, 813);
- avl = gpr_avl_add(avl, box(213), box(728), nullptr);
- avl = remove_int(avl, 468);
- avl = remove_int(avl, 365);
- avl = remove_int(avl, 399);
- avl = gpr_avl_add(avl, box(380), box(732), nullptr);
- avl = remove_int(avl, 835);
- avl = remove_int(avl, 970);
- avl = gpr_avl_add(avl, box(700), box(735), nullptr);
- avl = gpr_avl_add(avl, box(807), box(736), nullptr);
- avl = remove_int(avl, 312);
- avl = remove_int(avl, 282);
- avl = remove_int(avl, 370);
- avl = remove_int(avl, 999);
- avl = remove_int(avl, 241);
- avl = remove_int(avl, 884);
- avl = gpr_avl_add(avl, box(587), box(743), nullptr);
- avl = gpr_avl_add(avl, box(332), box(744), nullptr);
- avl = remove_int(avl, 686);
- avl = remove_int(avl, 206);
- avl = remove_int(avl, 835);
- avl = gpr_avl_add(avl, box(334), box(748), nullptr);
- avl = remove_int(avl, 171);
- avl = gpr_avl_add(avl, box(1002), box(750), nullptr);
- avl = gpr_avl_add(avl, box(779), box(751), nullptr);
- avl = gpr_avl_add(avl, box(307), box(752), nullptr);
- avl = gpr_avl_add(avl, box(127), box(753), nullptr);
- avl = gpr_avl_add(avl, box(251), box(754), nullptr);
- avl = remove_int(avl, 790);
- avl = remove_int(avl, 189);
- avl = remove_int(avl, 193);
- avl = remove_int(avl, 38);
- avl = remove_int(avl, 124);
- avl = gpr_avl_add(avl, box(812), box(760), nullptr);
- avl = remove_int(avl, 43);
- avl = gpr_avl_add(avl, box(871), box(762), nullptr);
- avl = gpr_avl_add(avl, box(580), box(763), nullptr);
- avl = remove_int(avl, 501);
- avl = remove_int(avl, 462);
- avl = remove_int(avl, 599);
- avl = gpr_avl_add(avl, box(240), box(767), nullptr);
- avl = gpr_avl_add(avl, box(285), box(768), nullptr);
- avl = gpr_avl_add(avl, box(472), box(769), nullptr);
- avl = remove_int(avl, 865);
- avl = remove_int(avl, 763);
- avl = remove_int(avl, 245);
- avl = remove_int(avl, 80);
- avl = remove_int(avl, 713);
- avl = remove_int(avl, 654);
- avl = remove_int(avl, 1014);
- avl = gpr_avl_add(avl, box(495), box(777), nullptr);
- avl = gpr_avl_add(avl, box(552), box(778), nullptr);
- avl = remove_int(avl, 19);
- avl = remove_int(avl, 803);
- avl = gpr_avl_add(avl, box(508), box(781), nullptr);
- avl = remove_int(avl, 699);
- avl = remove_int(avl, 260);
- avl = remove_int(avl, 92);
- avl = remove_int(avl, 497);
- avl = gpr_avl_add(avl, box(970), box(786), nullptr);
- avl = remove_int(avl, 987);
- avl = remove_int(avl, 168);
- avl = remove_int(avl, 476);
- avl = remove_int(avl, 248);
- avl = gpr_avl_add(avl, box(358), box(791), nullptr);
- avl = remove_int(avl, 804);
- avl = remove_int(avl, 77);
- avl = remove_int(avl, 905);
- avl = remove_int(avl, 362);
- avl = gpr_avl_add(avl, box(578), box(796), nullptr);
- avl = remove_int(avl, 38);
- avl = remove_int(avl, 595);
- avl = gpr_avl_add(avl, box(213), box(799), nullptr);
- avl = remove_int(avl, 7);
- avl = remove_int(avl, 620);
- avl = gpr_avl_add(avl, box(946), box(802), nullptr);
- avl = remove_int(avl, 145);
- avl = gpr_avl_add(avl, box(628), box(804), nullptr);
- avl = remove_int(avl, 972);
- avl = gpr_avl_add(avl, box(728), box(806), nullptr);
- avl = remove_int(avl, 91);
- avl = gpr_avl_add(avl, box(136), box(808), nullptr);
- avl = gpr_avl_add(avl, box(841), box(809), nullptr);
- avl = gpr_avl_add(avl, box(265), box(810), nullptr);
- avl = gpr_avl_add(avl, box(701), box(811), nullptr);
- avl = gpr_avl_add(avl, box(27), box(812), nullptr);
- avl = remove_int(avl, 72);
- avl = remove_int(avl, 14);
- avl = gpr_avl_add(avl, box(286), box(815), nullptr);
- avl = remove_int(avl, 996);
- avl = remove_int(avl, 998);
- avl = gpr_avl_add(avl, box(466), box(818), nullptr);
- avl = remove_int(avl, 1009);
- avl = remove_int(avl, 741);
- avl = remove_int(avl, 947);
- avl = remove_int(avl, 241);
- avl = remove_int(avl, 954);
- avl = remove_int(avl, 183);
- avl = remove_int(avl, 395);
- avl = remove_int(avl, 951);
- avl = gpr_avl_add(avl, box(267), box(827), nullptr);
- avl = remove_int(avl, 812);
- avl = gpr_avl_add(avl, box(577), box(829), nullptr);
- avl = remove_int(avl, 624);
- avl = remove_int(avl, 847);
- avl = remove_int(avl, 745);
- avl = gpr_avl_add(avl, box(491), box(833), nullptr);
- avl = gpr_avl_add(avl, box(941), box(834), nullptr);
- avl = remove_int(avl, 258);
- avl = gpr_avl_add(avl, box(410), box(836), nullptr);
- avl = gpr_avl_add(avl, box(80), box(837), nullptr);
- avl = gpr_avl_add(avl, box(196), box(838), nullptr);
- avl = gpr_avl_add(avl, box(5), box(839), nullptr);
- avl = remove_int(avl, 782);
- avl = gpr_avl_add(avl, box(827), box(841), nullptr);
- avl = remove_int(avl, 472);
- avl = remove_int(avl, 664);
- avl = gpr_avl_add(avl, box(409), box(844), nullptr);
- avl = gpr_avl_add(avl, box(62), box(845), nullptr);
- avl = remove_int(avl, 56);
- avl = remove_int(avl, 606);
- avl = remove_int(avl, 707);
- avl = remove_int(avl, 989);
- avl = remove_int(avl, 549);
- avl = remove_int(avl, 259);
- avl = gpr_avl_add(avl, box(405), box(852), nullptr);
- avl = remove_int(avl, 587);
- avl = remove_int(avl, 350);
- avl = gpr_avl_add(avl, box(980), box(855), nullptr);
- avl = gpr_avl_add(avl, box(992), box(856), nullptr);
- avl = gpr_avl_add(avl, box(818), box(857), nullptr);
- avl = remove_int(avl, 853);
- avl = remove_int(avl, 701);
- avl = gpr_avl_add(avl, box(675), box(860), nullptr);
- avl = remove_int(avl, 248);
- avl = remove_int(avl, 649);
- avl = gpr_avl_add(avl, box(508), box(863), nullptr);
- avl = remove_int(avl, 927);
- avl = gpr_avl_add(avl, box(957), box(865), nullptr);
- avl = gpr_avl_add(avl, box(698), box(866), nullptr);
- avl = gpr_avl_add(avl, box(388), box(867), nullptr);
- avl = gpr_avl_add(avl, box(532), box(868), nullptr);
- avl = gpr_avl_add(avl, box(681), box(869), nullptr);
- avl = remove_int(avl, 544);
- avl = remove_int(avl, 991);
- avl = remove_int(avl, 397);
- avl = gpr_avl_add(avl, box(954), box(873), nullptr);
- avl = gpr_avl_add(avl, box(219), box(874), nullptr);
- avl = gpr_avl_add(avl, box(465), box(875), nullptr);
- avl = remove_int(avl, 371);
- avl = gpr_avl_add(avl, box(601), box(877), nullptr);
- avl = gpr_avl_add(avl, box(543), box(878), nullptr);
- avl = remove_int(avl, 329);
- avl = gpr_avl_add(avl, box(560), box(880), nullptr);
- avl = remove_int(avl, 898);
- avl = gpr_avl_add(avl, box(455), box(882), nullptr);
- avl = remove_int(avl, 313);
- avl = gpr_avl_add(avl, box(215), box(884), nullptr);
- avl = remove_int(avl, 846);
- avl = gpr_avl_add(avl, box(608), box(886), nullptr);
- avl = remove_int(avl, 248);
- avl = gpr_avl_add(avl, box(575), box(888), nullptr);
- avl = remove_int(avl, 207);
- avl = remove_int(avl, 810);
- avl = remove_int(avl, 665);
- avl = remove_int(avl, 361);
- avl = gpr_avl_add(avl, box(154), box(893), nullptr);
- avl = gpr_avl_add(avl, box(329), box(894), nullptr);
- avl = gpr_avl_add(avl, box(326), box(895), nullptr);
- avl = remove_int(avl, 746);
- avl = remove_int(avl, 99);
- avl = gpr_avl_add(avl, box(464), box(898), nullptr);
- avl = gpr_avl_add(avl, box(141), box(899), nullptr);
- avl = remove_int(avl, 383);
- avl = gpr_avl_add(avl, box(414), box(901), nullptr);
- avl = gpr_avl_add(avl, box(777), box(902), nullptr);
- avl = remove_int(avl, 972);
- avl = remove_int(avl, 841);
- avl = remove_int(avl, 100);
- avl = gpr_avl_add(avl, box(828), box(906), nullptr);
- avl = remove_int(avl, 785);
- avl = gpr_avl_add(avl, box(1008), box(908), nullptr);
- avl = gpr_avl_add(avl, box(46), box(909), nullptr);
- avl = remove_int(avl, 399);
- avl = gpr_avl_add(avl, box(178), box(911), nullptr);
- avl = gpr_avl_add(avl, box(573), box(912), nullptr);
- avl = remove_int(avl, 299);
- avl = gpr_avl_add(avl, box(690), box(914), nullptr);
- avl = gpr_avl_add(avl, box(692), box(915), nullptr);
- avl = remove_int(avl, 404);
- avl = remove_int(avl, 16);
- avl = remove_int(avl, 746);
- avl = remove_int(avl, 486);
- avl = remove_int(avl, 119);
- avl = gpr_avl_add(avl, box(167), box(921), nullptr);
- avl = remove_int(avl, 328);
- avl = gpr_avl_add(avl, box(89), box(923), nullptr);
- avl = remove_int(avl, 867);
- avl = remove_int(avl, 626);
- avl = remove_int(avl, 507);
- avl = gpr_avl_add(avl, box(365), box(927), nullptr);
- avl = gpr_avl_add(avl, box(58), box(928), nullptr);
- avl = gpr_avl_add(avl, box(70), box(929), nullptr);
- avl = remove_int(avl, 81);
- avl = remove_int(avl, 797);
- avl = gpr_avl_add(avl, box(846), box(932), nullptr);
- avl = remove_int(avl, 642);
- avl = gpr_avl_add(avl, box(777), box(934), nullptr);
- avl = remove_int(avl, 107);
- avl = gpr_avl_add(avl, box(691), box(936), nullptr);
- avl = gpr_avl_add(avl, box(820), box(937), nullptr);
- avl = gpr_avl_add(avl, box(202), box(938), nullptr);
- avl = gpr_avl_add(avl, box(308), box(939), nullptr);
- avl = gpr_avl_add(avl, box(20), box(940), nullptr);
- avl = remove_int(avl, 289);
- avl = gpr_avl_add(avl, box(714), box(942), nullptr);
- avl = gpr_avl_add(avl, box(584), box(943), nullptr);
- avl = remove_int(avl, 294);
- avl = gpr_avl_add(avl, box(496), box(945), nullptr);
- avl = gpr_avl_add(avl, box(394), box(946), nullptr);
- avl = gpr_avl_add(avl, box(860), box(947), nullptr);
- avl = gpr_avl_add(avl, box(58), box(948), nullptr);
- avl = remove_int(avl, 784);
- avl = remove_int(avl, 584);
- avl = remove_int(avl, 708);
- avl = gpr_avl_add(avl, box(142), box(952), nullptr);
- avl = gpr_avl_add(avl, box(247), box(953), nullptr);
- avl = gpr_avl_add(avl, box(389), box(954), nullptr);
- avl = remove_int(avl, 390);
- avl = gpr_avl_add(avl, box(465), box(956), nullptr);
- avl = gpr_avl_add(avl, box(936), box(957), nullptr);
- avl = gpr_avl_add(avl, box(309), box(958), nullptr);
- avl = remove_int(avl, 928);
- avl = remove_int(avl, 128);
- avl = remove_int(avl, 979);
- avl = remove_int(avl, 670);
- avl = remove_int(avl, 738);
- avl = remove_int(avl, 271);
- avl = remove_int(avl, 540);
- avl = gpr_avl_add(avl, box(365), box(966), nullptr);
- avl = remove_int(avl, 82);
- avl = gpr_avl_add(avl, box(728), box(968), nullptr);
- avl = remove_int(avl, 852);
- avl = gpr_avl_add(avl, box(884), box(970), nullptr);
- avl = gpr_avl_add(avl, box(502), box(971), nullptr);
- avl = remove_int(avl, 898);
- avl = remove_int(avl, 481);
- avl = gpr_avl_add(avl, box(911), box(974), nullptr);
- avl = remove_int(avl, 787);
- avl = remove_int(avl, 785);
- avl = remove_int(avl, 537);
- avl = remove_int(avl, 535);
- avl = remove_int(avl, 136);
- avl = remove_int(avl, 749);
- avl = remove_int(avl, 637);
- avl = remove_int(avl, 900);
- avl = gpr_avl_add(avl, box(598), box(983), nullptr);
- avl = remove_int(avl, 25);
- avl = remove_int(avl, 697);
- avl = gpr_avl_add(avl, box(645), box(986), nullptr);
- avl = gpr_avl_add(avl, box(211), box(987), nullptr);
- avl = gpr_avl_add(avl, box(589), box(988), nullptr);
- avl = remove_int(avl, 702);
- avl = gpr_avl_add(avl, box(53), box(990), nullptr);
- avl = remove_int(avl, 492);
- avl = remove_int(avl, 185);
- avl = remove_int(avl, 246);
- avl = remove_int(avl, 257);
- avl = remove_int(avl, 502);
- avl = remove_int(avl, 34);
- avl = gpr_avl_add(avl, box(74), box(997), nullptr);
- avl = gpr_avl_add(avl, box(834), box(998), nullptr);
- avl = gpr_avl_add(avl, box(514), box(999), nullptr);
- avl = gpr_avl_add(avl, box(75), box(1000), nullptr);
- avl = remove_int(avl, 745);
- avl = gpr_avl_add(avl, box(362), box(1002), nullptr);
- avl = remove_int(avl, 215);
- avl = gpr_avl_add(avl, box(624), box(1004), nullptr);
- avl = remove_int(avl, 404);
- avl = remove_int(avl, 359);
- avl = remove_int(avl, 491);
- avl = gpr_avl_add(avl, box(903), box(1008), nullptr);
- avl = gpr_avl_add(avl, box(240), box(1009), nullptr);
- avl = remove_int(avl, 95);
- avl = gpr_avl_add(avl, box(119), box(1011), nullptr);
- avl = gpr_avl_add(avl, box(857), box(1012), nullptr);
- avl = remove_int(avl, 39);
- avl = remove_int(avl, 866);
- avl = gpr_avl_add(avl, box(503), box(1015), nullptr);
- avl = gpr_avl_add(avl, box(740), box(1016), nullptr);
- avl = remove_int(avl, 637);
- avl = remove_int(avl, 156);
- avl = remove_int(avl, 6);
- avl = remove_int(avl, 745);
- avl = remove_int(avl, 433);
- avl = remove_int(avl, 283);
- avl = gpr_avl_add(avl, box(625), box(1023), nullptr);
- avl = remove_int(avl, 638);
- avl = gpr_avl_add(avl, box(299), box(1025), nullptr);
- avl = gpr_avl_add(avl, box(584), box(1026), nullptr);
- avl = remove_int(avl, 863);
- avl = gpr_avl_add(avl, box(612), box(1028), nullptr);
- avl = gpr_avl_add(avl, box(62), box(1029), nullptr);
- avl = gpr_avl_add(avl, box(432), box(1030), nullptr);
- avl = remove_int(avl, 371);
- avl = remove_int(avl, 790);
- avl = remove_int(avl, 227);
- avl = remove_int(avl, 836);
- avl = gpr_avl_add(avl, box(703), box(1035), nullptr);
- avl = gpr_avl_add(avl, box(644), box(1036), nullptr);
- avl = remove_int(avl, 638);
- avl = gpr_avl_add(avl, box(13), box(1038), nullptr);
- avl = remove_int(avl, 66);
- avl = remove_int(avl, 82);
- avl = gpr_avl_add(avl, box(362), box(1041), nullptr);
- avl = gpr_avl_add(avl, box(783), box(1042), nullptr);
- avl = remove_int(avl, 60);
- avl = gpr_avl_add(avl, box(80), box(1044), nullptr);
- avl = gpr_avl_add(avl, box(825), box(1045), nullptr);
- avl = gpr_avl_add(avl, box(688), box(1046), nullptr);
- avl = gpr_avl_add(avl, box(662), box(1047), nullptr);
- avl = remove_int(avl, 156);
- avl = remove_int(avl, 376);
- avl = remove_int(avl, 99);
- avl = gpr_avl_add(avl, box(526), box(1051), nullptr);
- avl = gpr_avl_add(avl, box(168), box(1052), nullptr);
- avl = remove_int(avl, 646);
- avl = remove_int(avl, 380);
- avl = remove_int(avl, 833);
- avl = gpr_avl_add(avl, box(53), box(1056), nullptr);
- avl = remove_int(avl, 105);
- avl = gpr_avl_add(avl, box(373), box(1058), nullptr);
- avl = gpr_avl_add(avl, box(184), box(1059), nullptr);
- avl = remove_int(avl, 288);
- avl = gpr_avl_add(avl, box(966), box(1061), nullptr);
- avl = remove_int(avl, 158);
- avl = gpr_avl_add(avl, box(406), box(1063), nullptr);
- avl = remove_int(avl, 470);
- avl = gpr_avl_add(avl, box(283), box(1065), nullptr);
- avl = gpr_avl_add(avl, box(838), box(1066), nullptr);
- avl = gpr_avl_add(avl, box(288), box(1067), nullptr);
- avl = gpr_avl_add(avl, box(950), box(1068), nullptr);
- avl = gpr_avl_add(avl, box(163), box(1069), nullptr);
- avl = remove_int(avl, 623);
- avl = remove_int(avl, 769);
- avl = gpr_avl_add(avl, box(144), box(1072), nullptr);
- avl = gpr_avl_add(avl, box(489), box(1073), nullptr);
- avl = remove_int(avl, 15);
- avl = gpr_avl_add(avl, box(971), box(1075), nullptr);
- avl = remove_int(avl, 660);
- avl = gpr_avl_add(avl, box(255), box(1077), nullptr);
- avl = remove_int(avl, 494);
- avl = gpr_avl_add(avl, box(109), box(1079), nullptr);
- avl = gpr_avl_add(avl, box(420), box(1080), nullptr);
- avl = gpr_avl_add(avl, box(509), box(1081), nullptr);
- avl = remove_int(avl, 178);
- avl = gpr_avl_add(avl, box(216), box(1083), nullptr);
- avl = gpr_avl_add(avl, box(707), box(1084), nullptr);
- avl = gpr_avl_add(avl, box(411), box(1085), nullptr);
- avl = gpr_avl_add(avl, box(352), box(1086), nullptr);
- avl = remove_int(avl, 983);
- avl = gpr_avl_add(avl, box(6), box(1088), nullptr);
- avl = gpr_avl_add(avl, box(1014), box(1089), nullptr);
- avl = remove_int(avl, 98);
- avl = remove_int(avl, 325);
- avl = gpr_avl_add(avl, box(851), box(1092), nullptr);
- avl = remove_int(avl, 553);
- avl = gpr_avl_add(avl, box(218), box(1094), nullptr);
- avl = gpr_avl_add(avl, box(261), box(1095), nullptr);
- avl = remove_int(avl, 31);
- avl = gpr_avl_add(avl, box(872), box(1097), nullptr);
- avl = remove_int(avl, 543);
- avl = remove_int(avl, 314);
- avl = remove_int(avl, 443);
- avl = gpr_avl_add(avl, box(533), box(1101), nullptr);
- avl = remove_int(avl, 881);
- avl = remove_int(avl, 269);
- avl = remove_int(avl, 940);
- avl = remove_int(avl, 909);
- avl = remove_int(avl, 197);
- avl = remove_int(avl, 773);
- avl = remove_int(avl, 790);
- avl = remove_int(avl, 345);
- avl = gpr_avl_add(avl, box(965), box(1110), nullptr);
- avl = remove_int(avl, 622);
- avl = gpr_avl_add(avl, box(352), box(1112), nullptr);
- avl = remove_int(avl, 182);
- avl = gpr_avl_add(avl, box(534), box(1114), nullptr);
- avl = gpr_avl_add(avl, box(97), box(1115), nullptr);
- avl = gpr_avl_add(avl, box(198), box(1116), nullptr);
- avl = remove_int(avl, 750);
- avl = gpr_avl_add(avl, box(98), box(1118), nullptr);
- avl = remove_int(avl, 943);
- avl = gpr_avl_add(avl, box(254), box(1120), nullptr);
- avl = gpr_avl_add(avl, box(30), box(1121), nullptr);
- avl = remove_int(avl, 14);
- avl = remove_int(avl, 475);
- avl = remove_int(avl, 82);
- avl = gpr_avl_add(avl, box(789), box(1125), nullptr);
- avl = gpr_avl_add(avl, box(402), box(1126), nullptr);
- avl = remove_int(avl, 1019);
- avl = gpr_avl_add(avl, box(858), box(1128), nullptr);
- avl = gpr_avl_add(avl, box(625), box(1129), nullptr);
- avl = remove_int(avl, 675);
- avl = remove_int(avl, 323);
- avl = gpr_avl_add(avl, box(329), box(1132), nullptr);
- avl = remove_int(avl, 929);
- avl = remove_int(avl, 44);
- avl = gpr_avl_add(avl, box(443), box(1135), nullptr);
- avl = gpr_avl_add(avl, box(653), box(1136), nullptr);
- avl = gpr_avl_add(avl, box(750), box(1137), nullptr);
- avl = gpr_avl_add(avl, box(252), box(1138), nullptr);
- avl = gpr_avl_add(avl, box(449), box(1139), nullptr);
- avl = remove_int(avl, 1022);
- avl = remove_int(avl, 357);
- avl = remove_int(avl, 602);
- avl = remove_int(avl, 131);
- avl = gpr_avl_add(avl, box(531), box(1144), nullptr);
- avl = remove_int(avl, 806);
- avl = gpr_avl_add(avl, box(455), box(1146), nullptr);
- avl = remove_int(avl, 31);
- avl = gpr_avl_add(avl, box(154), box(1148), nullptr);
- avl = gpr_avl_add(avl, box(189), box(1149), nullptr);
- avl = remove_int(avl, 786);
- avl = gpr_avl_add(avl, box(496), box(1151), nullptr);
- avl = gpr_avl_add(avl, box(81), box(1152), nullptr);
- avl = gpr_avl_add(avl, box(59), box(1153), nullptr);
- avl = remove_int(avl, 424);
- avl = remove_int(avl, 668);
- avl = gpr_avl_add(avl, box(723), box(1156), nullptr);
- avl = gpr_avl_add(avl, box(822), box(1157), nullptr);
- avl = gpr_avl_add(avl, box(354), box(1158), nullptr);
- avl = remove_int(avl, 738);
- avl = gpr_avl_add(avl, box(686), box(1160), nullptr);
- avl = gpr_avl_add(avl, box(43), box(1161), nullptr);
- avl = gpr_avl_add(avl, box(625), box(1162), nullptr);
- avl = gpr_avl_add(avl, box(902), box(1163), nullptr);
- avl = gpr_avl_add(avl, box(12), box(1164), nullptr);
- avl = gpr_avl_add(avl, box(977), box(1165), nullptr);
- avl = gpr_avl_add(avl, box(699), box(1166), nullptr);
- avl = gpr_avl_add(avl, box(189), box(1167), nullptr);
- avl = remove_int(avl, 672);
- avl = remove_int(avl, 90);
- avl = remove_int(avl, 757);
- avl = remove_int(avl, 494);
- avl = gpr_avl_add(avl, box(759), box(1172), nullptr);
- avl = remove_int(avl, 758);
- avl = remove_int(avl, 222);
- avl = gpr_avl_add(avl, box(975), box(1175), nullptr);
- avl = remove_int(avl, 993);
- avl = gpr_avl_add(avl, box(2), box(1177), nullptr);
- avl = gpr_avl_add(avl, box(70), box(1178), nullptr);
- avl = remove_int(avl, 350);
- avl = remove_int(avl, 972);
- avl = remove_int(avl, 880);
- avl = gpr_avl_add(avl, box(753), box(1182), nullptr);
- avl = remove_int(avl, 404);
- avl = gpr_avl_add(avl, box(294), box(1184), nullptr);
- avl = remove_int(avl, 474);
- avl = gpr_avl_add(avl, box(228), box(1186), nullptr);
- avl = gpr_avl_add(avl, box(484), box(1187), nullptr);
- avl = remove_int(avl, 238);
- avl = remove_int(avl, 53);
- avl = remove_int(avl, 691);
- avl = gpr_avl_add(avl, box(345), box(1191), nullptr);
- avl = remove_int(avl, 0);
- avl = gpr_avl_add(avl, box(230), box(1193), nullptr);
- avl = remove_int(avl, 227);
- avl = remove_int(avl, 152);
- avl = gpr_avl_add(avl, box(884), box(1196), nullptr);
- avl = remove_int(avl, 823);
- avl = remove_int(avl, 53);
- avl = gpr_avl_add(avl, box(1015), box(1199), nullptr);
- avl = gpr_avl_add(avl, box(697), box(1200), nullptr);
- avl = gpr_avl_add(avl, box(376), box(1201), nullptr);
- avl = remove_int(avl, 411);
- avl = gpr_avl_add(avl, box(888), box(1203), nullptr);
- avl = remove_int(avl, 55);
- avl = gpr_avl_add(avl, box(85), box(1205), nullptr);
- avl = remove_int(avl, 947);
- avl = remove_int(avl, 382);
- avl = remove_int(avl, 777);
- avl = gpr_avl_add(avl, box(1017), box(1209), nullptr);
- avl = gpr_avl_add(avl, box(169), box(1210), nullptr);
- avl = gpr_avl_add(avl, box(156), box(1211), nullptr);
- avl = remove_int(avl, 153);
- avl = remove_int(avl, 642);
- avl = remove_int(avl, 158);
- avl = gpr_avl_add(avl, box(554), box(1215), nullptr);
- avl = gpr_avl_add(avl, box(76), box(1216), nullptr);
- avl = gpr_avl_add(avl, box(756), box(1217), nullptr);
- avl = remove_int(avl, 767);
- avl = remove_int(avl, 112);
- avl = remove_int(avl, 539);
- avl = remove_int(avl, 544);
- avl = remove_int(avl, 628);
- avl = remove_int(avl, 385);
- avl = remove_int(avl, 514);
- avl = remove_int(avl, 362);
- avl = gpr_avl_add(avl, box(523), box(1226), nullptr);
- avl = gpr_avl_add(avl, box(712), box(1227), nullptr);
- avl = gpr_avl_add(avl, box(474), box(1228), nullptr);
- avl = gpr_avl_add(avl, box(882), box(1229), nullptr);
- avl = gpr_avl_add(avl, box(965), box(1230), nullptr);
- avl = remove_int(avl, 464);
- avl = gpr_avl_add(avl, box(319), box(1232), nullptr);
- avl = gpr_avl_add(avl, box(504), box(1233), nullptr);
- avl = remove_int(avl, 818);
- avl = gpr_avl_add(avl, box(884), box(1235), nullptr);
- avl = gpr_avl_add(avl, box(813), box(1236), nullptr);
- avl = gpr_avl_add(avl, box(795), box(1237), nullptr);
- avl = remove_int(avl, 306);
- avl = gpr_avl_add(avl, box(799), box(1239), nullptr);
- avl = remove_int(avl, 534);
- avl = gpr_avl_add(avl, box(480), box(1241), nullptr);
- avl = gpr_avl_add(avl, box(656), box(1242), nullptr);
- avl = gpr_avl_add(avl, box(709), box(1243), nullptr);
- avl = gpr_avl_add(avl, box(500), box(1244), nullptr);
- avl = remove_int(avl, 740);
- avl = gpr_avl_add(avl, box(980), box(1246), nullptr);
- avl = gpr_avl_add(avl, box(458), box(1247), nullptr);
- avl = remove_int(avl, 377);
- avl = remove_int(avl, 338);
- avl = gpr_avl_add(avl, box(554), box(1250), nullptr);
- avl = gpr_avl_add(avl, box(504), box(1251), nullptr);
- avl = gpr_avl_add(avl, box(603), box(1252), nullptr);
- avl = gpr_avl_add(avl, box(761), box(1253), nullptr);
- avl = remove_int(avl, 431);
- avl = gpr_avl_add(avl, box(707), box(1255), nullptr);
- avl = gpr_avl_add(avl, box(673), box(1256), nullptr);
- avl = remove_int(avl, 998);
- avl = remove_int(avl, 332);
- avl = remove_int(avl, 413);
- avl = remove_int(avl, 227);
- avl = remove_int(avl, 249);
- avl = remove_int(avl, 309);
- avl = remove_int(avl, 459);
- avl = gpr_avl_add(avl, box(645), box(1264), nullptr);
- avl = remove_int(avl, 858);
- avl = remove_int(avl, 997);
- avl = gpr_avl_add(avl, box(519), box(1267), nullptr);
- avl = remove_int(avl, 614);
- avl = remove_int(avl, 462);
- avl = remove_int(avl, 792);
- avl = gpr_avl_add(avl, box(987), box(1271), nullptr);
- avl = gpr_avl_add(avl, box(309), box(1272), nullptr);
- avl = remove_int(avl, 747);
- avl = gpr_avl_add(avl, box(621), box(1274), nullptr);
- avl = gpr_avl_add(avl, box(450), box(1275), nullptr);
- avl = remove_int(avl, 265);
- avl = remove_int(avl, 8);
- avl = remove_int(avl, 383);
- avl = gpr_avl_add(avl, box(238), box(1279), nullptr);
- avl = remove_int(avl, 241);
- avl = gpr_avl_add(avl, box(180), box(1281), nullptr);
- avl = gpr_avl_add(avl, box(411), box(1282), nullptr);
- avl = gpr_avl_add(avl, box(791), box(1283), nullptr);
- avl = gpr_avl_add(avl, box(955), box(1284), nullptr);
- avl = remove_int(avl, 24);
- avl = remove_int(avl, 375);
- avl = gpr_avl_add(avl, box(140), box(1287), nullptr);
- avl = remove_int(avl, 949);
- avl = gpr_avl_add(avl, box(301), box(1289), nullptr);
- avl = gpr_avl_add(avl, box(0), box(1290), nullptr);
- avl = remove_int(avl, 371);
- avl = remove_int(avl, 427);
- avl = remove_int(avl, 841);
- avl = remove_int(avl, 847);
- avl = gpr_avl_add(avl, box(814), box(1295), nullptr);
- avl = gpr_avl_add(avl, box(127), box(1296), nullptr);
- avl = gpr_avl_add(avl, box(279), box(1297), nullptr);
- avl = remove_int(avl, 669);
- avl = remove_int(avl, 541);
- avl = remove_int(avl, 275);
- avl = remove_int(avl, 299);
- avl = remove_int(avl, 552);
- avl = gpr_avl_add(avl, box(310), box(1303), nullptr);
- avl = gpr_avl_add(avl, box(304), box(1304), nullptr);
- avl = gpr_avl_add(avl, box(1), box(1305), nullptr);
- avl = gpr_avl_add(avl, box(339), box(1306), nullptr);
- avl = remove_int(avl, 570);
- avl = remove_int(avl, 752);
- avl = remove_int(avl, 552);
- avl = remove_int(avl, 442);
- avl = remove_int(avl, 639);
- avl = gpr_avl_add(avl, box(313), box(1312), nullptr);
- avl = remove_int(avl, 85);
- avl = gpr_avl_add(avl, box(964), box(1314), nullptr);
- avl = gpr_avl_add(avl, box(559), box(1315), nullptr);
- avl = remove_int(avl, 167);
- avl = gpr_avl_add(avl, box(866), box(1317), nullptr);
- avl = remove_int(avl, 275);
- avl = gpr_avl_add(avl, box(173), box(1319), nullptr);
- avl = gpr_avl_add(avl, box(765), box(1320), nullptr);
- avl = remove_int(avl, 883);
- avl = gpr_avl_add(avl, box(547), box(1322), nullptr);
- avl = gpr_avl_add(avl, box(847), box(1323), nullptr);
- avl = remove_int(avl, 817);
- avl = remove_int(avl, 850);
- avl = remove_int(avl, 718);
- avl = gpr_avl_add(avl, box(806), box(1327), nullptr);
- avl = gpr_avl_add(avl, box(360), box(1328), nullptr);
- avl = remove_int(avl, 991);
- avl = gpr_avl_add(avl, box(493), box(1330), nullptr);
- avl = remove_int(avl, 516);
- avl = gpr_avl_add(avl, box(361), box(1332), nullptr);
- avl = remove_int(avl, 355);
- avl = gpr_avl_add(avl, box(512), box(1334), nullptr);
- avl = gpr_avl_add(avl, box(191), box(1335), nullptr);
- avl = remove_int(avl, 703);
- avl = gpr_avl_add(avl, box(333), box(1337), nullptr);
- avl = remove_int(avl, 481);
- avl = gpr_avl_add(avl, box(501), box(1339), nullptr);
- avl = remove_int(avl, 532);
- avl = remove_int(avl, 510);
- avl = gpr_avl_add(avl, box(793), box(1342), nullptr);
- avl = gpr_avl_add(avl, box(234), box(1343), nullptr);
- avl = remove_int(avl, 159);
- avl = remove_int(avl, 429);
- avl = remove_int(avl, 728);
- avl = remove_int(avl, 288);
- avl = gpr_avl_add(avl, box(281), box(1348), nullptr);
- avl = gpr_avl_add(avl, box(702), box(1349), nullptr);
- avl = gpr_avl_add(avl, box(149), box(1350), nullptr);
- avl = remove_int(avl, 22);
- avl = remove_int(avl, 944);
- avl = remove_int(avl, 55);
- avl = remove_int(avl, 512);
- avl = remove_int(avl, 676);
- avl = remove_int(avl, 884);
- avl = gpr_avl_add(avl, box(246), box(1357), nullptr);
- avl = gpr_avl_add(avl, box(455), box(1358), nullptr);
- avl = remove_int(avl, 782);
- avl = remove_int(avl, 682);
- avl = gpr_avl_add(avl, box(243), box(1361), nullptr);
- avl = gpr_avl_add(avl, box(109), box(1362), nullptr);
- avl = gpr_avl_add(avl, box(452), box(1363), nullptr);
- avl = remove_int(avl, 151);
- avl = gpr_avl_add(avl, box(159), box(1365), nullptr);
- avl = remove_int(avl, 1023);
- avl = gpr_avl_add(avl, box(129), box(1367), nullptr);
- avl = gpr_avl_add(avl, box(537), box(1368), nullptr);
- avl = remove_int(avl, 321);
- avl = gpr_avl_add(avl, box(740), box(1370), nullptr);
- avl = remove_int(avl, 45);
- avl = remove_int(avl, 136);
- avl = gpr_avl_add(avl, box(229), box(1373), nullptr);
- avl = remove_int(avl, 772);
- avl = gpr_avl_add(avl, box(181), box(1375), nullptr);
- avl = remove_int(avl, 175);
- avl = gpr_avl_add(avl, box(817), box(1377), nullptr);
- avl = remove_int(avl, 956);
- avl = gpr_avl_add(avl, box(675), box(1379), nullptr);
- avl = gpr_avl_add(avl, box(375), box(1380), nullptr);
- avl = remove_int(avl, 384);
- avl = gpr_avl_add(avl, box(1016), box(1382), nullptr);
- avl = remove_int(avl, 295);
- avl = remove_int(avl, 697);
- avl = remove_int(avl, 554);
- avl = remove_int(avl, 590);
- avl = remove_int(avl, 1014);
- avl = gpr_avl_add(avl, box(890), box(1388), nullptr);
- avl = gpr_avl_add(avl, box(293), box(1389), nullptr);
- avl = remove_int(avl, 207);
- avl = remove_int(avl, 46);
- avl = gpr_avl_add(avl, box(899), box(1392), nullptr);
- avl = gpr_avl_add(avl, box(666), box(1393), nullptr);
- avl = gpr_avl_add(avl, box(85), box(1394), nullptr);
- avl = gpr_avl_add(avl, box(914), box(1395), nullptr);
- avl = gpr_avl_add(avl, box(128), box(1396), nullptr);
- avl = gpr_avl_add(avl, box(835), box(1397), nullptr);
- avl = gpr_avl_add(avl, box(787), box(1398), nullptr);
- avl = gpr_avl_add(avl, box(649), box(1399), nullptr);
- avl = gpr_avl_add(avl, box(723), box(1400), nullptr);
- avl = remove_int(avl, 874);
- avl = gpr_avl_add(avl, box(778), box(1402), nullptr);
- avl = gpr_avl_add(avl, box(1015), box(1403), nullptr);
- avl = gpr_avl_add(avl, box(59), box(1404), nullptr);
- avl = gpr_avl_add(avl, box(259), box(1405), nullptr);
- avl = gpr_avl_add(avl, box(758), box(1406), nullptr);
- avl = remove_int(avl, 648);
- avl = gpr_avl_add(avl, box(145), box(1408), nullptr);
- avl = gpr_avl_add(avl, box(440), box(1409), nullptr);
- avl = remove_int(avl, 608);
- avl = remove_int(avl, 690);
- avl = gpr_avl_add(avl, box(605), box(1412), nullptr);
- avl = remove_int(avl, 856);
- avl = remove_int(avl, 608);
- avl = gpr_avl_add(avl, box(829), box(1415), nullptr);
- avl = gpr_avl_add(avl, box(660), box(1416), nullptr);
- avl = remove_int(avl, 596);
- avl = gpr_avl_add(avl, box(519), box(1418), nullptr);
- avl = gpr_avl_add(avl, box(35), box(1419), nullptr);
- avl = gpr_avl_add(avl, box(871), box(1420), nullptr);
- avl = remove_int(avl, 845);
- avl = gpr_avl_add(avl, box(600), box(1422), nullptr);
- avl = gpr_avl_add(avl, box(215), box(1423), nullptr);
- avl = remove_int(avl, 761);
- avl = gpr_avl_add(avl, box(975), box(1425), nullptr);
- avl = remove_int(avl, 987);
- avl = gpr_avl_add(avl, box(58), box(1427), nullptr);
- avl = remove_int(avl, 119);
- avl = gpr_avl_add(avl, box(937), box(1429), nullptr);
- avl = gpr_avl_add(avl, box(372), box(1430), nullptr);
- avl = gpr_avl_add(avl, box(11), box(1431), nullptr);
- avl = gpr_avl_add(avl, box(398), box(1432), nullptr);
- avl = gpr_avl_add(avl, box(423), box(1433), nullptr);
- avl = remove_int(avl, 171);
- avl = gpr_avl_add(avl, box(473), box(1435), nullptr);
- avl = remove_int(avl, 752);
- avl = remove_int(avl, 625);
- avl = remove_int(avl, 764);
- avl = remove_int(avl, 49);
- avl = gpr_avl_add(avl, box(472), box(1440), nullptr);
- avl = remove_int(avl, 847);
- avl = remove_int(avl, 642);
- avl = remove_int(avl, 1004);
- avl = remove_int(avl, 795);
- avl = remove_int(avl, 465);
- avl = gpr_avl_add(avl, box(636), box(1446), nullptr);
- avl = remove_int(avl, 152);
- avl = gpr_avl_add(avl, box(61), box(1448), nullptr);
- avl = remove_int(avl, 929);
- avl = remove_int(avl, 9);
- avl = gpr_avl_add(avl, box(251), box(1451), nullptr);
- avl = gpr_avl_add(avl, box(672), box(1452), nullptr);
- avl = gpr_avl_add(avl, box(66), box(1453), nullptr);
- avl = remove_int(avl, 693);
- avl = remove_int(avl, 914);
- avl = remove_int(avl, 116);
- avl = remove_int(avl, 577);
- avl = gpr_avl_add(avl, box(618), box(1458), nullptr);
- avl = gpr_avl_add(avl, box(495), box(1459), nullptr);
- avl = remove_int(avl, 450);
- avl = gpr_avl_add(avl, box(533), box(1461), nullptr);
- avl = gpr_avl_add(avl, box(414), box(1462), nullptr);
- avl = remove_int(avl, 74);
- avl = remove_int(avl, 236);
- avl = gpr_avl_add(avl, box(707), box(1465), nullptr);
- avl = gpr_avl_add(avl, box(357), box(1466), nullptr);
- avl = gpr_avl_add(avl, box(1007), box(1467), nullptr);
- avl = gpr_avl_add(avl, box(811), box(1468), nullptr);
- avl = gpr_avl_add(avl, box(418), box(1469), nullptr);
- avl = gpr_avl_add(avl, box(164), box(1470), nullptr);
- avl = gpr_avl_add(avl, box(622), box(1471), nullptr);
- avl = remove_int(avl, 22);
- avl = remove_int(avl, 14);
- avl = remove_int(avl, 732);
- avl = remove_int(avl, 7);
- avl = remove_int(avl, 447);
- avl = gpr_avl_add(avl, box(221), box(1477), nullptr);
- avl = gpr_avl_add(avl, box(202), box(1478), nullptr);
- avl = gpr_avl_add(avl, box(312), box(1479), nullptr);
- avl = remove_int(avl, 274);
- avl = gpr_avl_add(avl, box(684), box(1481), nullptr);
- avl = gpr_avl_add(avl, box(954), box(1482), nullptr);
- avl = gpr_avl_add(avl, box(637), box(1483), nullptr);
- avl = remove_int(avl, 716);
- avl = gpr_avl_add(avl, box(198), box(1485), nullptr);
- avl = remove_int(avl, 340);
- avl = remove_int(avl, 137);
- avl = remove_int(avl, 995);
- avl = remove_int(avl, 1004);
- avl = gpr_avl_add(avl, box(661), box(1490), nullptr);
- avl = gpr_avl_add(avl, box(862), box(1491), nullptr);
- avl = remove_int(avl, 527);
- avl = gpr_avl_add(avl, box(945), box(1493), nullptr);
- avl = remove_int(avl, 355);
- avl = remove_int(avl, 144);
- avl = gpr_avl_add(avl, box(229), box(1496), nullptr);
- avl = gpr_avl_add(avl, box(237), box(1497), nullptr);
- avl = remove_int(avl, 471);
- avl = remove_int(avl, 901);
- avl = gpr_avl_add(avl, box(905), box(1500), nullptr);
- avl = remove_int(avl, 19);
- avl = remove_int(avl, 896);
- avl = remove_int(avl, 585);
- avl = remove_int(avl, 308);
- avl = gpr_avl_add(avl, box(547), box(1505), nullptr);
- avl = gpr_avl_add(avl, box(552), box(1506), nullptr);
- avl = gpr_avl_add(avl, box(30), box(1507), nullptr);
- avl = gpr_avl_add(avl, box(445), box(1508), nullptr);
- avl = remove_int(avl, 785);
- avl = remove_int(avl, 185);
- avl = gpr_avl_add(avl, box(405), box(1511), nullptr);
- avl = gpr_avl_add(avl, box(733), box(1512), nullptr);
- avl = gpr_avl_add(avl, box(573), box(1513), nullptr);
- avl = gpr_avl_add(avl, box(492), box(1514), nullptr);
- avl = gpr_avl_add(avl, box(343), box(1515), nullptr);
- avl = gpr_avl_add(avl, box(527), box(1516), nullptr);
- avl = gpr_avl_add(avl, box(596), box(1517), nullptr);
- avl = gpr_avl_add(avl, box(519), box(1518), nullptr);
- avl = remove_int(avl, 243);
- avl = remove_int(avl, 722);
- avl = gpr_avl_add(avl, box(772), box(1521), nullptr);
- avl = remove_int(avl, 152);
- avl = remove_int(avl, 305);
- avl = gpr_avl_add(avl, box(754), box(1524), nullptr);
- avl = gpr_avl_add(avl, box(373), box(1525), nullptr);
- avl = remove_int(avl, 995);
- avl = gpr_avl_add(avl, box(329), box(1527), nullptr);
- avl = remove_int(avl, 397);
- avl = gpr_avl_add(avl, box(884), box(1529), nullptr);
- avl = remove_int(avl, 329);
- avl = remove_int(avl, 240);
- avl = gpr_avl_add(avl, box(566), box(1532), nullptr);
- avl = gpr_avl_add(avl, box(232), box(1533), nullptr);
- avl = remove_int(avl, 993);
- avl = gpr_avl_add(avl, box(888), box(1535), nullptr);
- avl = remove_int(avl, 242);
- avl = gpr_avl_add(avl, box(941), box(1537), nullptr);
- avl = remove_int(avl, 415);
- avl = gpr_avl_add(avl, box(992), box(1539), nullptr);
- avl = remove_int(avl, 289);
- avl = gpr_avl_add(avl, box(60), box(1541), nullptr);
- avl = gpr_avl_add(avl, box(97), box(1542), nullptr);
- avl = remove_int(avl, 965);
- avl = remove_int(avl, 267);
- avl = remove_int(avl, 360);
- avl = gpr_avl_add(avl, box(5), box(1546), nullptr);
- avl = remove_int(avl, 429);
- avl = gpr_avl_add(avl, box(412), box(1548), nullptr);
- avl = remove_int(avl, 632);
- avl = remove_int(avl, 113);
- avl = gpr_avl_add(avl, box(48), box(1551), nullptr);
- avl = gpr_avl_add(avl, box(108), box(1552), nullptr);
- avl = gpr_avl_add(avl, box(750), box(1553), nullptr);
- avl = remove_int(avl, 188);
- avl = gpr_avl_add(avl, box(668), box(1555), nullptr);
- avl = remove_int(avl, 37);
- avl = remove_int(avl, 737);
- avl = gpr_avl_add(avl, box(93), box(1558), nullptr);
- avl = gpr_avl_add(avl, box(628), box(1559), nullptr);
- avl = gpr_avl_add(avl, box(480), box(1560), nullptr);
- avl = remove_int(avl, 958);
- avl = remove_int(avl, 565);
- avl = remove_int(avl, 32);
- avl = remove_int(avl, 1);
- avl = remove_int(avl, 335);
- avl = gpr_avl_add(avl, box(136), box(1566), nullptr);
- avl = gpr_avl_add(avl, box(469), box(1567), nullptr);
- avl = remove_int(avl, 349);
- avl = gpr_avl_add(avl, box(768), box(1569), nullptr);
- avl = gpr_avl_add(avl, box(915), box(1570), nullptr);
- avl = remove_int(avl, 1014);
- avl = gpr_avl_add(avl, box(117), box(1572), nullptr);
- avl = remove_int(avl, 62);
- avl = gpr_avl_add(avl, box(382), box(1574), nullptr);
- avl = remove_int(avl, 571);
- avl = gpr_avl_add(avl, box(655), box(1576), nullptr);
- avl = gpr_avl_add(avl, box(323), box(1577), nullptr);
- avl = remove_int(avl, 869);
- avl = remove_int(avl, 151);
- avl = gpr_avl_add(avl, box(1019), box(1580), nullptr);
- avl = gpr_avl_add(avl, box(984), box(1581), nullptr);
- avl = gpr_avl_add(avl, box(870), box(1582), nullptr);
- avl = gpr_avl_add(avl, box(376), box(1583), nullptr);
- avl = remove_int(avl, 625);
- avl = gpr_avl_add(avl, box(733), box(1585), nullptr);
- avl = remove_int(avl, 532);
- avl = remove_int(avl, 444);
- avl = gpr_avl_add(avl, box(428), box(1588), nullptr);
- avl = gpr_avl_add(avl, box(860), box(1589), nullptr);
- avl = gpr_avl_add(avl, box(173), box(1590), nullptr);
- avl = remove_int(avl, 649);
- avl = remove_int(avl, 913);
- avl = remove_int(avl, 1);
- avl = remove_int(avl, 304);
- avl = gpr_avl_add(avl, box(604), box(1595), nullptr);
- avl = gpr_avl_add(avl, box(639), box(1596), nullptr);
- avl = remove_int(avl, 431);
- avl = gpr_avl_add(avl, box(993), box(1598), nullptr);
- avl = remove_int(avl, 681);
- avl = remove_int(avl, 927);
- avl = gpr_avl_add(avl, box(87), box(1601), nullptr);
- avl = gpr_avl_add(avl, box(91), box(1602), nullptr);
- avl = remove_int(avl, 61);
- avl = remove_int(avl, 14);
- avl = remove_int(avl, 305);
- avl = remove_int(avl, 304);
- avl = remove_int(avl, 1016);
- avl = gpr_avl_add(avl, box(903), box(1608), nullptr);
- avl = gpr_avl_add(avl, box(951), box(1609), nullptr);
- avl = gpr_avl_add(avl, box(146), box(1610), nullptr);
- avl = gpr_avl_add(avl, box(482), box(1611), nullptr);
- avl = gpr_avl_add(avl, box(71), box(1612), nullptr);
- avl = remove_int(avl, 246);
- avl = remove_int(avl, 696);
- avl = gpr_avl_add(avl, box(636), box(1615), nullptr);
- avl = gpr_avl_add(avl, box(295), box(1616), nullptr);
- avl = remove_int(avl, 11);
- avl = remove_int(avl, 231);
- avl = gpr_avl_add(avl, box(905), box(1619), nullptr);
- avl = gpr_avl_add(avl, box(993), box(1620), nullptr);
- avl = gpr_avl_add(avl, box(433), box(1621), nullptr);
- avl = gpr_avl_add(avl, box(117), box(1622), nullptr);
- avl = gpr_avl_add(avl, box(467), box(1623), nullptr);
- avl = remove_int(avl, 419);
- avl = gpr_avl_add(avl, box(179), box(1625), nullptr);
- avl = remove_int(avl, 926);
- avl = remove_int(avl, 326);
- avl = gpr_avl_add(avl, box(551), box(1628), nullptr);
- avl = remove_int(avl, 14);
- avl = remove_int(avl, 476);
- avl = remove_int(avl, 823);
- avl = gpr_avl_add(avl, box(350), box(1632), nullptr);
- avl = gpr_avl_add(avl, box(133), box(1633), nullptr);
- avl = remove_int(avl, 906);
- avl = gpr_avl_add(avl, box(827), box(1635), nullptr);
- avl = gpr_avl_add(avl, box(201), box(1636), nullptr);
- avl = remove_int(avl, 124);
- avl = remove_int(avl, 662);
- avl = gpr_avl_add(avl, box(314), box(1639), nullptr);
- avl = gpr_avl_add(avl, box(986), box(1640), nullptr);
- avl = gpr_avl_add(avl, box(622), box(1641), nullptr);
- avl = remove_int(avl, 130);
- avl = gpr_avl_add(avl, box(861), box(1643), nullptr);
- avl = remove_int(avl, 497);
- avl = remove_int(avl, 905);
- avl = gpr_avl_add(avl, box(502), box(1646), nullptr);
- avl = remove_int(avl, 721);
- avl = gpr_avl_add(avl, box(514), box(1648), nullptr);
- avl = gpr_avl_add(avl, box(410), box(1649), nullptr);
- avl = remove_int(avl, 869);
- avl = remove_int(avl, 247);
- avl = gpr_avl_add(avl, box(450), box(1652), nullptr);
- avl = remove_int(avl, 364);
- avl = gpr_avl_add(avl, box(963), box(1654), nullptr);
- avl = gpr_avl_add(avl, box(146), box(1655), nullptr);
- avl = remove_int(avl, 147);
- avl = remove_int(avl, 789);
- avl = gpr_avl_add(avl, box(693), box(1658), nullptr);
- avl = gpr_avl_add(avl, box(959), box(1659), nullptr);
- avl = remove_int(avl, 478);
- avl = gpr_avl_add(avl, box(116), box(1661), nullptr);
- avl = gpr_avl_add(avl, box(520), box(1662), nullptr);
- avl = gpr_avl_add(avl, box(809), box(1663), nullptr);
- avl = gpr_avl_add(avl, box(667), box(1664), nullptr);
- avl = gpr_avl_add(avl, box(406), box(1665), nullptr);
- avl = remove_int(avl, 409);
- avl = gpr_avl_add(avl, box(558), box(1667), nullptr);
- avl = gpr_avl_add(avl, box(0), box(1668), nullptr);
- avl = gpr_avl_add(avl, box(948), box(1669), nullptr);
- avl = gpr_avl_add(avl, box(576), box(1670), nullptr);
- avl = remove_int(avl, 864);
- avl = remove_int(avl, 840);
- avl = remove_int(avl, 1001);
- avl = gpr_avl_add(avl, box(232), box(1674), nullptr);
- avl = remove_int(avl, 676);
- avl = remove_int(avl, 752);
- avl = remove_int(avl, 667);
- avl = remove_int(avl, 605);
- avl = gpr_avl_add(avl, box(258), box(1679), nullptr);
- avl = gpr_avl_add(avl, box(648), box(1680), nullptr);
- avl = gpr_avl_add(avl, box(761), box(1681), nullptr);
- avl = remove_int(avl, 293);
- avl = remove_int(avl, 893);
- avl = gpr_avl_add(avl, box(194), box(1684), nullptr);
- avl = remove_int(avl, 233);
- avl = gpr_avl_add(avl, box(888), box(1686), nullptr);
- avl = remove_int(avl, 470);
- avl = remove_int(avl, 703);
- avl = remove_int(avl, 190);
- avl = remove_int(avl, 359);
- avl = gpr_avl_add(avl, box(621), box(1691), nullptr);
- avl = remove_int(avl, 634);
- avl = remove_int(avl, 335);
- avl = gpr_avl_add(avl, box(718), box(1694), nullptr);
- avl = gpr_avl_add(avl, box(463), box(1695), nullptr);
- avl = gpr_avl_add(avl, box(233), box(1696), nullptr);
- avl = remove_int(avl, 376);
- avl = remove_int(avl, 496);
- avl = remove_int(avl, 819);
- avl = remove_int(avl, 38);
- avl = remove_int(avl, 436);
- avl = remove_int(avl, 102);
- avl = gpr_avl_add(avl, box(607), box(1703), nullptr);
- avl = remove_int(avl, 329);
- avl = gpr_avl_add(avl, box(716), box(1705), nullptr);
- avl = remove_int(avl, 639);
- avl = remove_int(avl, 775);
- avl = remove_int(avl, 578);
- avl = remove_int(avl, 464);
- avl = remove_int(avl, 679);
- avl = remove_int(avl, 615);
- avl = remove_int(avl, 104);
- avl = gpr_avl_add(avl, box(414), box(1713), nullptr);
- avl = gpr_avl_add(avl, box(212), box(1714), nullptr);
- avl = gpr_avl_add(avl, box(266), box(1715), nullptr);
- avl = gpr_avl_add(avl, box(238), box(1716), nullptr);
- avl = remove_int(avl, 153);
- avl = gpr_avl_add(avl, box(585), box(1718), nullptr);
- avl = remove_int(avl, 121);
- avl = gpr_avl_add(avl, box(534), box(1720), nullptr);
- avl = remove_int(avl, 579);
- avl = gpr_avl_add(avl, box(127), box(1722), nullptr);
- avl = gpr_avl_add(avl, box(399), box(1723), nullptr);
- avl = remove_int(avl, 417);
- avl = gpr_avl_add(avl, box(978), box(1725), nullptr);
- avl = gpr_avl_add(avl, box(768), box(1726), nullptr);
- avl = remove_int(avl, 985);
- avl = gpr_avl_add(avl, box(536), box(1728), nullptr);
- avl = gpr_avl_add(avl, box(449), box(1729), nullptr);
- avl = gpr_avl_add(avl, box(586), box(1730), nullptr);
- avl = remove_int(avl, 998);
- avl = remove_int(avl, 394);
- avl = remove_int(avl, 141);
- avl = gpr_avl_add(avl, box(889), box(1734), nullptr);
- avl = gpr_avl_add(avl, box(871), box(1735), nullptr);
- avl = gpr_avl_add(avl, box(76), box(1736), nullptr);
- avl = gpr_avl_add(avl, box(549), box(1737), nullptr);
- avl = gpr_avl_add(avl, box(757), box(1738), nullptr);
- avl = remove_int(avl, 908);
- avl = gpr_avl_add(avl, box(789), box(1740), nullptr);
- avl = remove_int(avl, 224);
- avl = gpr_avl_add(avl, box(407), box(1742), nullptr);
- avl = gpr_avl_add(avl, box(381), box(1743), nullptr);
- avl = gpr_avl_add(avl, box(561), box(1744), nullptr);
- avl = gpr_avl_add(avl, box(667), box(1745), nullptr);
- avl = gpr_avl_add(avl, box(522), box(1746), nullptr);
- avl = gpr_avl_add(avl, box(948), box(1747), nullptr);
- avl = remove_int(avl, 770);
- avl = gpr_avl_add(avl, box(872), box(1749), nullptr);
- avl = gpr_avl_add(avl, box(327), box(1750), nullptr);
- avl = remove_int(avl, 10);
- avl = gpr_avl_add(avl, box(122), box(1752), nullptr);
- avl = remove_int(avl, 606);
- avl = gpr_avl_add(avl, box(485), box(1754), nullptr);
- avl = remove_int(avl, 6);
- avl = gpr_avl_add(avl, box(329), box(1756), nullptr);
- avl = gpr_avl_add(avl, box(783), box(1757), nullptr);
- avl = remove_int(avl, 416);
- avl = gpr_avl_add(avl, box(656), box(1759), nullptr);
- avl = gpr_avl_add(avl, box(971), box(1760), nullptr);
- avl = gpr_avl_add(avl, box(77), box(1761), nullptr);
- avl = gpr_avl_add(avl, box(942), box(1762), nullptr);
- avl = remove_int(avl, 361);
- avl = gpr_avl_add(avl, box(66), box(1764), nullptr);
- avl = gpr_avl_add(avl, box(299), box(1765), nullptr);
- avl = gpr_avl_add(avl, box(929), box(1766), nullptr);
- avl = gpr_avl_add(avl, box(797), box(1767), nullptr);
- avl = remove_int(avl, 869);
- avl = remove_int(avl, 907);
- avl = gpr_avl_add(avl, box(870), box(1770), nullptr);
- avl = remove_int(avl, 580);
- avl = remove_int(avl, 120);
- avl = gpr_avl_add(avl, box(913), box(1773), nullptr);
- avl = remove_int(avl, 480);
- avl = gpr_avl_add(avl, box(489), box(1775), nullptr);
- avl = remove_int(avl, 845);
- avl = gpr_avl_add(avl, box(896), box(1777), nullptr);
- avl = remove_int(avl, 567);
- avl = remove_int(avl, 427);
- avl = gpr_avl_add(avl, box(443), box(1780), nullptr);
- avl = gpr_avl_add(avl, box(3), box(1781), nullptr);
- avl = remove_int(avl, 12);
- avl = gpr_avl_add(avl, box(376), box(1783), nullptr);
- avl = gpr_avl_add(avl, box(155), box(1784), nullptr);
- avl = gpr_avl_add(avl, box(188), box(1785), nullptr);
- avl = gpr_avl_add(avl, box(149), box(1786), nullptr);
- avl = gpr_avl_add(avl, box(178), box(1787), nullptr);
- avl = remove_int(avl, 84);
- avl = gpr_avl_add(avl, box(805), box(1789), nullptr);
- avl = gpr_avl_add(avl, box(612), box(1790), nullptr);
- avl = remove_int(avl, 991);
- avl = gpr_avl_add(avl, box(837), box(1792), nullptr);
- avl = remove_int(avl, 173);
- avl = remove_int(avl, 72);
- avl = gpr_avl_add(avl, box(1014), box(1795), nullptr);
- avl = remove_int(avl, 303);
- avl = gpr_avl_add(avl, box(865), box(1797), nullptr);
- avl = gpr_avl_add(avl, box(793), box(1798), nullptr);
- avl = remove_int(avl, 173);
- avl = remove_int(avl, 477);
- avl = gpr_avl_add(avl, box(950), box(1801), nullptr);
- avl = gpr_avl_add(avl, box(105), box(1802), nullptr);
- avl = gpr_avl_add(avl, box(895), box(1803), nullptr);
- avl = gpr_avl_add(avl, box(171), box(1804), nullptr);
- avl = gpr_avl_add(avl, box(753), box(1805), nullptr);
- avl = gpr_avl_add(avl, box(946), box(1806), nullptr);
- avl = remove_int(avl, 194);
- avl = remove_int(avl, 559);
- avl = remove_int(avl, 116);
- avl = gpr_avl_add(avl, box(968), box(1810), nullptr);
- avl = remove_int(avl, 124);
- avl = remove_int(avl, 99);
- avl = gpr_avl_add(avl, box(563), box(1813), nullptr);
- avl = remove_int(avl, 182);
- avl = gpr_avl_add(avl, box(816), box(1815), nullptr);
- avl = remove_int(avl, 73);
- avl = remove_int(avl, 261);
- avl = gpr_avl_add(avl, box(847), box(1818), nullptr);
- avl = gpr_avl_add(avl, box(368), box(1819), nullptr);
- avl = gpr_avl_add(avl, box(808), box(1820), nullptr);
- avl = gpr_avl_add(avl, box(779), box(1821), nullptr);
- avl = remove_int(avl, 818);
- avl = gpr_avl_add(avl, box(466), box(1823), nullptr);
- avl = remove_int(avl, 316);
- avl = gpr_avl_add(avl, box(986), box(1825), nullptr);
- avl = gpr_avl_add(avl, box(688), box(1826), nullptr);
- avl = gpr_avl_add(avl, box(509), box(1827), nullptr);
- avl = gpr_avl_add(avl, box(51), box(1828), nullptr);
- avl = remove_int(avl, 655);
- avl = remove_int(avl, 785);
- avl = remove_int(avl, 893);
- avl = gpr_avl_add(avl, box(167), box(1832), nullptr);
- avl = remove_int(avl, 13);
- avl = remove_int(avl, 263);
- avl = gpr_avl_add(avl, box(1009), box(1835), nullptr);
- avl = remove_int(avl, 480);
- avl = remove_int(avl, 778);
- avl = remove_int(avl, 713);
- avl = remove_int(avl, 628);
- avl = gpr_avl_add(avl, box(803), box(1840), nullptr);
- avl = remove_int(avl, 267);
- avl = gpr_avl_add(avl, box(676), box(1842), nullptr);
- avl = gpr_avl_add(avl, box(231), box(1843), nullptr);
- avl = gpr_avl_add(avl, box(824), box(1844), nullptr);
- avl = remove_int(avl, 961);
- avl = gpr_avl_add(avl, box(311), box(1846), nullptr);
- avl = gpr_avl_add(avl, box(420), box(1847), nullptr);
- avl = gpr_avl_add(avl, box(960), box(1848), nullptr);
- avl = gpr_avl_add(avl, box(468), box(1849), nullptr);
- avl = gpr_avl_add(avl, box(815), box(1850), nullptr);
- avl = remove_int(avl, 247);
- avl = remove_int(avl, 194);
- avl = gpr_avl_add(avl, box(546), box(1853), nullptr);
- avl = remove_int(avl, 222);
- avl = remove_int(avl, 914);
- avl = remove_int(avl, 741);
- avl = gpr_avl_add(avl, box(470), box(1857), nullptr);
- avl = gpr_avl_add(avl, box(933), box(1858), nullptr);
- avl = gpr_avl_add(avl, box(97), box(1859), nullptr);
- avl = remove_int(avl, 564);
- avl = remove_int(avl, 295);
- avl = gpr_avl_add(avl, box(864), box(1862), nullptr);
- avl = remove_int(avl, 329);
- avl = gpr_avl_add(avl, box(124), box(1864), nullptr);
- avl = gpr_avl_add(avl, box(1000), box(1865), nullptr);
- avl = gpr_avl_add(avl, box(228), box(1866), nullptr);
- avl = gpr_avl_add(avl, box(187), box(1867), nullptr);
- avl = remove_int(avl, 224);
- avl = remove_int(avl, 306);
- avl = remove_int(avl, 884);
- avl = gpr_avl_add(avl, box(449), box(1871), nullptr);
- avl = gpr_avl_add(avl, box(353), box(1872), nullptr);
- avl = gpr_avl_add(avl, box(994), box(1873), nullptr);
- avl = gpr_avl_add(avl, box(596), box(1874), nullptr);
- avl = gpr_avl_add(avl, box(996), box(1875), nullptr);
- avl = gpr_avl_add(avl, box(101), box(1876), nullptr);
- avl = gpr_avl_add(avl, box(1012), box(1877), nullptr);
- avl = gpr_avl_add(avl, box(982), box(1878), nullptr);
- avl = gpr_avl_add(avl, box(742), box(1879), nullptr);
- avl = remove_int(avl, 92);
- avl = remove_int(avl, 1022);
- avl = gpr_avl_add(avl, box(941), box(1882), nullptr);
- avl = remove_int(avl, 742);
- avl = remove_int(avl, 919);
- avl = gpr_avl_add(avl, box(588), box(1885), nullptr);
- avl = remove_int(avl, 221);
- avl = gpr_avl_add(avl, box(356), box(1887), nullptr);
- avl = gpr_avl_add(avl, box(932), box(1888), nullptr);
- avl = remove_int(avl, 837);
- avl = gpr_avl_add(avl, box(394), box(1890), nullptr);
- avl = gpr_avl_add(avl, box(642), box(1891), nullptr);
- avl = gpr_avl_add(avl, box(52), box(1892), nullptr);
- avl = gpr_avl_add(avl, box(437), box(1893), nullptr);
- avl = gpr_avl_add(avl, box(948), box(1894), nullptr);
- avl = gpr_avl_add(avl, box(93), box(1895), nullptr);
- avl = remove_int(avl, 873);
- avl = remove_int(avl, 336);
- avl = remove_int(avl, 277);
- avl = remove_int(avl, 932);
- avl = gpr_avl_add(avl, box(80), box(1900), nullptr);
- avl = gpr_avl_add(avl, box(952), box(1901), nullptr);
- avl = gpr_avl_add(avl, box(510), box(1902), nullptr);
- avl = remove_int(avl, 876);
- avl = remove_int(avl, 612);
- avl = gpr_avl_add(avl, box(923), box(1905), nullptr);
- avl = gpr_avl_add(avl, box(475), box(1906), nullptr);
- avl = remove_int(avl, 478);
- avl = remove_int(avl, 148);
- avl = gpr_avl_add(avl, box(538), box(1909), nullptr);
- avl = remove_int(avl, 47);
- avl = gpr_avl_add(avl, box(89), box(1911), nullptr);
- avl = remove_int(avl, 723);
- avl = gpr_avl_add(avl, box(687), box(1913), nullptr);
- avl = gpr_avl_add(avl, box(480), box(1914), nullptr);
- avl = gpr_avl_add(avl, box(149), box(1915), nullptr);
- avl = remove_int(avl, 68);
- avl = remove_int(avl, 862);
- avl = remove_int(avl, 363);
- avl = gpr_avl_add(avl, box(996), box(1919), nullptr);
- avl = remove_int(avl, 380);
- avl = gpr_avl_add(avl, box(957), box(1921), nullptr);
- avl = remove_int(avl, 413);
- avl = gpr_avl_add(avl, box(360), box(1923), nullptr);
- avl = gpr_avl_add(avl, box(304), box(1924), nullptr);
- avl = gpr_avl_add(avl, box(634), box(1925), nullptr);
- avl = gpr_avl_add(avl, box(506), box(1926), nullptr);
- avl = remove_int(avl, 248);
- avl = gpr_avl_add(avl, box(124), box(1928), nullptr);
- avl = gpr_avl_add(avl, box(181), box(1929), nullptr);
- avl = remove_int(avl, 507);
- avl = gpr_avl_add(avl, box(141), box(1931), nullptr);
- avl = remove_int(avl, 409);
- avl = remove_int(avl, 129);
- avl = remove_int(avl, 694);
- avl = remove_int(avl, 723);
- avl = gpr_avl_add(avl, box(998), box(1936), nullptr);
- avl = gpr_avl_add(avl, box(906), box(1937), nullptr);
- avl = gpr_avl_add(avl, box(44), box(1938), nullptr);
- avl = remove_int(avl, 949);
- avl = remove_int(avl, 117);
- avl = gpr_avl_add(avl, box(700), box(1941), nullptr);
- avl = gpr_avl_add(avl, box(258), box(1942), nullptr);
- avl = remove_int(avl, 828);
- avl = gpr_avl_add(avl, box(860), box(1944), nullptr);
- avl = gpr_avl_add(avl, box(987), box(1945), nullptr);
- avl = gpr_avl_add(avl, box(316), box(1946), nullptr);
- avl = gpr_avl_add(avl, box(919), box(1947), nullptr);
- avl = remove_int(avl, 84);
- avl = gpr_avl_add(avl, box(473), box(1949), nullptr);
- avl = remove_int(avl, 127);
- avl = remove_int(avl, 829);
- avl = remove_int(avl, 829);
- avl = gpr_avl_add(avl, box(488), box(1953), nullptr);
- avl = gpr_avl_add(avl, box(954), box(1954), nullptr);
- avl = remove_int(avl, 198);
- avl = remove_int(avl, 972);
- avl = remove_int(avl, 670);
- avl = gpr_avl_add(avl, box(822), box(1958), nullptr);
- avl = remove_int(avl, 589);
- avl = remove_int(avl, 459);
- avl = gpr_avl_add(avl, box(1003), box(1961), nullptr);
- avl = gpr_avl_add(avl, box(657), box(1962), nullptr);
- avl = gpr_avl_add(avl, box(477), box(1963), nullptr);
- avl = gpr_avl_add(avl, box(923), box(1964), nullptr);
- avl = remove_int(avl, 496);
- avl = remove_int(avl, 99);
- avl = gpr_avl_add(avl, box(127), box(1967), nullptr);
- avl = gpr_avl_add(avl, box(1013), box(1968), nullptr);
- avl = gpr_avl_add(avl, box(778), box(1969), nullptr);
- avl = remove_int(avl, 5);
- avl = remove_int(avl, 990);
- avl = remove_int(avl, 850);
- avl = remove_int(avl, 160);
- avl = remove_int(avl, 86);
- avl = gpr_avl_add(avl, box(283), box(1975), nullptr);
- avl = remove_int(avl, 278);
- avl = remove_int(avl, 297);
- avl = remove_int(avl, 137);
- avl = remove_int(avl, 653);
- avl = gpr_avl_add(avl, box(702), box(1980), nullptr);
- avl = remove_int(avl, 63);
- avl = remove_int(avl, 427);
- avl = remove_int(avl, 706);
- avl = remove_int(avl, 806);
- avl = gpr_avl_add(avl, box(335), box(1985), nullptr);
- avl = gpr_avl_add(avl, box(412), box(1986), nullptr);
- avl = remove_int(avl, 766);
- avl = remove_int(avl, 937);
- avl = remove_int(avl, 886);
- avl = remove_int(avl, 652);
- avl = gpr_avl_add(avl, box(545), box(1991), nullptr);
- avl = gpr_avl_add(avl, box(408), box(1992), nullptr);
- avl = gpr_avl_add(avl, box(841), box(1993), nullptr);
- avl = remove_int(avl, 593);
- avl = gpr_avl_add(avl, box(582), box(1995), nullptr);
- avl = gpr_avl_add(avl, box(597), box(1996), nullptr);
- avl = remove_int(avl, 49);
- avl = remove_int(avl, 835);
- avl = gpr_avl_add(avl, box(417), box(1999), nullptr);
- avl = gpr_avl_add(avl, box(191), box(2000), nullptr);
- avl = remove_int(avl, 406);
- avl = gpr_avl_add(avl, box(30), box(2002), nullptr);
- avl = remove_int(avl, 841);
- avl = remove_int(avl, 50);
- avl = gpr_avl_add(avl, box(967), box(2005), nullptr);
- avl = gpr_avl_add(avl, box(849), box(2006), nullptr);
- avl = remove_int(avl, 608);
- avl = gpr_avl_add(avl, box(306), box(2008), nullptr);
- avl = remove_int(avl, 779);
- avl = gpr_avl_add(avl, box(897), box(2010), nullptr);
- avl = gpr_avl_add(avl, box(147), box(2011), nullptr);
- avl = remove_int(avl, 982);
- avl = gpr_avl_add(avl, box(470), box(2013), nullptr);
- avl = remove_int(avl, 951);
- avl = gpr_avl_add(avl, box(388), box(2015), nullptr);
- avl = remove_int(avl, 616);
- avl = remove_int(avl, 721);
- avl = remove_int(avl, 942);
- avl = remove_int(avl, 589);
- avl = gpr_avl_add(avl, box(218), box(2020), nullptr);
- avl = remove_int(avl, 671);
- avl = gpr_avl_add(avl, box(1020), box(2022), nullptr);
- avl = remove_int(avl, 277);
- avl = gpr_avl_add(avl, box(681), box(2024), nullptr);
- avl = gpr_avl_add(avl, box(179), box(2025), nullptr);
- avl = gpr_avl_add(avl, box(370), box(2026), nullptr);
- avl = gpr_avl_add(avl, box(0), box(2027), nullptr);
- avl = remove_int(avl, 523);
- avl = gpr_avl_add(avl, box(99), box(2029), nullptr);
- avl = gpr_avl_add(avl, box(334), box(2030), nullptr);
- avl = gpr_avl_add(avl, box(569), box(2031), nullptr);
- avl = gpr_avl_add(avl, box(257), box(2032), nullptr);
- avl = remove_int(avl, 572);
- avl = gpr_avl_add(avl, box(805), box(2034), nullptr);
- avl = gpr_avl_add(avl, box(143), box(2035), nullptr);
- avl = gpr_avl_add(avl, box(670), box(2036), nullptr);
- avl = remove_int(avl, 42);
- avl = gpr_avl_add(avl, box(46), box(2038), nullptr);
- avl = remove_int(avl, 970);
- avl = gpr_avl_add(avl, box(353), box(2040), nullptr);
- avl = remove_int(avl, 258);
- avl = gpr_avl_add(avl, box(451), box(2042), nullptr);
- avl = gpr_avl_add(avl, box(28), box(2043), nullptr);
- avl = gpr_avl_add(avl, box(729), box(2044), nullptr);
- avl = gpr_avl_add(avl, box(401), box(2045), nullptr);
- avl = gpr_avl_add(avl, box(614), box(2046), nullptr);
- avl = remove_int(avl, 990);
- avl = remove_int(avl, 212);
- avl = remove_int(avl, 22);
- avl = remove_int(avl, 677);
- avl = gpr_avl_add(avl, box(1016), box(2051), nullptr);
- avl = gpr_avl_add(avl, box(980), box(2052), nullptr);
- avl = gpr_avl_add(avl, box(990), box(2053), nullptr);
- avl = gpr_avl_add(avl, box(355), box(2054), nullptr);
- avl = remove_int(avl, 730);
- avl = remove_int(avl, 37);
- avl = gpr_avl_add(avl, box(407), box(2057), nullptr);
- avl = gpr_avl_add(avl, box(222), box(2058), nullptr);
- avl = gpr_avl_add(avl, box(439), box(2059), nullptr);
- avl = gpr_avl_add(avl, box(563), box(2060), nullptr);
- avl = remove_int(avl, 992);
- avl = remove_int(avl, 786);
- avl = gpr_avl_add(avl, box(1), box(2063), nullptr);
- avl = gpr_avl_add(avl, box(473), box(2064), nullptr);
- avl = gpr_avl_add(avl, box(992), box(2065), nullptr);
- avl = remove_int(avl, 190);
- avl = remove_int(avl, 450);
- avl = remove_int(avl, 1020);
- avl = remove_int(avl, 149);
- avl = gpr_avl_add(avl, box(329), box(2070), nullptr);
- avl = gpr_avl_add(avl, box(35), box(2071), nullptr);
- avl = remove_int(avl, 843);
- avl = gpr_avl_add(avl, box(855), box(2073), nullptr);
- avl = remove_int(avl, 878);
- avl = gpr_avl_add(avl, box(993), box(2075), nullptr);
- avl = gpr_avl_add(avl, box(87), box(2076), nullptr);
- avl = gpr_avl_add(avl, box(572), box(2077), nullptr);
- avl = remove_int(avl, 896);
- avl = gpr_avl_add(avl, box(849), box(2079), nullptr);
- avl = remove_int(avl, 597);
- avl = gpr_avl_add(avl, box(472), box(2081), nullptr);
- avl = remove_int(avl, 778);
- avl = remove_int(avl, 934);
- avl = remove_int(avl, 314);
- avl = gpr_avl_add(avl, box(101), box(2085), nullptr);
- avl = remove_int(avl, 938);
- avl = remove_int(avl, 1010);
- avl = gpr_avl_add(avl, box(579), box(2088), nullptr);
- avl = remove_int(avl, 798);
- avl = remove_int(avl, 88);
- avl = gpr_avl_add(avl, box(851), box(2091), nullptr);
- avl = remove_int(avl, 705);
- avl = gpr_avl_add(avl, box(26), box(2093), nullptr);
- avl = remove_int(avl, 973);
- avl = gpr_avl_add(avl, box(923), box(2095), nullptr);
- avl = remove_int(avl, 668);
- avl = gpr_avl_add(avl, box(310), box(2097), nullptr);
- avl = gpr_avl_add(avl, box(269), box(2098), nullptr);
- avl = remove_int(avl, 173);
- avl = gpr_avl_add(avl, box(279), box(2100), nullptr);
- avl = remove_int(avl, 203);
- avl = gpr_avl_add(avl, box(411), box(2102), nullptr);
- avl = remove_int(avl, 950);
- avl = gpr_avl_add(avl, box(6), box(2104), nullptr);
- avl = remove_int(avl, 400);
- avl = remove_int(avl, 468);
- avl = remove_int(avl, 271);
- avl = gpr_avl_add(avl, box(627), box(2108), nullptr);
- avl = remove_int(avl, 727);
- avl = remove_int(avl, 148);
- avl = remove_int(avl, 98);
- avl = remove_int(avl, 997);
- avl = remove_int(avl, 215);
- avl = remove_int(avl, 628);
- avl = remove_int(avl, 826);
- avl = remove_int(avl, 664);
- avl = gpr_avl_add(avl, box(76), box(2117), nullptr);
- avl = remove_int(avl, 194);
- avl = remove_int(avl, 18);
- avl = gpr_avl_add(avl, box(727), box(2120), nullptr);
- avl = remove_int(avl, 295);
- avl = gpr_avl_add(avl, box(645), box(2122), nullptr);
- avl = remove_int(avl, 321);
- avl = remove_int(avl, 863);
- avl = gpr_avl_add(avl, box(824), box(2125), nullptr);
- avl = gpr_avl_add(avl, box(651), box(2126), nullptr);
- avl = gpr_avl_add(avl, box(804), box(2127), nullptr);
- avl = remove_int(avl, 307);
- avl = gpr_avl_add(avl, box(867), box(2129), nullptr);
- avl = remove_int(avl, 384);
- avl = gpr_avl_add(avl, box(819), box(2131), nullptr);
- avl = remove_int(avl, 674);
- avl = gpr_avl_add(avl, box(76), box(2133), nullptr);
- avl = remove_int(avl, 898);
- avl = gpr_avl_add(avl, box(45), box(2135), nullptr);
- avl = gpr_avl_add(avl, box(512), box(2136), nullptr);
- avl = remove_int(avl, 773);
- avl = remove_int(avl, 907);
- avl = remove_int(avl, 382);
- avl = remove_int(avl, 95);
- avl = remove_int(avl, 734);
- avl = remove_int(avl, 81);
- avl = gpr_avl_add(avl, box(348), box(2143), nullptr);
- avl = remove_int(avl, 509);
- avl = remove_int(avl, 301);
- avl = gpr_avl_add(avl, box(861), box(2146), nullptr);
- avl = gpr_avl_add(avl, box(918), box(2147), nullptr);
- avl = remove_int(avl, 992);
- avl = gpr_avl_add(avl, box(356), box(2149), nullptr);
- avl = remove_int(avl, 64);
- avl = remove_int(avl, 444);
- avl = remove_int(avl, 741);
- avl = gpr_avl_add(avl, box(710), box(2153), nullptr);
- avl = gpr_avl_add(avl, box(264), box(2154), nullptr);
- avl = remove_int(avl, 347);
- avl = remove_int(avl, 250);
- avl = gpr_avl_add(avl, box(82), box(2157), nullptr);
- avl = gpr_avl_add(avl, box(571), box(2158), nullptr);
- avl = remove_int(avl, 721);
- avl = remove_int(avl, 622);
- avl = gpr_avl_add(avl, box(950), box(2161), nullptr);
- avl = gpr_avl_add(avl, box(94), box(2162), nullptr);
- avl = remove_int(avl, 970);
- avl = gpr_avl_add(avl, box(815), box(2164), nullptr);
- avl = remove_int(avl, 930);
- avl = remove_int(avl, 703);
- avl = gpr_avl_add(avl, box(432), box(2167), nullptr);
- avl = remove_int(avl, 544);
- avl = gpr_avl_add(avl, box(21), box(2169), nullptr);
- avl = gpr_avl_add(avl, box(186), box(2170), nullptr);
- avl = remove_int(avl, 143);
- avl = gpr_avl_add(avl, box(425), box(2172), nullptr);
- avl = remove_int(avl, 769);
- avl = gpr_avl_add(avl, box(656), box(2174), nullptr);
- avl = remove_int(avl, 29);
- avl = gpr_avl_add(avl, box(464), box(2176), nullptr);
- avl = remove_int(avl, 713);
- avl = gpr_avl_add(avl, box(800), box(2178), nullptr);
- avl = remove_int(avl, 621);
- avl = gpr_avl_add(avl, box(962), box(2180), nullptr);
- avl = remove_int(avl, 448);
- avl = gpr_avl_add(avl, box(878), box(2182), nullptr);
- avl = remove_int(avl, 39);
- avl = remove_int(avl, 999);
- avl = gpr_avl_add(avl, box(182), box(2185), nullptr);
- avl = gpr_avl_add(avl, box(429), box(2186), nullptr);
- avl = gpr_avl_add(avl, box(598), box(2187), nullptr);
- avl = remove_int(avl, 551);
- avl = gpr_avl_add(avl, box(827), box(2189), nullptr);
- avl = gpr_avl_add(avl, box(809), box(2190), nullptr);
- avl = remove_int(avl, 438);
- avl = remove_int(avl, 811);
- avl = gpr_avl_add(avl, box(808), box(2193), nullptr);
- avl = gpr_avl_add(avl, box(788), box(2194), nullptr);
- avl = remove_int(avl, 156);
- avl = gpr_avl_add(avl, box(933), box(2196), nullptr);
- avl = gpr_avl_add(avl, box(344), box(2197), nullptr);
- avl = remove_int(avl, 460);
- avl = gpr_avl_add(avl, box(161), box(2199), nullptr);
- avl = gpr_avl_add(avl, box(444), box(2200), nullptr);
- avl = remove_int(avl, 597);
- avl = remove_int(avl, 668);
- avl = gpr_avl_add(avl, box(703), box(2203), nullptr);
- avl = remove_int(avl, 515);
- avl = gpr_avl_add(avl, box(380), box(2205), nullptr);
- avl = gpr_avl_add(avl, box(338), box(2206), nullptr);
- avl = remove_int(avl, 550);
- avl = remove_int(avl, 946);
- avl = remove_int(avl, 714);
- avl = remove_int(avl, 739);
- avl = gpr_avl_add(avl, box(413), box(2211), nullptr);
- avl = remove_int(avl, 450);
- avl = gpr_avl_add(avl, box(411), box(2213), nullptr);
- avl = gpr_avl_add(avl, box(117), box(2214), nullptr);
- avl = gpr_avl_add(avl, box(322), box(2215), nullptr);
- avl = gpr_avl_add(avl, box(915), box(2216), nullptr);
- avl = gpr_avl_add(avl, box(410), box(2217), nullptr);
- avl = gpr_avl_add(avl, box(66), box(2218), nullptr);
- avl = remove_int(avl, 756);
- avl = remove_int(avl, 596);
- avl = gpr_avl_add(avl, box(882), box(2221), nullptr);
- avl = gpr_avl_add(avl, box(930), box(2222), nullptr);
- avl = gpr_avl_add(avl, box(36), box(2223), nullptr);
- avl = remove_int(avl, 742);
- avl = gpr_avl_add(avl, box(539), box(2225), nullptr);
- avl = gpr_avl_add(avl, box(596), box(2226), nullptr);
- avl = remove_int(avl, 82);
- avl = remove_int(avl, 686);
- avl = remove_int(avl, 933);
- avl = remove_int(avl, 42);
- avl = remove_int(avl, 340);
- avl = gpr_avl_add(avl, box(126), box(2232), nullptr);
- avl = gpr_avl_add(avl, box(493), box(2233), nullptr);
- avl = gpr_avl_add(avl, box(839), box(2234), nullptr);
- avl = remove_int(avl, 774);
- avl = gpr_avl_add(avl, box(337), box(2236), nullptr);
- avl = remove_int(avl, 322);
- avl = gpr_avl_add(avl, box(16), box(2238), nullptr);
- avl = remove_int(avl, 73);
- avl = remove_int(avl, 85);
- avl = remove_int(avl, 191);
- avl = remove_int(avl, 541);
- avl = gpr_avl_add(avl, box(704), box(2243), nullptr);
- avl = remove_int(avl, 767);
- avl = remove_int(avl, 1006);
- avl = remove_int(avl, 844);
- avl = remove_int(avl, 742);
- avl = gpr_avl_add(avl, box(48), box(2248), nullptr);
- avl = gpr_avl_add(avl, box(138), box(2249), nullptr);
- avl = gpr_avl_add(avl, box(437), box(2250), nullptr);
- avl = gpr_avl_add(avl, box(275), box(2251), nullptr);
- avl = remove_int(avl, 520);
- avl = gpr_avl_add(avl, box(1019), box(2253), nullptr);
- avl = remove_int(avl, 955);
- avl = gpr_avl_add(avl, box(270), box(2255), nullptr);
- avl = remove_int(avl, 680);
- avl = remove_int(avl, 698);
- avl = gpr_avl_add(avl, box(735), box(2258), nullptr);
- avl = gpr_avl_add(avl, box(400), box(2259), nullptr);
- avl = remove_int(avl, 991);
- avl = gpr_avl_add(avl, box(263), box(2261), nullptr);
- avl = remove_int(avl, 704);
- avl = gpr_avl_add(avl, box(757), box(2263), nullptr);
- avl = remove_int(avl, 194);
- avl = remove_int(avl, 616);
- avl = remove_int(avl, 784);
- avl = gpr_avl_add(avl, box(382), box(2267), nullptr);
- avl = gpr_avl_add(avl, box(464), box(2268), nullptr);
- avl = gpr_avl_add(avl, box(817), box(2269), nullptr);
- avl = remove_int(avl, 445);
- avl = gpr_avl_add(avl, box(412), box(2271), nullptr);
- avl = remove_int(avl, 525);
- avl = gpr_avl_add(avl, box(299), box(2273), nullptr);
- avl = gpr_avl_add(avl, box(464), box(2274), nullptr);
- avl = gpr_avl_add(avl, box(715), box(2275), nullptr);
- avl = remove_int(avl, 58);
- avl = remove_int(avl, 218);
- avl = gpr_avl_add(avl, box(961), box(2278), nullptr);
- avl = gpr_avl_add(avl, box(491), box(2279), nullptr);
- avl = remove_int(avl, 846);
- avl = gpr_avl_add(avl, box(762), box(2281), nullptr);
- avl = remove_int(avl, 974);
- avl = remove_int(avl, 887);
- avl = gpr_avl_add(avl, box(498), box(2284), nullptr);
- avl = remove_int(avl, 810);
- avl = remove_int(avl, 743);
- avl = remove_int(avl, 22);
- avl = remove_int(avl, 284);
- avl = gpr_avl_add(avl, box(482), box(2289), nullptr);
- avl = gpr_avl_add(avl, box(1021), box(2290), nullptr);
- avl = remove_int(avl, 155);
- avl = remove_int(avl, 128);
- avl = gpr_avl_add(avl, box(819), box(2293), nullptr);
- avl = gpr_avl_add(avl, box(324), box(2294), nullptr);
- avl = remove_int(avl, 196);
- avl = remove_int(avl, 370);
- avl = remove_int(avl, 753);
- avl = remove_int(avl, 56);
- avl = remove_int(avl, 735);
- avl = gpr_avl_add(avl, box(272), box(2300), nullptr);
- avl = gpr_avl_add(avl, box(474), box(2301), nullptr);
- avl = gpr_avl_add(avl, box(719), box(2302), nullptr);
- avl = gpr_avl_add(avl, box(236), box(2303), nullptr);
- avl = remove_int(avl, 818);
- avl = gpr_avl_add(avl, box(727), box(2305), nullptr);
- avl = remove_int(avl, 892);
- avl = remove_int(avl, 871);
- avl = remove_int(avl, 231);
- avl = gpr_avl_add(avl, box(62), box(2309), nullptr);
- avl = gpr_avl_add(avl, box(953), box(2310), nullptr);
- avl = remove_int(avl, 701);
- avl = gpr_avl_add(avl, box(193), box(2312), nullptr);
- avl = remove_int(avl, 619);
- avl = remove_int(avl, 22);
- avl = remove_int(avl, 804);
- avl = remove_int(avl, 851);
- avl = gpr_avl_add(avl, box(286), box(2317), nullptr);
- avl = gpr_avl_add(avl, box(751), box(2318), nullptr);
- avl = remove_int(avl, 525);
- avl = gpr_avl_add(avl, box(217), box(2320), nullptr);
- avl = remove_int(avl, 336);
- avl = gpr_avl_add(avl, box(86), box(2322), nullptr);
- avl = gpr_avl_add(avl, box(81), box(2323), nullptr);
- avl = gpr_avl_add(avl, box(850), box(2324), nullptr);
- avl = remove_int(avl, 872);
- avl = gpr_avl_add(avl, box(402), box(2326), nullptr);
- avl = gpr_avl_add(avl, box(54), box(2327), nullptr);
- avl = gpr_avl_add(avl, box(980), box(2328), nullptr);
- avl = gpr_avl_add(avl, box(845), box(2329), nullptr);
- avl = remove_int(avl, 1004);
- avl = remove_int(avl, 273);
- avl = remove_int(avl, 879);
- avl = gpr_avl_add(avl, box(354), box(2333), nullptr);
- avl = gpr_avl_add(avl, box(58), box(2334), nullptr);
- avl = gpr_avl_add(avl, box(127), box(2335), nullptr);
- avl = remove_int(avl, 84);
- avl = gpr_avl_add(avl, box(360), box(2337), nullptr);
- avl = remove_int(avl, 648);
- avl = remove_int(avl, 488);
- avl = remove_int(avl, 585);
- avl = remove_int(avl, 230);
- avl = gpr_avl_add(avl, box(887), box(2342), nullptr);
- avl = remove_int(avl, 558);
- avl = remove_int(avl, 958);
- avl = gpr_avl_add(avl, box(822), box(2345), nullptr);
- avl = remove_int(avl, 1004);
- avl = remove_int(avl, 747);
- avl = gpr_avl_add(avl, box(631), box(2348), nullptr);
- avl = gpr_avl_add(avl, box(442), box(2349), nullptr);
- avl = remove_int(avl, 957);
- avl = remove_int(avl, 964);
- avl = gpr_avl_add(avl, box(10), box(2352), nullptr);
- avl = remove_int(avl, 189);
- avl = gpr_avl_add(avl, box(742), box(2354), nullptr);
- avl = remove_int(avl, 108);
- avl = gpr_avl_add(avl, box(1014), box(2356), nullptr);
- avl = remove_int(avl, 266);
- avl = remove_int(avl, 623);
- avl = remove_int(avl, 697);
- avl = gpr_avl_add(avl, box(180), box(2360), nullptr);
- avl = remove_int(avl, 472);
- avl = gpr_avl_add(avl, box(567), box(2362), nullptr);
- avl = remove_int(avl, 1020);
- avl = remove_int(avl, 273);
- avl = gpr_avl_add(avl, box(864), box(2365), nullptr);
- avl = gpr_avl_add(avl, box(1009), box(2366), nullptr);
- avl = remove_int(avl, 224);
- avl = remove_int(avl, 81);
- avl = gpr_avl_add(avl, box(653), box(2369), nullptr);
- avl = remove_int(avl, 67);
- avl = remove_int(avl, 102);
- avl = remove_int(avl, 76);
- avl = remove_int(avl, 935);
- avl = remove_int(avl, 169);
- avl = remove_int(avl, 232);
- avl = remove_int(avl, 79);
- avl = gpr_avl_add(avl, box(509), box(2377), nullptr);
- avl = remove_int(avl, 900);
- avl = remove_int(avl, 822);
- avl = remove_int(avl, 945);
- avl = remove_int(avl, 356);
- avl = gpr_avl_add(avl, box(443), box(2382), nullptr);
- avl = gpr_avl_add(avl, box(925), box(2383), nullptr);
- avl = remove_int(avl, 994);
- avl = remove_int(avl, 324);
- avl = gpr_avl_add(avl, box(291), box(2386), nullptr);
- avl = remove_int(avl, 94);
- avl = remove_int(avl, 795);
- avl = remove_int(avl, 42);
- avl = gpr_avl_add(avl, box(613), box(2390), nullptr);
- avl = remove_int(avl, 289);
- avl = gpr_avl_add(avl, box(980), box(2392), nullptr);
- avl = remove_int(avl, 316);
- avl = gpr_avl_add(avl, box(281), box(2394), nullptr);
- avl = gpr_avl_add(avl, box(1006), box(2395), nullptr);
- avl = remove_int(avl, 776);
- avl = gpr_avl_add(avl, box(108), box(2397), nullptr);
- avl = gpr_avl_add(avl, box(918), box(2398), nullptr);
- avl = remove_int(avl, 721);
- avl = remove_int(avl, 563);
- avl = gpr_avl_add(avl, box(925), box(2401), nullptr);
- avl = remove_int(avl, 448);
- avl = remove_int(avl, 198);
- avl = remove_int(avl, 1);
- avl = gpr_avl_add(avl, box(160), box(2405), nullptr);
- avl = remove_int(avl, 515);
- avl = gpr_avl_add(avl, box(284), box(2407), nullptr);
- avl = gpr_avl_add(avl, box(225), box(2408), nullptr);
- avl = remove_int(avl, 304);
- avl = gpr_avl_add(avl, box(714), box(2410), nullptr);
- avl = gpr_avl_add(avl, box(708), box(2411), nullptr);
- avl = gpr_avl_add(avl, box(624), box(2412), nullptr);
- avl = remove_int(avl, 662);
- avl = remove_int(avl, 825);
- avl = remove_int(avl, 383);
- avl = remove_int(avl, 381);
- avl = gpr_avl_add(avl, box(194), box(2417), nullptr);
- avl = remove_int(avl, 280);
- avl = remove_int(avl, 25);
- avl = remove_int(avl, 633);
- avl = gpr_avl_add(avl, box(897), box(2421), nullptr);
- avl = remove_int(avl, 636);
- avl = remove_int(avl, 596);
- avl = remove_int(avl, 757);
- avl = remove_int(avl, 343);
- avl = remove_int(avl, 162);
- avl = remove_int(avl, 913);
- avl = remove_int(avl, 843);
- avl = remove_int(avl, 280);
- avl = remove_int(avl, 911);
- avl = gpr_avl_add(avl, box(1008), box(2431), nullptr);
- avl = remove_int(avl, 948);
- avl = remove_int(avl, 74);
- avl = remove_int(avl, 571);
- avl = gpr_avl_add(avl, box(486), box(2435), nullptr);
- avl = gpr_avl_add(avl, box(285), box(2436), nullptr);
- avl = remove_int(avl, 304);
- avl = remove_int(avl, 516);
- avl = gpr_avl_add(avl, box(758), box(2439), nullptr);
- avl = gpr_avl_add(avl, box(776), box(2440), nullptr);
- avl = remove_int(avl, 696);
- avl = gpr_avl_add(avl, box(104), box(2442), nullptr);
- avl = gpr_avl_add(avl, box(700), box(2443), nullptr);
- avl = gpr_avl_add(avl, box(114), box(2444), nullptr);
- avl = gpr_avl_add(avl, box(567), box(2445), nullptr);
- avl = remove_int(avl, 620);
- avl = gpr_avl_add(avl, box(270), box(2447), nullptr);
- avl = remove_int(avl, 730);
- avl = gpr_avl_add(avl, box(749), box(2449), nullptr);
- avl = gpr_avl_add(avl, box(443), box(2450), nullptr);
- avl = remove_int(avl, 457);
- avl = gpr_avl_add(avl, box(571), box(2452), nullptr);
- avl = gpr_avl_add(avl, box(626), box(2453), nullptr);
- avl = remove_int(avl, 638);
- avl = remove_int(avl, 313);
-
- gpr_avl_unref(avl, nullptr);
-}
-
-static void test_stress(int amount_of_stress) {
- int added[1024];
- int i, j;
- int deletions = 0;
- gpr_avl avl;
-
- unsigned seed = (unsigned)time(nullptr);
-
- gpr_log(GPR_DEBUG, "test_stress amount=%d seed=%u", amount_of_stress, seed);
-
- srand((unsigned)time(nullptr));
- avl = gpr_avl_create(&int_int_vtable);
-
- memset(added, 0, sizeof(added));
-
- for (i = 1; deletions < amount_of_stress; i++) {
- int idx = rand() % (int)GPR_ARRAY_SIZE(added);
- GPR_ASSERT(i);
- if (rand() < RAND_MAX / 2) {
- added[idx] = i;
- printf("avl = gpr_avl_add(avl, box(%d), box(%d), NULL); /* d=%d */\n",
- idx, i, deletions);
- avl = gpr_avl_add(avl, box(idx), box(i), nullptr);
- } else {
- deletions += (added[idx] != 0);
- added[idx] = 0;
- printf("avl = remove_int(avl, %d); /* d=%d */\n", idx, deletions);
- avl = remove_int(avl, idx);
- }
- for (j = 0; j < (int)GPR_ARRAY_SIZE(added); j++) {
- if (added[j] != 0) {
- check_get(avl, j, added[j]);
- } else {
- check_negget(avl, j);
- }
- }
- }
-
- gpr_avl_unref(avl, nullptr);
-}
-
-int main(int argc, char* argv[]) {
- grpc_test_init(argc, argv);
-
- test_get();
- test_ll();
- test_lr();
- test_rr();
- test_rl();
- test_unbalanced();
- test_replace();
- test_remove();
- test_badcase1();
- test_badcase2();
- test_badcase3();
- test_stress(10);
-
- return 0;
-}
diff --git a/test/core/gpr/cpu_test.cc b/test/core/gpr/cpu_test.cc
index 87cdc0fb50..46a168665c 100644
--- a/test/core/gpr/cpu_test.cc
+++ b/test/core/gpr/cpu_test.cc
@@ -62,7 +62,7 @@ struct cpu_test {
};
static void worker_thread(void* arg) {
- struct cpu_test* ct = (struct cpu_test*)arg;
+ struct cpu_test* ct = static_cast<struct cpu_test*>(arg);
uint32_t cpu;
unsigned r = 12345678;
unsigned i, j;
@@ -103,7 +103,7 @@ static void cpu_test(void) {
gpr_thd_id thd;
ct.ncores = gpr_cpu_num_cores();
GPR_ASSERT(ct.ncores > 0);
- ct.nthreads = (int)ct.ncores * 3;
+ ct.nthreads = static_cast<int>(ct.ncores) * 3;
ct.used = static_cast<int*>(gpr_malloc(ct.ncores * sizeof(int)));
memset(ct.used, 0, ct.ncores * sizeof(int));
gpr_mu_init(&ct.mu);
diff --git a/test/core/gpr/host_port_test.cc b/test/core/gpr/host_port_test.cc
index 42dd56524f..b5d88b2b01 100644
--- a/test/core/gpr/host_port_test.cc
+++ b/test/core/gpr/host_port_test.cc
@@ -19,8 +19,9 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "test/core/util/test_config.h"
static void join_host_port_expect(const char* host, int port,
diff --git a/test/core/gpr/mpscq_test.cc b/test/core/gpr/mpscq_test.cc
index 5a8177543c..333390e928 100644
--- a/test/core/gpr/mpscq_test.cc
+++ b/test/core/gpr/mpscq_test.cc
@@ -24,7 +24,8 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
typedef struct test_node {
@@ -48,7 +49,7 @@ static void test_serial(void) {
gpr_mpscq_push(&q, &new_node(i, nullptr)->node);
}
for (size_t i = 0; i < 10000000; i++) {
- test_node* n = (test_node*)gpr_mpscq_pop(&q);
+ test_node* n = reinterpret_cast<test_node*>(gpr_mpscq_pop(&q));
GPR_ASSERT(n);
GPR_ASSERT(n->i == i);
gpr_free(n);
@@ -96,7 +97,7 @@ static void test_mt(void) {
while ((n = gpr_mpscq_pop(&q)) == nullptr) {
spins++;
}
- test_node* tn = (test_node*)n;
+ test_node* tn = reinterpret_cast<test_node*>(n);
GPR_ASSERT(*tn->ctr == tn->i - 1);
*tn->ctr = tn->i;
if (tn->i == THREAD_ITERATIONS) num_done++;
@@ -133,7 +134,7 @@ static void pull_thread(void* arg) {
while ((n = gpr_mpscq_pop(pa->q)) == nullptr) {
pa->spins++;
}
- test_node* tn = (test_node*)n;
+ test_node* tn = reinterpret_cast<test_node*>(n);
GPR_ASSERT(*tn->ctr == tn->i - 1);
*tn->ctr = tn->i;
if (tn->i == THREAD_ITERATIONS) pa->num_done++;
diff --git a/test/core/gpr/murmur_hash_test.cc b/test/core/gpr/murmur_hash_test.cc
index d920dd3f95..2d2fa72cfb 100644
--- a/test/core/gpr/murmur_hash_test.cc
+++ b/test/core/gpr/murmur_hash_test.cc
@@ -42,8 +42,8 @@ static void verification_test(hash_func hash, uint32_t expected) {
the seed */
for (i = 0; i < 256; i++) {
- key[i] = (uint8_t)i;
- hashes[i] = hash(key, i, (uint32_t)(256u - i));
+ key[i] = static_cast<uint8_t>(i);
+ hashes[i] = hash(key, i, static_cast<uint32_t>(256u - i));
}
/* Then hash the result array */
diff --git a/test/core/gpr/spinlock_test.cc b/test/core/gpr/spinlock_test.cc
index 77e3dfbede..cd6de69126 100644
--- a/test/core/gpr/spinlock_test.cc
+++ b/test/core/gpr/spinlock_test.cc
@@ -46,7 +46,7 @@ static struct test* test_new(int threads, int64_t iterations, int incr_step) {
struct test* m = static_cast<struct test*>(gpr_malloc(sizeof(*m)));
m->thread_count = threads;
m->threads = static_cast<gpr_thd_id*>(
- gpr_malloc(sizeof(*m->threads) * (size_t)threads));
+ gpr_malloc(sizeof(*m->threads) * static_cast<size_t>(threads)));
m->iterations = iterations;
m->counter = 0;
m->thread_count = 0;
@@ -93,27 +93,30 @@ static void test(const char* name, void (*body)(void* m), int timeout_s,
gpr_timespec start = gpr_now(GPR_CLOCK_REALTIME);
gpr_timespec time_taken;
gpr_timespec deadline = gpr_time_add(
- start, gpr_time_from_micros((int64_t)timeout_s * 1000000, GPR_TIMESPAN));
+ start, gpr_time_from_micros(static_cast<int64_t>(timeout_s) * 1000000,
+ GPR_TIMESPAN));
fprintf(stderr, "%s:", name);
fflush(stderr);
while (gpr_time_cmp(gpr_now(GPR_CLOCK_REALTIME), deadline) < 0) {
if (iterations < INT64_MAX / 2) iterations <<= 1;
- fprintf(stderr, " %ld", (long)iterations);
+ fprintf(stderr, " %ld", static_cast<long>(iterations));
fflush(stderr);
m = test_new(10, iterations, incr_step);
test_create_threads(m, body);
test_wait(m);
if (m->counter != m->thread_count * m->iterations * m->incr_step) {
fprintf(stderr, "counter %ld threads %d iterations %ld\n",
- (long)m->counter, m->thread_count, (long)m->iterations);
+ static_cast<long>(m->counter), m->thread_count,
+ static_cast<long>(m->iterations));
fflush(stderr);
GPR_ASSERT(0);
}
test_destroy(m);
}
time_taken = gpr_time_sub(gpr_now(GPR_CLOCK_REALTIME), start);
- fprintf(stderr, " done %lld.%09d s\n", (long long)time_taken.tv_sec,
- (int)time_taken.tv_nsec);
+ fprintf(stderr, " done %lld.%09d s\n",
+ static_cast<long long>(time_taken.tv_sec),
+ static_cast<int>(time_taken.tv_nsec));
fflush(stderr);
}
diff --git a/test/core/gpr/string_test.cc b/test/core/gpr/string_test.cc
index 57068eb2c9..9f3b312465 100644
--- a/test/core/gpr/string_test.cc
+++ b/test/core/gpr/string_test.cc
@@ -26,7 +26,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
#include "test/core/util/test_config.h"
#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/gpr/sync_test.cc b/test/core/gpr/sync_test.cc
index 768f96d093..39ff8852b6 100644
--- a/test/core/gpr/sync_test.cc
+++ b/test/core/gpr/sync_test.cc
@@ -236,11 +236,12 @@ static void test(const char* name, void (*body)(void* m),
gpr_timespec start = gpr_now(GPR_CLOCK_REALTIME);
gpr_timespec time_taken;
gpr_timespec deadline = gpr_time_add(
- start, gpr_time_from_micros((int64_t)timeout_s * 1000000, GPR_TIMESPAN));
+ start, gpr_time_from_micros(static_cast<int64_t>(timeout_s) * 1000000,
+ GPR_TIMESPAN));
fprintf(stderr, "%s:", name);
fflush(stderr);
while (gpr_time_cmp(gpr_now(GPR_CLOCK_REALTIME), deadline) < 0) {
- fprintf(stderr, " %ld", (long)iterations);
+ fprintf(stderr, " %ld", static_cast<long>(iterations));
fflush(stderr);
m = test_new(10, iterations, incr_step);
if (extra != nullptr) {
@@ -252,7 +253,8 @@ static void test(const char* name, void (*body)(void* m),
test_wait(m);
if (m->counter != m->threads * m->iterations * m->incr_step) {
fprintf(stderr, "counter %ld threads %d iterations %ld\n",
- (long)m->counter, m->threads, (long)m->iterations);
+ static_cast<long>(m->counter), m->threads,
+ static_cast<long>(m->iterations));
fflush(stderr);
GPR_ASSERT(0);
}
@@ -260,8 +262,9 @@ static void test(const char* name, void (*body)(void* m),
iterations <<= 1;
}
time_taken = gpr_time_sub(gpr_now(GPR_CLOCK_REALTIME), start);
- fprintf(stderr, " done %lld.%09d s\n", (long long)time_taken.tv_sec,
- (int)time_taken.tv_nsec);
+ fprintf(stderr, " done %lld.%09d s\n",
+ static_cast<long long>(time_taken.tv_sec),
+ static_cast<int>(time_taken.tv_nsec));
fflush(stderr);
}
diff --git a/test/core/gpr/time_test.cc b/test/core/gpr/time_test.cc
index b2b4dce58e..ef7a961d0a 100644
--- a/test/core/gpr/time_test.cc
+++ b/test/core/gpr/time_test.cc
@@ -29,7 +29,7 @@
#include "test/core/util/test_config.h"
static void to_fp(void* arg, const char* buf, size_t len) {
- fwrite(buf, 1, len, (FILE*)arg);
+ fwrite(buf, 1, len, static_cast<FILE*>(arg));
}
/* Convert gpr_intmax x to ascii base b (2..16), and write with
diff --git a/test/core/gpr/tls_test.cc b/test/core/gpr/tls_test.cc
index 743b10f090..1ef253ed6f 100644
--- a/test/core/gpr/tls_test.cc
+++ b/test/core/gpr/tls_test.cc
@@ -21,9 +21,10 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
-#include <grpc/support/tls.h>
#include <stdio.h>
#include <stdlib.h>
+
+#include "src/core/lib/gpr/tls.h"
#include "test/core/util/test_config.h"
#define NUM_THREADS 100
diff --git a/test/core/gpr/useful_test.cc b/test/core/gpr/useful_test.cc
index 2f86010d77..619c800c4d 100644
--- a/test/core/gpr/useful_test.cc
+++ b/test/core/gpr/useful_test.cc
@@ -18,7 +18,8 @@
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
int main(int argc, char** argv) {
diff --git a/test/core/gprpp/orphanable_test.cc b/test/core/gprpp/orphanable_test.cc
index ff2f6d8bc2..ad6b9ac867 100644
--- a/test/core/gprpp/orphanable_test.cc
+++ b/test/core/gprpp/orphanable_test.cc
@@ -58,18 +58,19 @@ TEST(MakeOrphanable, WithParameters) {
EXPECT_EQ(5, foo->value());
}
-class Bar : public InternallyRefCounted {
+class Bar : public InternallyRefCounted<Bar> {
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(); }
+ void StartWork() { self_ref_ = Ref(); }
+ void FinishWork() { self_ref_.reset(); }
private:
int value_;
+ RefCountedPtr<Bar> self_ref_;
};
TEST(OrphanablePtr, InternallyRefCounted) {
@@ -82,19 +83,24 @@ TEST(OrphanablePtr, InternallyRefCounted) {
// things build properly in both debug and non-debug cases.
DebugOnlyTraceFlag baz_tracer(true, "baz");
-class Baz : public InternallyRefCountedWithTracing {
+class Baz : public InternallyRefCountedWithTracing<Baz> {
public:
Baz() : Baz(0) {}
explicit Baz(int value)
- : InternallyRefCountedWithTracing(&baz_tracer), value_(value) {}
+ : InternallyRefCountedWithTracing<Baz>(&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"); }
+ void StartWork() { self_ref_ = Ref(DEBUG_LOCATION, "work"); }
+ void FinishWork() {
+ // This is a little ugly, but it makes the logged ref and unref match up.
+ self_ref_.release();
+ Unref(DEBUG_LOCATION, "work");
+ }
private:
int value_;
+ RefCountedPtr<Baz> self_ref_;
};
TEST(OrphanablePtr, InternallyRefCountedWithTracing) {
diff --git a/test/core/gprpp/ref_counted_ptr_test.cc b/test/core/gprpp/ref_counted_ptr_test.cc
index f1f13f3183..2e398a7722 100644
--- a/test/core/gprpp/ref_counted_ptr_test.cc
+++ b/test/core/gprpp/ref_counted_ptr_test.cc
@@ -30,7 +30,7 @@ namespace grpc_core {
namespace testing {
namespace {
-class Foo : public RefCounted {
+class Foo : public RefCounted<Foo> {
public:
Foo() : value_(0) {}
@@ -163,14 +163,15 @@ TEST(MakeRefCounted, Args) {
TraceFlag foo_tracer(true, "foo");
-class FooWithTracing : public RefCountedWithTracing {
+class FooWithTracing : public RefCountedWithTracing<FooWithTracing> {
public:
FooWithTracing() : RefCountedWithTracing(&foo_tracer) {}
};
TEST(RefCountedPtr, RefCountedWithTracing) {
RefCountedPtr<FooWithTracing> foo(New<FooWithTracing>());
- foo->Ref(DEBUG_LOCATION, "foo");
+ RefCountedPtr<FooWithTracing> foo2 = foo->Ref(DEBUG_LOCATION, "foo");
+ foo2.release();
foo->Unref(DEBUG_LOCATION, "foo");
}
diff --git a/test/core/gprpp/ref_counted_test.cc b/test/core/gprpp/ref_counted_test.cc
index b1b0fee5c0..f85a2e4675 100644
--- a/test/core/gprpp/ref_counted_test.cc
+++ b/test/core/gprpp/ref_counted_test.cc
@@ -27,7 +27,7 @@ namespace grpc_core {
namespace testing {
namespace {
-class Foo : public RefCounted {
+class Foo : public RefCounted<Foo> {
public:
Foo() {}
};
@@ -39,7 +39,8 @@ TEST(RefCounted, Basic) {
TEST(RefCounted, ExtraRef) {
Foo* foo = New<Foo>();
- foo->Ref();
+ RefCountedPtr<Foo> foop = foo->Ref();
+ foop.release();
foo->Unref();
foo->Unref();
}
@@ -48,17 +49,19 @@ TEST(RefCounted, ExtraRef) {
// things build properly in both debug and non-debug cases.
DebugOnlyTraceFlag foo_tracer(true, "foo");
-class FooWithTracing : public RefCountedWithTracing {
+class FooWithTracing : public RefCountedWithTracing<FooWithTracing> {
public:
FooWithTracing() : RefCountedWithTracing(&foo_tracer) {}
};
TEST(RefCountedWithTracing, Basic) {
FooWithTracing* foo = New<FooWithTracing>();
- foo->Ref(DEBUG_LOCATION, "extra_ref");
+ RefCountedPtr<FooWithTracing> foop = foo->Ref(DEBUG_LOCATION, "extra_ref");
+ foop.release();
foo->Unref(DEBUG_LOCATION, "extra_ref");
// Can use the no-argument methods, too.
- foo->Ref();
+ foop = foo->Ref();
+ foop.release();
foo->Unref();
foo->Unref(DEBUG_LOCATION, "original_ref");
}
diff --git a/test/core/handshake/client_ssl.cc b/test/core/handshake/client_ssl.cc
index 2302e3da2f..088df3845e 100644
--- a/test/core/handshake/client_ssl.cc
+++ b/test/core/handshake/client_ssl.cc
@@ -68,7 +68,7 @@ static int create_socket(int* out_port) {
return -1;
}
- if (bind(s, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
+ if (bind(s, reinterpret_cast<struct sockaddr*>(&addr), sizeof(addr)) < 0) {
perror("Unable to bind");
gpr_log(GPR_ERROR, "%s", "Unable to bind to any port");
close(s);
@@ -82,7 +82,8 @@ static int create_socket(int* out_port) {
}
addr_len = sizeof(addr);
- if (getsockname(s, (struct sockaddr*)&addr, &addr_len) != 0 ||
+ if (getsockname(s, reinterpret_cast<struct sockaddr*>(&addr), &addr_len) !=
+ 0 ||
addr_len > sizeof(addr)) {
perror("getsockname");
gpr_log(GPR_ERROR, "%s", "Unable to get socket local address");
@@ -98,19 +99,19 @@ static int create_socket(int* out_port) {
// SSL_CTX_set_alpn_select_cb.
static int alpn_select_cb(SSL* ssl, const uint8_t** out, uint8_t* out_len,
const uint8_t* in, unsigned in_len, void* arg) {
- const uint8_t* alpn_preferred = (const uint8_t*)arg;
+ const uint8_t* alpn_preferred = static_cast<const uint8_t*>(arg);
*out = alpn_preferred;
- *out_len = (uint8_t)strlen((char*)alpn_preferred);
+ *out_len = static_cast<uint8_t>(strlen((char*)alpn_preferred));
// Validate that the ALPN list includes "h2" and "grpc-exp", that "grpc-exp"
// precedes "h2".
bool grpc_exp_seen = false;
bool h2_seen = false;
- const char* inp = (const char*)in;
+ const char* inp = reinterpret_cast<const char*>(in);
const char* in_end = inp + in_len;
while (inp < in_end) {
- const size_t length = (size_t)*inp++;
+ const size_t length = static_cast<size_t>(*inp++);
if (length == strlen("grpc-exp") && strncmp(inp, "grpc-exp", length) == 0) {
grpc_exp_seen = true;
GPR_ASSERT(!h2_seen);
@@ -133,7 +134,7 @@ static int alpn_select_cb(SSL* ssl, const uint8_t** out, uint8_t* out_len,
// https://wiki.openssl.org/index.php/Simple_TLS_Server and the gRPC core
// internals in src/core/tsi/ssl_transport_security.c.
static void server_thread(void* arg) {
- const server_args* args = (server_args*)arg;
+ const server_args* args = static_cast<server_args*>(arg);
SSL_load_error_strings();
OpenSSL_add_ssl_algorithms();
@@ -175,7 +176,8 @@ static void server_thread(void* arg) {
gpr_log(GPR_INFO, "Server listening");
struct sockaddr_in addr;
socklen_t len = sizeof(addr);
- const int client = accept(sock, (struct sockaddr*)&addr, &len);
+ const int client =
+ accept(sock, reinterpret_cast<struct sockaddr*>(&addr), &len);
if (client < 0) {
perror("Unable to accept");
abort();
@@ -243,9 +245,12 @@ static bool client_ssl_test(char* server_alpn_preferred) {
grpc_load_file(SSL_CERT_PATH, 1, &cert_slice)));
GPR_ASSERT(GRPC_LOG_IF_ERROR("load_file",
grpc_load_file(SSL_KEY_PATH, 1, &key_slice)));
- const char* ca_cert = (const char*)GRPC_SLICE_START_PTR(ca_slice);
- pem_key_cert_pair.private_key = (const char*)GRPC_SLICE_START_PTR(key_slice);
- pem_key_cert_pair.cert_chain = (const char*)GRPC_SLICE_START_PTR(cert_slice);
+ const char* ca_cert =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(ca_slice);
+ pem_key_cert_pair.private_key =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(key_slice);
+ pem_key_cert_pair.cert_chain =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(cert_slice);
grpc_channel_credentials* ssl_creds =
grpc_ssl_credentials_create(ca_cert, &pem_key_cert_pair, nullptr);
diff --git a/test/core/handshake/readahead_handshaker_server_ssl.cc b/test/core/handshake/readahead_handshaker_server_ssl.cc
index 599e0e16e2..fa3ee0bc1e 100644
--- a/test/core/handshake/readahead_handshaker_server_ssl.cc
+++ b/test/core/handshake/readahead_handshaker_server_ssl.cc
@@ -67,7 +67,8 @@ const grpc_handshaker_vtable readahead_handshaker_vtable = {
readahead_handshaker_do_handshake};
static grpc_handshaker* readahead_handshaker_create() {
- grpc_handshaker* h = (grpc_handshaker*)gpr_zalloc(sizeof(grpc_handshaker));
+ grpc_handshaker* h =
+ static_cast<grpc_handshaker*>(gpr_zalloc(sizeof(grpc_handshaker)));
grpc_handshaker_init(&readahead_handshaker_vtable, h);
return h;
}
diff --git a/test/core/handshake/server_ssl_common.cc b/test/core/handshake/server_ssl_common.cc
index 0bf453a204..6f1a097dbd 100644
--- a/test/core/handshake/server_ssl_common.cc
+++ b/test/core/handshake/server_ssl_common.cc
@@ -48,7 +48,7 @@ static int create_socket(int port) {
struct sockaddr_in addr;
addr.sin_family = AF_INET;
- addr.sin_port = htons((uint16_t)port);
+ addr.sin_port = htons(static_cast<uint16_t>(port));
addr.sin_addr.s_addr = htonl(INADDR_ANY);
s = socket(AF_INET, SOCK_STREAM, 0);
@@ -57,7 +57,7 @@ static int create_socket(int port) {
return -1;
}
- if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
+ if (connect(s, reinterpret_cast<struct sockaddr*>(&addr), sizeof(addr)) < 0) {
perror("Unable to connect");
return -1;
}
@@ -67,7 +67,7 @@ static int create_socket(int port) {
// Simple gRPC server. This listens until client_handshake_complete occurs.
static void server_thread(void* arg) {
- const int port = *(int*)arg;
+ const int port = *static_cast<int*>(arg);
// Load key pair and establish server SSL credentials.
grpc_ssl_pem_key_cert_pair pem_key_cert_pair;
@@ -78,9 +78,12 @@ static void server_thread(void* arg) {
grpc_load_file(SSL_CERT_PATH, 1, &cert_slice)));
GPR_ASSERT(GRPC_LOG_IF_ERROR("load_file",
grpc_load_file(SSL_KEY_PATH, 1, &key_slice)));
- const char* ca_cert = (const char*)GRPC_SLICE_START_PTR(ca_slice);
- pem_key_cert_pair.private_key = (const char*)GRPC_SLICE_START_PTR(key_slice);
- pem_key_cert_pair.cert_chain = (const char*)GRPC_SLICE_START_PTR(cert_slice);
+ const char* ca_cert =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(ca_slice);
+ pem_key_cert_pair.private_key =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(key_slice);
+ pem_key_cert_pair.cert_chain =
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(cert_slice);
grpc_server_credentials* ssl_creds = grpc_ssl_server_credentials_create(
ca_cert, &pem_key_cert_pair, 1, 0, nullptr);
@@ -176,13 +179,13 @@ bool server_ssl_test(const char* alpn_list[], unsigned int alpn_list_len,
// wire format, see documentation for SSL_CTX_set_alpn_protos.
unsigned int alpn_protos_len = alpn_list_len;
for (unsigned int i = 0; i < alpn_list_len; ++i) {
- alpn_protos_len += (unsigned int)strlen(alpn_list[i]);
+ alpn_protos_len += static_cast<unsigned int>(strlen(alpn_list[i]));
}
unsigned char* alpn_protos =
static_cast<unsigned char*>(gpr_malloc(alpn_protos_len));
unsigned char* p = alpn_protos;
for (unsigned int i = 0; i < alpn_list_len; ++i) {
- const uint8_t len = (uint8_t)strlen(alpn_list[i]);
+ const uint8_t len = static_cast<uint8_t>(strlen(alpn_list[i]));
*p++ = len;
memcpy(p, alpn_list[i], len);
p += len;
@@ -217,8 +220,8 @@ bool server_ssl_test(const char* alpn_list[], unsigned int alpn_list_len,
unsigned int alpn_selected_len;
SSL_get0_alpn_selected(ssl, &alpn_selected, &alpn_selected_len);
if (strlen(alpn_expected) != alpn_selected_len ||
- strncmp((const char*)alpn_selected, alpn_expected, alpn_selected_len) !=
- 0) {
+ strncmp(reinterpret_cast<const char*>(alpn_selected), alpn_expected,
+ alpn_selected_len) != 0) {
gpr_log(GPR_ERROR, "Unexpected ALPN protocol preference");
success = false;
}
diff --git a/test/core/http/BUILD b/test/core/http/BUILD
index a5ae6272db..be51ea0737 100644
--- a/test/core/http/BUILD
+++ b/test/core/http/BUILD
@@ -66,7 +66,12 @@ grpc_cc_test(
name = "httpcli_test",
srcs = ["httpcli_test.cc"],
language = "C++",
- data = ["test_server.py"],
+ data = [
+ "python_wrapper.sh",
+ "test_server.py",
+ "//src/core/tsi/test_creds:server1.pem",
+ "//src/core/tsi/test_creds:server1.key"
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -80,7 +85,13 @@ grpc_cc_test(
name = "httpscli_test",
srcs = ["httpscli_test.cc"],
language = "C++",
- data = ["test_server.py"],
+ data = [
+ "python_wrapper.sh",
+ "test_server.py",
+ "//src/core/tsi/test_creds:ca.pem",
+ "//src/core/tsi/test_creds:server1.pem",
+ "//src/core/tsi/test_creds:server1.key"
+ ],
deps = [
"//:gpr",
"//:grpc",
@@ -102,3 +113,16 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
],
)
+
+grpc_cc_test(
+ name = "format_request_test",
+ srcs = ["format_request_test.cc"],
+ language = "C++",
+ deps = [
+ "//:gpr",
+ "//:grpc",
+ "//test/core/end2end:ssl_test_data",
+ "//test/core/util:gpr_test_util",
+ "//test/core/util:grpc_test_util",
+ ],
+)
diff --git a/test/core/http/httpcli_test.cc b/test/core/http/httpcli_test.cc
index 259e3aa463..346568fcf2 100644
--- a/test/core/http/httpcli_test.cc
+++ b/test/core/http/httpcli_test.cc
@@ -24,10 +24,11 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
#include <grpc/support/sync.h>
+
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/port.h"
+#include "test/core/util/subprocess.h"
#include "test/core/util/test_config.h"
static int g_done = 0;
@@ -154,10 +155,17 @@ int main(int argc, char** argv) {
int arg_shift = 0;
/* figure out where we are */
char* root;
- if (lslash) {
- root = static_cast<char*>(gpr_malloc((size_t)(lslash - me + 1)));
- memcpy(root, me, (size_t)(lslash - me));
- root[lslash - me] = 0;
+ if (lslash != nullptr) {
+ /* Hack for bazel target */
+ if (static_cast<unsigned>(lslash - me) >= (sizeof("http") - 1) &&
+ strncmp(me + (lslash - me) - sizeof("http") + 1, "http",
+ sizeof("http") - 1) == 0) {
+ lslash = me + (lslash - me) - sizeof("http");
+ }
+ root = static_cast<char*>(
+ gpr_malloc(static_cast<size_t>(lslash - me + sizeof("/../.."))));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
+ memcpy(root + (lslash - me), "/../..", sizeof("/../.."));
} else {
root = gpr_strdup(".");
}
@@ -167,8 +175,8 @@ int main(int argc, char** argv) {
args[0] = gpr_strdup(argv[1]);
} else {
arg_shift = 1;
- gpr_asprintf(&args[0], "%s/../../tools/distrib/python_wrapper.sh", root);
- gpr_asprintf(&args[1], "%s/../../test/core/http/test_server.py", root);
+ gpr_asprintf(&args[0], "%s/test/core/http/python_wrapper.sh", root);
+ gpr_asprintf(&args[1], "%s/test/core/http/test_server.py", root);
}
/* start the server */
diff --git a/test/core/http/httpscli_test.cc b/test/core/http/httpscli_test.cc
index adf69f1b16..a38f306ef3 100644
--- a/test/core/http/httpscli_test.cc
+++ b/test/core/http/httpscli_test.cc
@@ -21,13 +21,16 @@
#include <string.h>
#include <grpc/grpc.h>
+#include <grpc/grpc_security_constants.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
#include <grpc/support/sync.h>
+
+#include "src/core/lib/gpr/env.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/port.h"
+#include "test/core/util/subprocess.h"
#include "test/core/util/test_config.h"
static int g_done = 0;
@@ -152,10 +155,17 @@ int main(int argc, char** argv) {
int arg_shift = 0;
/* figure out where we are */
char* root;
- if (lslash) {
- root = static_cast<char*>(gpr_malloc((size_t)(lslash - me + 1)));
- memcpy(root, me, (size_t)(lslash - me));
- root[lslash - me] = 0;
+ if (lslash != nullptr) {
+ /* Hack for bazel target */
+ if (static_cast<unsigned>(lslash - me) >= (sizeof("http") - 1) &&
+ strncmp(me + (lslash - me) - sizeof("http") + 1, "http",
+ sizeof("http") - 1) == 0) {
+ lslash = me + (lslash - me) - sizeof("http");
+ }
+ root = static_cast<char*>(
+ gpr_malloc(static_cast<size_t>(lslash - me + sizeof("/../.."))));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
+ memcpy(root + (lslash - me), "/../..", sizeof("/../.."));
} else {
root = gpr_strdup(".");
}
@@ -165,10 +175,16 @@ int main(int argc, char** argv) {
args[0] = gpr_strdup(argv[1]);
} else {
arg_shift = 1;
- gpr_asprintf(&args[0], "%s/../../tools/distrib/python_wrapper.sh", root);
- gpr_asprintf(&args[1], "%s/../../test/core/http/test_server.py", root);
+ gpr_asprintf(&args[0], "%s/test/core/http/python_wrapper.sh", root);
+ gpr_asprintf(&args[1], "%s/test/core/http/test_server.py", root);
}
+ /* Set the environment variable for the SSL certificate file */
+ char* pem_file;
+ gpr_asprintf(&pem_file, "%s/src/core/tsi/test_creds/ca.pem", root);
+ gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, pem_file);
+ gpr_free(pem_file);
+
/* start the server */
args[1 + arg_shift] = const_cast<char*>("--port");
gpr_asprintf(&args[2 + arg_shift], "%d", port);
diff --git a/test/core/http/parser_test.cc b/test/core/http/parser_test.cc
index 18f19856bd..fe824f57fc 100644
--- a/test/core/http/parser_test.cc
+++ b/test/core/http/parser_test.cc
@@ -25,7 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/slice_splitter.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/http/python_wrapper.sh b/test/core/http/python_wrapper.sh
new file mode 120000
index 0000000000..9ed6e3293f
--- /dev/null
+++ b/test/core/http/python_wrapper.sh
@@ -0,0 +1 @@
+../../../tools/distrib/python_wrapper.sh \ No newline at end of file
diff --git a/test/core/iomgr/combiner_test.cc b/test/core/iomgr/combiner_test.cc
index 891008c774..eb926cc620 100644
--- a/test/core/iomgr/combiner_test.cc
+++ b/test/core/iomgr/combiner_test.cc
@@ -22,8 +22,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
static void test_no_op(void) {
diff --git a/test/core/iomgr/endpoint_pair_test.cc b/test/core/iomgr/endpoint_pair_test.cc
index 90dd40d9c4..ad38076b51 100644
--- a/test/core/iomgr/endpoint_pair_test.cc
+++ b/test/core/iomgr/endpoint_pair_test.cc
@@ -21,7 +21,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "test/core/iomgr/endpoint_tests.h"
#include "test/core/util/test_config.h"
@@ -37,7 +38,7 @@ static grpc_endpoint_test_fixture create_fixture_endpoint_pair(
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
a[0].type = GRPC_ARG_INTEGER;
- a[0].value.integer = (int)slice_size;
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
grpc_endpoint_pair p = grpc_iomgr_create_endpoint_pair("test", &args);
diff --git a/test/core/iomgr/endpoint_tests.cc b/test/core/iomgr/endpoint_tests.cc
index 8ccae52067..8db8ac5ed6 100644
--- a/test/core/iomgr/endpoint_tests.cc
+++ b/test/core/iomgr/endpoint_tests.cc
@@ -25,8 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
@@ -77,7 +77,8 @@ static void end_test(grpc_endpoint_test_config config) { config.clean_up(); }
static grpc_slice* allocate_blocks(size_t num_bytes, size_t slice_size,
size_t* num_blocks, uint8_t* current_data) {
size_t nslices = num_bytes / slice_size + (num_bytes % slice_size ? 1 : 0);
- grpc_slice* slices = (grpc_slice*)gpr_malloc(sizeof(grpc_slice) * nslices);
+ grpc_slice* slices =
+ static_cast<grpc_slice*>(gpr_malloc(sizeof(grpc_slice) * nslices));
size_t num_bytes_left = num_bytes;
size_t i;
size_t j;
@@ -117,7 +118,7 @@ struct read_and_write_test_state {
static void read_and_write_test_read_handler(void* data, grpc_error* error) {
struct read_and_write_test_state* state =
- (struct read_and_write_test_state*)data;
+ static_cast<struct read_and_write_test_state*>(data);
state->bytes_read += count_slices(
state->incoming.slices, state->incoming.count, &state->current_read_data);
@@ -134,7 +135,7 @@ static void read_and_write_test_read_handler(void* data, grpc_error* error) {
static void read_and_write_test_write_handler(void* data, grpc_error* error) {
struct read_and_write_test_state* state =
- (struct read_and_write_test_state*)data;
+ static_cast<struct read_and_write_test_state*>(data);
grpc_slice* slices = nullptr;
size_t nslices;
@@ -246,7 +247,7 @@ static void read_and_write_test(grpc_endpoint_test_config config,
static void inc_on_failure(void* arg, grpc_error* error) {
gpr_mu_lock(g_mu);
- *(int*)arg += (error != GRPC_ERROR_NONE);
+ *static_cast<int*>(arg) += (error != GRPC_ERROR_NONE);
GPR_ASSERT(GRPC_LOG_IF_ERROR("kick", grpc_pollset_kick(g_pollset, nullptr)));
gpr_mu_unlock(g_mu);
}
diff --git a/test/core/iomgr/error_test.cc b/test/core/iomgr/error_test.cc
index 51f8af1957..064ce0a6b2 100644
--- a/test/core/iomgr/error_test.cc
+++ b/test/core/iomgr/error_test.cc
@@ -22,7 +22,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
#include <string.h>
diff --git a/test/core/iomgr/ev_epollsig_linux_test.cc b/test/core/iomgr/ev_epollsig_linux_test.cc
index 262470300e..5ae68d2e47 100644
--- a/test/core/iomgr/ev_epollsig_linux_test.cc
+++ b/test/core/iomgr/ev_epollsig_linux_test.cc
@@ -30,8 +30,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/test_config.h"
@@ -98,7 +98,7 @@ static void test_pollset_init(test_pollset* pollsets, int num_pollsets) {
}
static void destroy_pollset(void* p, grpc_error* error) {
- grpc_pollset_destroy((grpc_pollset*)p);
+ grpc_pollset_destroy(static_cast<grpc_pollset*>(p));
}
static void test_pollset_cleanup(test_pollset* pollsets, int num_pollsets) {
diff --git a/test/core/iomgr/fd_posix_test.cc b/test/core/iomgr/fd_posix_test.cc
index cf75517538..b81c73b2c0 100644
--- a/test/core/iomgr/fd_posix_test.cc
+++ b/test/core/iomgr/fd_posix_test.cc
@@ -78,7 +78,7 @@ static void create_test_socket(int port, int* socket_fd,
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = htonl(0x7f000001);
GPR_ASSERT(port >= 0 && port < 65536);
- sin->sin_port = htons((uint16_t)port);
+ sin->sin_port = htons(static_cast<uint16_t>(port));
}
/* Dummy gRPC callback */
@@ -196,7 +196,8 @@ static void listen_cb(void* arg, /*=sv_arg*/
return;
}
- fd = accept(grpc_fd_wrapped_fd(listen_em_fd), (struct sockaddr*)&ss, &slen);
+ fd = accept(grpc_fd_wrapped_fd(listen_em_fd),
+ reinterpret_cast<struct sockaddr*>(&ss), &slen);
GPR_ASSERT(fd >= 0);
GPR_ASSERT(fd < FD_SETSIZE);
flags = fcntl(fd, F_GETFL, 0);
@@ -335,7 +336,8 @@ static void client_start(client* cl, int port) {
int fd;
struct sockaddr_in sin;
create_test_socket(port, &fd, &sin);
- if (connect(fd, (struct sockaddr*)&sin, sizeof(sin)) == -1) {
+ if (connect(fd, reinterpret_cast<struct sockaddr*>(&sin), sizeof(sin)) ==
+ -1) {
if (errno == EINPROGRESS) {
struct pollfd pfd;
pfd.fd = fd;
diff --git a/test/core/iomgr/pollset_set_test.cc b/test/core/iomgr/pollset_set_test.cc
index 7d2f59bed4..0dc75a5f3f 100644
--- a/test/core/iomgr/pollset_set_test.cc
+++ b/test/core/iomgr/pollset_set_test.cc
@@ -27,8 +27,8 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/test_config.h"
@@ -103,7 +103,7 @@ typedef struct test_fd {
} test_fd;
void on_readable(void* tfd, grpc_error* error) {
- ((test_fd*)tfd)->is_on_readable_called = true;
+ (static_cast<test_fd*>(tfd))->is_on_readable_called = true;
}
static void reset_test_fd(test_fd* tfd) {
diff --git a/test/core/iomgr/resolve_address_posix_test.cc b/test/core/iomgr/resolve_address_posix_test.cc
index e36315333c..92d2338a02 100644
--- a/test/core/iomgr/resolve_address_posix_test.cc
+++ b/test/core/iomgr/resolve_address_posix_test.cc
@@ -27,8 +27,8 @@
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/executor.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/iomgr/resource_quota_test.cc b/test/core/iomgr/resource_quota_test.cc
index 07682d2630..921a24ebf2 100644
--- a/test/core/iomgr/resource_quota_test.cc
+++ b/test/core/iomgr/resource_quota_test.cc
@@ -29,7 +29,7 @@ gpr_cv g_cv;
static void inc_int_cb(void* a, grpc_error* error) {
gpr_mu_lock(&g_mu);
- ++*(int*)a;
+ ++*static_cast<int*>(a);
gpr_cv_signal(&g_cv);
gpr_mu_unlock(&g_mu);
}
@@ -44,7 +44,7 @@ static void assert_counter_becomes(int* ctr, int value) {
}
static void set_event_cb(void* a, grpc_error* error) {
- gpr_event_set((gpr_event*)a, (void*)1);
+ gpr_event_set(static_cast<gpr_event*>(a), (void*)1);
}
grpc_closure* set_event(gpr_event* ev) {
return GRPC_CLOSURE_CREATE(set_event_cb, ev, grpc_schedule_on_exec_ctx);
diff --git a/test/core/iomgr/sockaddr_utils_test.cc b/test/core/iomgr/sockaddr_utils_test.cc
index a445714851..32d2a384bd 100644
--- a/test/core/iomgr/sockaddr_utils_test.cc
+++ b/test/core/iomgr/sockaddr_utils_test.cc
@@ -33,7 +33,8 @@
static grpc_resolved_address make_addr4(const uint8_t* data, size_t data_len) {
grpc_resolved_address resolved_addr4;
- struct sockaddr_in* addr4 = (struct sockaddr_in*)resolved_addr4.addr;
+ struct sockaddr_in* addr4 =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr4.addr);
memset(&resolved_addr4, 0, sizeof(resolved_addr4));
addr4->sin_family = AF_INET;
GPR_ASSERT(data_len == sizeof(addr4->sin_addr.s_addr));
@@ -45,7 +46,8 @@ static grpc_resolved_address make_addr4(const uint8_t* data, size_t data_len) {
static grpc_resolved_address make_addr6(const uint8_t* data, size_t data_len) {
grpc_resolved_address resolved_addr6;
- struct sockaddr_in6* addr6 = (struct sockaddr_in6*)resolved_addr6.addr;
+ struct sockaddr_in6* addr6 =
+ reinterpret_cast<struct sockaddr_in6*>(resolved_addr6.addr);
memset(&resolved_addr6, 0, sizeof(resolved_addr6));
addr6->sin6_family = AF_INET6;
GPR_ASSERT(data_len == sizeof(addr6->sin6_addr.s6_addr));
@@ -56,7 +58,8 @@ static grpc_resolved_address make_addr6(const uint8_t* data, size_t data_len) {
}
static void set_addr6_scope_id(grpc_resolved_address* addr, uint32_t scope_id) {
- struct sockaddr_in6* addr6 = (struct sockaddr_in6*)addr->addr;
+ struct sockaddr_in6* addr6 =
+ reinterpret_cast<struct sockaddr_in6*>(addr->addr);
GPR_ASSERT(addr6->sin6_family == AF_INET6);
addr6->sin6_scope_id = scope_id;
}
@@ -143,7 +146,7 @@ static void test_sockaddr_is_wildcard(void) {
port = -1;
GPR_ASSERT(grpc_sockaddr_is_wildcard(&wild4, &port));
GPR_ASSERT(port == 555);
- wild4_addr = (struct sockaddr_in*)&wild4.addr;
+ wild4_addr = reinterpret_cast<struct sockaddr_in*>(&wild4.addr);
memset(&wild4_addr->sin_addr.s_addr, 0xbd, 1);
GPR_ASSERT(!grpc_sockaddr_is_wildcard(&wild4, &port));
@@ -151,7 +154,7 @@ static void test_sockaddr_is_wildcard(void) {
port = -1;
GPR_ASSERT(grpc_sockaddr_is_wildcard(&wild6, &port));
GPR_ASSERT(port == 555);
- wild6_addr = (struct sockaddr_in6*)&wild6.addr;
+ wild6_addr = reinterpret_cast<struct sockaddr_in6*>(&wild6.addr);
memset(&wild6_addr->sin6_addr.s6_addr, 0xbd, 1);
GPR_ASSERT(!grpc_sockaddr_is_wildcard(&wild6, &port));
@@ -159,7 +162,7 @@ static void test_sockaddr_is_wildcard(void) {
port = -1;
GPR_ASSERT(grpc_sockaddr_is_wildcard(&wild_mapped, &port));
GPR_ASSERT(port == 555);
- wild_mapped_addr = (struct sockaddr_in6*)&wild_mapped.addr;
+ wild_mapped_addr = reinterpret_cast<struct sockaddr_in6*>(&wild_mapped.addr);
memset(&wild_mapped_addr->sin6_addr.s6_addr, 0xbd, 1);
GPR_ASSERT(!grpc_sockaddr_is_wildcard(&wild_mapped, &port));
@@ -234,7 +237,7 @@ static void test_sockaddr_to_string(void) {
expect_sockaddr_uri("ipv6:[::fffe:c000:263]:12345", &input6);
memset(&dummy, 0, sizeof(dummy));
- dummy_addr = (struct sockaddr*)dummy.addr;
+ dummy_addr = reinterpret_cast<struct sockaddr*>(dummy.addr);
dummy_addr->sa_family = 123;
expect_sockaddr_str("(sockaddr family=123)", &dummy, 0);
expect_sockaddr_str("(sockaddr family=123)", &dummy, 1);
@@ -260,7 +263,7 @@ static void test_sockaddr_set_get_port(void) {
GPR_ASSERT(grpc_sockaddr_get_port(&input6) == 54321);
memset(&dummy, 0, sizeof(dummy));
- dummy_addr = (struct sockaddr*)dummy.addr;
+ dummy_addr = reinterpret_cast<struct sockaddr*>(dummy.addr);
dummy_addr->sa_family = 123;
GPR_ASSERT(grpc_sockaddr_get_port(&dummy) == 0);
GPR_ASSERT(grpc_sockaddr_set_port(&dummy, 1234) == 0);
diff --git a/test/core/iomgr/socket_utils_test.cc b/test/core/iomgr/socket_utils_test.cc
index 49c6f799e7..a21f3fac62 100644
--- a/test/core/iomgr/socket_utils_test.cc
+++ b/test/core/iomgr/socket_utils_test.cc
@@ -30,7 +30,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/socket_mutator.h"
#include "test/core/util/test_config.h"
@@ -42,7 +43,8 @@ struct test_socket_mutator {
static bool mutate_fd(int fd, grpc_socket_mutator* mutator) {
int newval;
socklen_t intlen = sizeof(newval);
- struct test_socket_mutator* m = (struct test_socket_mutator*)mutator;
+ struct test_socket_mutator* m =
+ reinterpret_cast<struct test_socket_mutator*>(mutator);
if (0 != setsockopt(fd, IPPROTO_IP, IP_TOS, &m->option_value,
sizeof(m->option_value))) {
@@ -58,14 +60,17 @@ static bool mutate_fd(int fd, grpc_socket_mutator* mutator) {
}
static void destroy_test_mutator(grpc_socket_mutator* mutator) {
- struct test_socket_mutator* m = (struct test_socket_mutator*)mutator;
+ struct test_socket_mutator* m =
+ reinterpret_cast<struct test_socket_mutator*>(mutator);
gpr_free(m);
}
static int compare_test_mutator(grpc_socket_mutator* a,
grpc_socket_mutator* b) {
- struct test_socket_mutator* ma = (struct test_socket_mutator*)a;
- struct test_socket_mutator* mb = (struct test_socket_mutator*)b;
+ struct test_socket_mutator* ma =
+ reinterpret_cast<struct test_socket_mutator*>(a);
+ struct test_socket_mutator* mb =
+ reinterpret_cast<struct test_socket_mutator*>(b);
return GPR_ICMP(ma->option_value, mb->option_value);
}
@@ -116,7 +121,8 @@ int main(int argc, char** argv) {
grpc_set_socket_with_mutator(sock, (grpc_socket_mutator*)&mutator)));
mutator.option_value = -1;
- err = grpc_set_socket_with_mutator(sock, (grpc_socket_mutator*)&mutator);
+ err = grpc_set_socket_with_mutator(
+ sock, reinterpret_cast<grpc_socket_mutator*>(&mutator));
GPR_ASSERT(err != GRPC_ERROR_NONE);
GRPC_ERROR_UNREF(err);
diff --git a/test/core/iomgr/tcp_client_posix_test.cc b/test/core/iomgr/tcp_client_posix_test.cc
index 40a050ed9f..8a43170043 100644
--- a/test/core/iomgr/tcp_client_posix_test.cc
+++ b/test/core/iomgr/tcp_client_posix_test.cc
@@ -78,7 +78,8 @@ static void must_fail(void* arg, grpc_error* error) {
void test_succeeds(void) {
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
int svr_fd;
int r;
int connections_complete_before;
@@ -112,7 +113,8 @@ void test_succeeds(void) {
/* await the connection */
do {
resolved_addr.len = sizeof(addr);
- r = accept(svr_fd, (struct sockaddr*)addr, (socklen_t*)&resolved_addr.len);
+ r = accept(svr_fd, reinterpret_cast<struct sockaddr*>(addr),
+ reinterpret_cast<socklen_t*>(&resolved_addr.len));
} while (r == -1 && errno == EINTR);
GPR_ASSERT(r >= 0);
close(r);
@@ -136,7 +138,8 @@ void test_succeeds(void) {
void test_fails(void) {
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
int connections_complete_before;
grpc_closure done;
grpc_core::ExecCtx exec_ctx;
diff --git a/test/core/iomgr/tcp_posix_test.cc b/test/core/iomgr/tcp_posix_test.cc
index f4acba8302..f4df6fca23 100644
--- a/test/core/iomgr/tcp_posix_test.cc
+++ b/test/core/iomgr/tcp_posix_test.cc
@@ -34,8 +34,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/iomgr/endpoint_tests.h"
#include "test/core/util/test_config.h"
@@ -74,7 +74,7 @@ static ssize_t fill_socket(int fd) {
int i;
unsigned char buf[256];
for (i = 0; i < 256; ++i) {
- buf[i] = (uint8_t)i;
+ buf[i] = static_cast<uint8_t>(i);
}
do {
write_bytes = write(fd, buf, 256);
@@ -89,16 +89,16 @@ static ssize_t fill_socket(int fd) {
static size_t fill_socket_partial(int fd, size_t bytes) {
ssize_t write_bytes;
size_t total_bytes = 0;
- unsigned char* buf = (unsigned char*)gpr_malloc(bytes);
+ unsigned char* buf = static_cast<unsigned char*>(gpr_malloc(bytes));
unsigned i;
for (i = 0; i < bytes; ++i) {
- buf[i] = (uint8_t)(i % 256);
+ buf[i] = static_cast<uint8_t>(i % 256);
}
do {
write_bytes = write(fd, buf, bytes - total_bytes);
if (write_bytes > 0) {
- total_bytes += (size_t)write_bytes;
+ total_bytes += static_cast<size_t>(write_bytes);
}
} while ((write_bytes >= 0 || errno == EINTR) && bytes > total_bytes);
@@ -132,7 +132,8 @@ static size_t count_slices(grpc_slice* slices, size_t nslices,
}
static void read_cb(void* user_data, grpc_error* error) {
- struct read_socket_state* state = (struct read_socket_state*)user_data;
+ struct read_socket_state* state =
+ static_cast<struct read_socket_state*>(user_data);
size_t read_bytes;
int current_data;
@@ -172,7 +173,8 @@ static void read_test(size_t num_bytes, size_t slice_size) {
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
- a[0].type = GRPC_ARG_INTEGER, a[0].value.integer = (int)slice_size;
+ a[0].type = GRPC_ARG_INTEGER,
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
ep = grpc_tcp_create(grpc_fd_create(sv[1], "read_test"), &args, "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
@@ -222,7 +224,7 @@ static void large_read_test(size_t slice_size) {
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
a[0].type = GRPC_ARG_INTEGER;
- a[0].value.integer = (int)slice_size;
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
ep = grpc_tcp_create(grpc_fd_create(sv[1], "large_read_test"), &args, "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
@@ -232,7 +234,7 @@ static void large_read_test(size_t slice_size) {
state.ep = ep;
state.read_bytes = 0;
- state.target_read_bytes = (size_t)written_bytes;
+ state.target_read_bytes = static_cast<size_t>(written_bytes);
grpc_slice_buffer_init(&state.incoming);
GRPC_CLOSURE_INIT(&state.read_cb, read_cb, &state, grpc_schedule_on_exec_ctx);
@@ -262,7 +264,8 @@ struct write_socket_state {
static grpc_slice* allocate_blocks(size_t num_bytes, size_t slice_size,
size_t* num_blocks, uint8_t* current_data) {
size_t nslices = num_bytes / slice_size + (num_bytes % slice_size ? 1u : 0u);
- grpc_slice* slices = (grpc_slice*)gpr_malloc(sizeof(grpc_slice) * nslices);
+ grpc_slice* slices =
+ static_cast<grpc_slice*>(gpr_malloc(sizeof(grpc_slice) * nslices));
size_t num_bytes_left = num_bytes;
unsigned i, j;
unsigned char* buf;
@@ -284,7 +287,8 @@ static grpc_slice* allocate_blocks(size_t num_bytes, size_t slice_size,
static void write_done(void* user_data /* write_socket_state */,
grpc_error* error) {
- struct write_socket_state* state = (struct write_socket_state*)user_data;
+ struct write_socket_state* state =
+ static_cast<struct write_socket_state*>(user_data);
gpr_log(GPR_INFO, "Write done callback called");
gpr_mu_lock(g_mu);
gpr_log(GPR_INFO, "Signalling write done");
@@ -295,7 +299,7 @@ static void write_done(void* user_data /* write_socket_state */,
}
void drain_socket_blocking(int fd, size_t num_bytes, size_t read_size) {
- unsigned char* buf = (unsigned char*)gpr_malloc(read_size);
+ unsigned char* buf = static_cast<unsigned char*>(gpr_malloc(read_size));
ssize_t bytes_read;
size_t bytes_left = num_bytes;
int flags;
@@ -325,7 +329,7 @@ void drain_socket_blocking(int fd, size_t num_bytes, size_t read_size) {
GPR_ASSERT(buf[i] == current);
current = (current + 1) % 256;
}
- bytes_left -= (size_t)bytes_read;
+ bytes_left -= static_cast<size_t>(bytes_read);
if (bytes_left == 0) break;
}
flags = fcntl(fd, F_GETFL, 0);
@@ -358,7 +362,8 @@ static void write_test(size_t num_bytes, size_t slice_size) {
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
- a[0].type = GRPC_ARG_INTEGER, a[0].value.integer = (int)slice_size;
+ a[0].type = GRPC_ARG_INTEGER,
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
ep = grpc_tcp_create(grpc_fd_create(sv[1], "write_test"), &args, "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
@@ -395,7 +400,7 @@ static void write_test(size_t num_bytes, size_t slice_size) {
}
void on_fd_released(void* arg, grpc_error* errors) {
- int* done = (int*)arg;
+ int* done = static_cast<int*>(arg);
*done = 1;
GPR_ASSERT(
GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(g_pollset, nullptr)));
@@ -426,7 +431,7 @@ static void release_fd_test(size_t num_bytes, size_t slice_size) {
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
a[0].type = GRPC_ARG_INTEGER;
- a[0].value.integer = (int)slice_size;
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
ep = grpc_tcp_create(grpc_fd_create(sv[1], "read_test"), &args, "test");
GPR_ASSERT(grpc_tcp_fd(ep) == sv[1] && sv[1] >= 0);
@@ -515,7 +520,7 @@ static grpc_endpoint_test_fixture create_fixture_tcp_socketpair(
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
a[0].type = GRPC_ARG_INTEGER;
- a[0].value.integer = (int)slice_size;
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
f.client_ep =
grpc_tcp_create(grpc_fd_create(sv[0], "fixture:client"), &args, "test");
@@ -533,7 +538,7 @@ static grpc_endpoint_test_config configs[] = {
};
static void destroy_pollset(void* p, grpc_error* error) {
- grpc_pollset_destroy((grpc_pollset*)p);
+ grpc_pollset_destroy(static_cast<grpc_pollset*>(p));
}
int main(int argc, char** argv) {
@@ -542,7 +547,7 @@ int main(int argc, char** argv) {
grpc_init();
{
grpc_core::ExecCtx exec_ctx;
- g_pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ g_pollset = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(g_pollset, &g_mu);
grpc_endpoint_tests(configs[0], g_pollset, g_mu);
run_tests();
diff --git a/test/core/iomgr/tcp_server_posix_test.cc b/test/core/iomgr/tcp_server_posix_test.cc
index 3c9ca2109e..dde77da547 100644
--- a/test/core/iomgr/tcp_server_posix_test.cc
+++ b/test/core/iomgr/tcp_server_posix_test.cc
@@ -181,7 +181,8 @@ static void test_no_op_with_start(void) {
static void test_no_op_with_port(void) {
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
grpc_tcp_server* s;
GPR_ASSERT(GRPC_ERROR_NONE == grpc_tcp_server_create(nullptr, nullptr, &s));
LOG_TEST("test_no_op_with_port");
@@ -200,7 +201,8 @@ static void test_no_op_with_port(void) {
static void test_no_op_with_port_and_start(void) {
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
grpc_tcp_server* s;
GPR_ASSERT(GRPC_ERROR_NONE == grpc_tcp_server_create(nullptr, nullptr, &s));
LOG_TEST("test_no_op_with_port_and_start");
@@ -225,7 +227,7 @@ static grpc_error* tcp_connect(const test_addr* remote,
int clifd;
int nconnects_before;
const struct sockaddr* remote_addr =
- (const struct sockaddr*)remote->addr.addr;
+ reinterpret_cast<const struct sockaddr*>(remote->addr.addr);
gpr_log(GPR_INFO, "Connecting to %s", remote->str);
gpr_mu_lock(g_mu);
@@ -237,7 +239,8 @@ static grpc_error* tcp_connect(const test_addr* remote,
return GRPC_OS_ERROR(errno, "Failed to create socket");
}
gpr_log(GPR_DEBUG, "start connect to %s", remote->str);
- if (connect(clifd, remote_addr, (socklen_t)remote->addr.len) != 0) {
+ if (connect(clifd, remote_addr, static_cast<socklen_t>(remote->addr.len)) !=
+ 0) {
gpr_mu_unlock(g_mu);
close(clifd);
return GRPC_OS_ERROR(errno, "connect");
@@ -286,9 +289,9 @@ static void test_connect(size_t num_connects,
grpc_resolved_address resolved_addr;
grpc_resolved_address resolved_addr1;
struct sockaddr_storage* const addr =
- (struct sockaddr_storage*)resolved_addr.addr;
+ reinterpret_cast<struct sockaddr_storage*>(resolved_addr.addr);
struct sockaddr_storage* const addr1 =
- (struct sockaddr_storage*)resolved_addr1.addr;
+ reinterpret_cast<struct sockaddr_storage*>(resolved_addr1.addr);
unsigned svr_fd_count;
int port;
int svr_port;
@@ -305,8 +308,9 @@ static void test_connect(size_t num_connects,
LOG_TEST("test_connect");
gpr_log(GPR_INFO,
"clients=%lu, num chan args=%lu, remote IP=%s, test_dst_addrs=%d",
- (unsigned long)num_connects,
- (unsigned long)(channel_args != nullptr ? channel_args->num_args : 0),
+ static_cast<unsigned long>(num_connects),
+ static_cast<unsigned long>(
+ channel_args != nullptr ? channel_args->num_args : 0),
dst_addrs != nullptr ? "<specific>" : "::", test_dst_addrs);
memset(&resolved_addr, 0, sizeof(resolved_addr));
memset(&resolved_addr1, 0, sizeof(resolved_addr1));
diff --git a/test/core/iomgr/timer_heap_test.cc b/test/core/iomgr/timer_heap_test.cc
index f0ab4343cb..08f5d632e3 100644
--- a/test/core/iomgr/timer_heap_test.cc
+++ b/test/core/iomgr/timer_heap_test.cc
@@ -28,8 +28,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
static gpr_atm random_deadline(void) { return rand(); }
@@ -102,7 +102,7 @@ static void test1(void) {
check_valid(&pq);
for (i = 0; i < num_test_operations; ++i) {
- size_t elem_num = (size_t)rand() % num_test_elements;
+ size_t elem_num = static_cast<size_t>(rand()) % num_test_elements;
grpc_timer* el = &test_elements[elem_num];
if (!inpq[elem_num]) { /* not in pq */
GPR_ASSERT(!contains(&pq, el));
@@ -142,8 +142,8 @@ static elem_struct* search_elems(elem_struct* elems, size_t count,
search_order[i] = i;
}
for (size_t i = 0; i < count * 2; i++) {
- size_t a = (size_t)rand() % count;
- size_t b = (size_t)rand() % count;
+ size_t a = static_cast<size_t>(rand()) % count;
+ size_t b = static_cast<size_t>(rand()) % count;
GPR_SWAP(size_t, search_order[a], search_order[b]);
}
elem_struct* out = nullptr;
@@ -235,7 +235,7 @@ static void shrink_test(void) {
size_t expected_size;
/* A large random number to allow for multiple shrinkages, at least 512. */
- const size_t num_elements = (size_t)rand() % 2000 + 512;
+ const size_t num_elements = static_cast<size_t>(rand()) % 2000 + 512;
grpc_timer_heap_init(&pq);
@@ -265,7 +265,7 @@ static void shrink_test(void) {
4 times the Size and not less than 2 times, but never goes below 16. */
expected_size = pq.timer_count;
while (pq.timer_count > 0) {
- const size_t which = (size_t)rand() % pq.timer_count;
+ const size_t which = static_cast<size_t>(rand()) % pq.timer_count;
grpc_timer* te = pq.timers[which];
grpc_timer_heap_remove(&pq, te);
gpr_free(te);
diff --git a/test/core/iomgr/udp_server_test.cc b/test/core/iomgr/udp_server_test.cc
index 09f0283013..13cbf2f6df 100644
--- a/test/core/iomgr/udp_server_test.cc
+++ b/test/core/iomgr/udp_server_test.cc
@@ -33,9 +33,9 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/iomgr/socket_factory_posix.h"
@@ -65,7 +65,7 @@ static bool on_read(grpc_fd* emfd) {
recv(grpc_fd_wrapped_fd(emfd), read_buffer, sizeof(read_buffer), 0);
g_number_of_reads++;
- g_number_of_bytes_read += (int)byte_count;
+ g_number_of_bytes_read += static_cast<int>(byte_count);
GPR_ASSERT(
GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(g_pollset, nullptr)));
@@ -100,16 +100,18 @@ typedef struct test_socket_factory test_socket_factory;
static int test_socket_factory_socket(grpc_socket_factory* factory, int domain,
int type, int protocol) {
- test_socket_factory* f = (test_socket_factory*)factory;
+ test_socket_factory* f = reinterpret_cast<test_socket_factory*>(factory);
f->number_of_socket_calls++;
return socket(domain, type, protocol);
}
static int test_socket_factory_bind(grpc_socket_factory* factory, int sockfd,
const grpc_resolved_address* addr) {
- test_socket_factory* f = (test_socket_factory*)factory;
+ test_socket_factory* f = reinterpret_cast<test_socket_factory*>(factory);
f->number_of_bind_calls++;
- return bind(sockfd, (struct sockaddr*)addr->addr, (socklen_t)addr->len);
+ return bind(sockfd,
+ reinterpret_cast<struct sockaddr*>(const_cast<char*>(addr->addr)),
+ static_cast<socklen_t>(addr->len));
}
static int test_socket_factory_compare(grpc_socket_factory* a,
@@ -118,7 +120,7 @@ static int test_socket_factory_compare(grpc_socket_factory* a,
}
static void test_socket_factory_destroy(grpc_socket_factory* factory) {
- test_socket_factory* f = (test_socket_factory*)factory;
+ test_socket_factory* f = reinterpret_cast<test_socket_factory*>(factory);
gpr_free(f);
}
@@ -173,7 +175,8 @@ static void test_no_op_with_port(void) {
g_number_of_orphan_calls = 0;
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
grpc_udp_server* s = grpc_udp_server_create(nullptr);
LOG_TEST("test_no_op_with_port");
@@ -196,7 +199,8 @@ static void test_no_op_with_port_and_socket_factory(void) {
g_number_of_orphan_calls = 0;
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
test_socket_factory* socket_factory = test_socket_factory_create();
grpc_arg socket_factory_arg =
@@ -231,7 +235,8 @@ static void test_no_op_with_port_and_start(void) {
g_number_of_orphan_calls = 0;
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
grpc_udp_server* s = grpc_udp_server_create(nullptr);
LOG_TEST("test_no_op_with_port_and_start");
@@ -256,7 +261,8 @@ static void test_receive(int number_of_clients) {
grpc_pollset_init(g_pollset, &g_mu);
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_storage* addr = (struct sockaddr_storage*)resolved_addr.addr;
+ struct sockaddr_storage* addr =
+ reinterpret_cast<struct sockaddr_storage*>(resolved_addr.addr);
int clifd, svrfd;
grpc_udp_server* s = grpc_udp_server_create(nullptr);
int i;
diff --git a/test/core/iomgr/wakeup_fd_cv_test.cc b/test/core/iomgr/wakeup_fd_cv_test.cc
index c092a8f3bf..a3f3f2008b 100644
--- a/test/core/iomgr/wakeup_fd_cv_test.cc
+++ b/test/core/iomgr/wakeup_fd_cv_test.cc
@@ -25,7 +25,6 @@
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
#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"
@@ -85,7 +84,7 @@ int mock_poll(struct pollfd* fds, nfds_t nfds, int timeout) {
}
void background_poll(void* args) {
- poll_args* pargs = (poll_args*)args;
+ poll_args* pargs = static_cast<poll_args*>(args);
pargs->result = grpc_poll_function(pargs->fds, pargs->nfds, pargs->timeout);
}
diff --git a/test/core/json/json_rewrite.cc b/test/core/json/json_rewrite.cc
index 6891a57f9f..da2f50ec59 100644
--- a/test/core/json/json_rewrite.cc
+++ b/test/core/json/json_rewrite.cc
@@ -20,11 +20,11 @@
#include <stdlib.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
+#include "test/core/util/cmdline.h"
typedef struct json_writer_userdata {
FILE* out;
@@ -86,7 +86,7 @@ static void json_reader_string_add_char(void* userdata, uint32_t c) {
json_reader_userdata* state = static_cast<json_reader_userdata*>(userdata);
check_string(state, 1);
GPR_ASSERT(c < 256);
- state->scratchpad[state->string_len++] = (char)c;
+ state->scratchpad[state->string_len++] = static_cast<char>(c);
}
static void json_reader_string_add_utf32(void* userdata, uint32_t c) {
@@ -122,7 +122,7 @@ static uint32_t json_reader_read_char(void* userdata) {
r = fgetc(state->in);
if (r == EOF) r = GRPC_JSON_READ_CHAR_EOF;
- return (uint32_t)r;
+ return static_cast<uint32_t>(r);
}
static void json_reader_container_begins(void* userdata, grpc_json_type type) {
diff --git a/test/core/json/json_rewrite_test.cc b/test/core/json/json_rewrite_test.cc
index 3104afc442..2fade12e13 100644
--- a/test/core/json/json_rewrite_test.cc
+++ b/test/core/json/json_rewrite_test.cc
@@ -21,9 +21,9 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "test/core/util/test_config.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/json/json_reader.h"
#include "src/core/lib/json/json_writer.h"
@@ -97,7 +97,7 @@ static void json_reader_string_add_char(void* userdata, uint32_t c) {
json_reader_userdata* state = static_cast<json_reader_userdata*>(userdata);
check_string(state, 1);
GPR_ASSERT(c <= 256);
- state->scratchpad[state->string_len++] = (char)c;
+ state->scratchpad[state->string_len++] = static_cast<char>(c);
}
static void json_reader_string_add_utf32(void* userdata, uint32_t c) {
@@ -140,7 +140,7 @@ static uint32_t json_reader_read_char(void* userdata) {
r = fgetc(state->in);
if (r == EOF) r = GRPC_JSON_READ_CHAR_EOF;
- return (uint32_t)r;
+ return static_cast<uint32_t>(r);
}
static void json_reader_container_begins(void* userdata, grpc_json_type type) {
diff --git a/test/core/json/json_stream_error_test.cc b/test/core/json/json_stream_error_test.cc
index b367d3fbf7..00288d6d5e 100644
--- a/test/core/json/json_stream_error_test.cc
+++ b/test/core/json/json_stream_error_test.cc
@@ -21,7 +21,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "test/core/util/test_config.h"
#include "src/core/lib/json/json_reader.h"
diff --git a/test/core/json/json_test.cc b/test/core/json/json_test.cc
index 902f1cd90e..7f1dbb774a 100644
--- a/test/core/json/json_test.cc
+++ b/test/core/json/json_test.cc
@@ -21,8 +21,8 @@
#include <grpc/support/alloc.h>
#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/gpr/useful.h"
#include "src/core/lib/json/json.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 ca841434aa..3c3fa53b51 100644
--- a/test/core/memory_usage/client.cc
+++ b/test/core/memory_usage/client.cc
@@ -24,12 +24,13 @@
#include <grpc/byte_buffer.h>
#include <grpc/byte_buffer_reader.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/time.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/useful.h"
+
+#include "test/core/util/cmdline.h"
#include "test/core/util/memory_counters.h"
#include "test/core/util/test_config.h"
@@ -154,16 +155,20 @@ static struct grpc_memory_counters send_snapshot_request(int call_idx,
struct grpc_memory_counters snapshot;
snapshot.total_size_absolute =
- ((struct grpc_memory_counters*)GRPC_SLICE_START_PTR(response))
+ (reinterpret_cast<struct grpc_memory_counters*> GRPC_SLICE_START_PTR(
+ response))
->total_size_absolute;
snapshot.total_allocs_absolute =
- ((struct grpc_memory_counters*)GRPC_SLICE_START_PTR(response))
+ (reinterpret_cast<struct grpc_memory_counters*> GRPC_SLICE_START_PTR(
+ response))
->total_allocs_absolute;
snapshot.total_size_relative =
- ((struct grpc_memory_counters*)GRPC_SLICE_START_PTR(response))
+ (reinterpret_cast<struct grpc_memory_counters*> GRPC_SLICE_START_PTR(
+ response))
->total_size_relative;
snapshot.total_allocs_relative =
- ((struct grpc_memory_counters*)GRPC_SLICE_START_PTR(response))
+ (reinterpret_cast<struct grpc_memory_counters*> GRPC_SLICE_START_PTR(
+ response))
->total_allocs_relative;
grpc_metadata_array_destroy(&calls[call_idx].initial_metadata_recv);
@@ -283,10 +288,11 @@ int main(int argc, char** argv) {
grpc_shutdown();
gpr_log(GPR_INFO, "---------client stats--------");
- gpr_log(GPR_INFO, "client call memory usage: %f bytes per call",
- (double)(client_calls_inflight.total_size_relative -
- client_benchmark_calls_start.total_size_relative) /
- benchmark_iterations);
+ gpr_log(
+ GPR_INFO, "client call memory usage: %f bytes per call",
+ static_cast<double>(client_calls_inflight.total_size_relative -
+ client_benchmark_calls_start.total_size_relative) /
+ benchmark_iterations);
gpr_log(GPR_INFO, "client channel memory usage %zi bytes",
client_channel_end.total_size_relative -
client_channel_start.total_size_relative);
@@ -295,10 +301,11 @@ int main(int argc, char** argv) {
gpr_log(GPR_INFO, "server create: %zi bytes",
after_server_create.total_size_relative -
before_server_create.total_size_relative);
- gpr_log(GPR_INFO, "server call memory usage: %f bytes per call",
- (double)(server_calls_inflight.total_size_relative -
- server_benchmark_calls_start.total_size_relative) /
- benchmark_iterations);
+ gpr_log(
+ GPR_INFO, "server call memory usage: %f bytes per call",
+ static_cast<double>(server_calls_inflight.total_size_relative -
+ server_benchmark_calls_start.total_size_relative) /
+ benchmark_iterations);
gpr_log(GPR_INFO, "server channel memory usage %zi bytes",
server_calls_end.total_size_relative -
after_server_create.total_size_relative);
@@ -308,21 +315,22 @@ int main(int argc, char** argv) {
if (csv) {
char* env_build = gpr_getenv("BUILD_NUMBER");
char* env_job = gpr_getenv("JOB_NAME");
- fprintf(csv, "%f,%zi,%zi,%f,%zi,%s,%s\n",
- (double)(client_calls_inflight.total_size_relative -
- client_benchmark_calls_start.total_size_relative) /
- benchmark_iterations,
- client_channel_end.total_size_relative -
- client_channel_start.total_size_relative,
- after_server_create.total_size_relative -
- before_server_create.total_size_relative,
- (double)(server_calls_inflight.total_size_relative -
- server_benchmark_calls_start.total_size_relative) /
- benchmark_iterations,
- server_calls_end.total_size_relative -
- after_server_create.total_size_relative,
- env_build == nullptr ? "" : env_build,
- env_job == nullptr ? "" : env_job);
+ fprintf(
+ csv, "%f,%zi,%zi,%f,%zi,%s,%s\n",
+ static_cast<double>(client_calls_inflight.total_size_relative -
+ client_benchmark_calls_start.total_size_relative) /
+ benchmark_iterations,
+ client_channel_end.total_size_relative -
+ client_channel_start.total_size_relative,
+ after_server_create.total_size_relative -
+ before_server_create.total_size_relative,
+ static_cast<double>(server_calls_inflight.total_size_relative -
+ server_benchmark_calls_start.total_size_relative) /
+ benchmark_iterations,
+ server_calls_end.total_size_relative -
+ after_server_create.total_size_relative,
+ env_build == nullptr ? "" : env_build,
+ env_job == nullptr ? "" : env_job);
fclose(csv);
gpr_log(GPR_INFO, "Summary written to %s", csv_file);
}
diff --git a/test/core/memory_usage/memory_usage_test.cc b/test/core/memory_usage/memory_usage_test.cc
index fb6d290130..c170f5ad26 100644
--- a/test/core/memory_usage/memory_usage_test.cc
+++ b/test/core/memory_usage/memory_usage_test.cc
@@ -20,11 +20,12 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/gpr/string.h"
#include "test/core/util/port.h"
+#include "test/core/util/subprocess.h"
int main(int argc, char** argv) {
char* me = argv[0];
@@ -36,7 +37,7 @@ int main(int argc, char** argv) {
gpr_subprocess *svr, *cli;
/* figure out where we are */
if (lslash) {
- memcpy(root, me, (size_t)(lslash - me));
+ memcpy(root, me, static_cast<size_t>(lslash - me));
root[lslash - me] = 0;
} else {
strcpy(root, ".");
diff --git a/test/core/memory_usage/server.cc b/test/core/memory_usage/server.cc
index 45aeaea661..3e7bb7e11f 100644
--- a/test/core/memory_usage/server.cc
+++ b/test/core/memory_usage/server.cc
@@ -30,11 +30,12 @@
#endif
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "test/core/end2end/data/ssl_test_data.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/memory_counters.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
@@ -72,7 +73,7 @@ typedef struct {
static fling_call calls[100006];
static void request_call_unary(int call_idx) {
- if (call_idx == (int)(sizeof(calls) / sizeof(fling_call))) {
+ if (call_idx == static_cast<int>(sizeof(calls) / sizeof(fling_call))) {
gpr_log(GPR_INFO, "Used all call slots (10000) on server. Server exit.");
_exit(0);
}
@@ -83,7 +84,8 @@ static void request_call_unary(int call_idx) {
}
static void send_initial_metadata_unary(void* tag) {
- grpc_metadata_array_init(&(*(fling_call*)tag).initial_metadata_send);
+ grpc_metadata_array_init(
+ &(*static_cast<fling_call*>(tag)).initial_metadata_send);
metadata_ops[0].op = GRPC_OP_SEND_INITIAL_METADATA;
metadata_ops[0].data.send_initial_metadata.count = 0;
@@ -110,7 +112,8 @@ static void send_snapshot(void* tag, struct grpc_memory_counters* snapshot) {
grpc_slice snapshot_slice =
grpc_slice_new(snapshot, sizeof(*snapshot), gpr_free);
payload_buffer = grpc_raw_byte_buffer_create(&snapshot_slice, 1);
- grpc_metadata_array_init(&(*(fling_call*)tag).initial_metadata_send);
+ grpc_metadata_array_init(
+ &(*static_cast<fling_call*>(tag)).initial_metadata_send);
op = snapshot_ops;
op->op = GRPC_OP_SEND_INITIAL_METADATA;
@@ -162,7 +165,7 @@ int main(int argc, char** argv) {
grpc_test_init(1, fake_argv);
grpc_init();
- srand((unsigned)clock());
+ srand(static_cast<unsigned>(clock()));
cl = gpr_cmdline_create("fling server");
gpr_cmdline_add_string(cl, "bind", "Bind host:port", &addr);
@@ -203,7 +206,8 @@ int main(int argc, char** argv) {
addr = addr_buf = nullptr;
// initialize call instances
- for (int i = 0; i < (int)(sizeof(calls) / sizeof(fling_call)); i++) {
+ for (int i = 0; i < static_cast<int>(sizeof(calls) / sizeof(fling_call));
+ i++) {
grpc_call_details_init(&calls[i].call_details);
calls[i].state = FLING_SERVER_NEW_REQUEST;
}
@@ -280,7 +284,8 @@ int main(int argc, char** argv) {
grpc_metadata_array_destroy(&s->request_metadata_recv);
break;
case FLING_SERVER_BATCH_SEND_STATUS_FLING_CALL:
- for (int k = 0; k < (int)(sizeof(calls) / sizeof(fling_call));
+ for (int k = 0;
+ k < static_cast<int>(sizeof(calls) / sizeof(fling_call));
++k) {
if (calls[k].state == FLING_SERVER_WAIT_FOR_DESTROY) {
calls[k].state = FLING_SERVER_SEND_STATUS_FLING_CALL;
diff --git a/test/core/network_benchmarks/low_level_ping_pong.cc b/test/core/network_benchmarks/low_level_ping_pong.cc
index fb982a10fd..52c423b14a 100644
--- a/test/core/network_benchmarks/low_level_ping_pong.cc
+++ b/test/core/network_benchmarks/low_level_ping_pong.cc
@@ -35,13 +35,14 @@
#include <sys/socket.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/histogram.h"
typedef struct fd_pair {
@@ -83,7 +84,7 @@ static int read_bytes(int fd, char* buf, size_t read_size, int spin) {
return -1;
}
} else {
- bytes_read += (size_t)err;
+ bytes_read += static_cast<size_t>(err);
}
} while (bytes_read < read_size);
return 0;
@@ -126,7 +127,7 @@ static int poll_read_bytes(int fd, char* buf, size_t read_size, int spin) {
gpr_log(GPR_ERROR, "Read failed: %s", strerror(errno));
return -1;
}
- bytes_read += (size_t)err2;
+ bytes_read += static_cast<size_t>(err2);
} while (bytes_read < read_size);
return 0;
}
@@ -165,7 +166,7 @@ static int epoll_read_bytes(struct thread_args* args, char* buf, int spin) {
read(args->fds.read_fd, buf + bytes_read, read_size - bytes_read);
} while (err2 < 0 && errno == EINTR);
if (errno == EAGAIN) break;
- bytes_read += (size_t)err2;
+ bytes_read += static_cast<size_t>(err2);
/* TODO(klempner): This should really be doing an extra call after we are
done to ensure we see an EAGAIN */
} while (bytes_read < read_size);
@@ -202,7 +203,7 @@ static int blocking_write_bytes(struct thread_args* args, char* buf) {
return -1;
}
} else {
- bytes_written += (size_t)err;
+ bytes_written += static_cast<size_t>(err);
}
} while (bytes_written < write_size);
return 0;
@@ -287,7 +288,7 @@ static void print_histogram(grpc_histogram* histogram) {
static double now(void) {
gpr_timespec tv = gpr_now(GPR_CLOCK_REALTIME);
- return 1e9 * (double)tv.tv_sec + (double)tv.tv_nsec;
+ return 1e9 * static_cast<double>(tv.tv_sec) + static_cast<double>(tv.tv_nsec);
}
static void client_thread(thread_args* args) {
@@ -419,7 +420,7 @@ static int create_sockets_tcp(fd_pair* client_fds, fd_pair* server_fds) {
int server_fd = -1;
struct sockaddr_in port;
- struct sockaddr* sa_port = (struct sockaddr*)&port;
+ struct sockaddr* sa_port = reinterpret_cast<struct sockaddr*>(&port);
port.sin_family = AF_INET;
port.sin_port = 0;
@@ -651,7 +652,7 @@ int main(int argc, char** argv) {
if (read_strategy == nullptr) {
gpr_log(GPR_INFO, "No strategy specified, running all benchmarks");
- return run_all_benchmarks((size_t)msg_size);
+ return run_all_benchmarks(static_cast<size_t>(msg_size));
}
if (socket_type == nullptr) {
@@ -678,12 +679,12 @@ int main(int argc, char** argv) {
client_args->read_bytes = strategy->read_strategy;
client_args->write_bytes = blocking_write_bytes;
client_args->setup = strategy->setup;
- client_args->msg_size = (size_t)msg_size;
+ client_args->msg_size = static_cast<size_t>(msg_size);
client_args->strategy_name = read_strategy;
server_args->read_bytes = strategy->read_strategy;
server_args->write_bytes = blocking_write_bytes;
server_args->setup = strategy->setup;
- server_args->msg_size = (size_t)msg_size;
+ server_args->msg_size = static_cast<size_t>(msg_size);
server_args->strategy_name = read_strategy;
error = run_benchmark(socket_type, client_args, server_args);
diff --git a/test/core/security/BUILD b/test/core/security/BUILD
index 7cd3ae58da..425c617fd1 100644
--- a/test/core/security/BUILD
+++ b/test/core/security/BUILD
@@ -110,6 +110,7 @@ grpc_cc_binary(
deps = [
"//:gpr",
"//:grpc",
+ "//test/core/util:grpc_test_util",
],
)
@@ -121,6 +122,7 @@ grpc_cc_binary(
":oauth2_utils",
"//:gpr",
"//:grpc",
+ "//test/core/util:grpc_test_util",
],
)
@@ -131,5 +133,6 @@ grpc_cc_binary(
deps = [
"//:gpr",
"//:grpc",
+ "//test/core/util:grpc_test_util",
],
)
diff --git a/test/core/security/create_jwt.cc b/test/core/security/create_jwt.cc
index 56ae9c891c..2ea640b605 100644
--- a/test/core/security/create_jwt.cc
+++ b/test/core/security/create_jwt.cc
@@ -24,9 +24,10 @@
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
+#include "test/core/util/cmdline.h"
+
void create_jwt(const char* json_key_file_path, const char* service_url,
const char* scope) {
grpc_auth_json_key key;
@@ -35,7 +36,7 @@ void create_jwt(const char* json_key_file_path, const char* service_url,
GPR_ASSERT(GRPC_LOG_IF_ERROR(
"load_file", grpc_load_file(json_key_file_path, 1, &json_key_data)));
key = grpc_auth_json_key_create_from_string(
- (const char*)GRPC_SLICE_START_PTR(json_key_data));
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(json_key_data));
grpc_slice_unref(json_key_data);
if (!grpc_auth_json_key_is_valid(&key)) {
fprintf(stderr, "Could not parse json key.\n");
diff --git a/test/core/security/credentials_test.cc b/test/core/security/credentials_test.cc
index 90310469aa..ce92e21d73 100644
--- a/test/core/security/credentials_test.cc
+++ b/test/core/security/credentials_test.cc
@@ -140,7 +140,7 @@ static grpc_httpcli_response http_response(int status, const char* body) {
grpc_httpcli_response response;
memset(&response, 0, sizeof(grpc_httpcli_response));
response.status = status;
- response.body = gpr_strdup((char*)body);
+ response.body = gpr_strdup(const_cast<char*>(body));
response.body_length = strlen(body);
return response;
}
@@ -324,7 +324,7 @@ static void check_metadata(const expected_md* expected,
}
static void check_request_metadata(void* arg, grpc_error* error) {
- request_metadata_state* state = (request_metadata_state*)arg;
+ request_metadata_state* state = static_cast<request_metadata_state*>(arg);
gpr_log(GPR_INFO, "expected_error: %s",
grpc_error_string(state->expected_error));
gpr_log(GPR_INFO, "actual_error: %s", grpc_error_string(error));
@@ -754,7 +754,7 @@ static grpc_service_account_jwt_access_credentials* creds_as_jwt(
grpc_call_credentials* creds) {
GPR_ASSERT(creds != nullptr);
GPR_ASSERT(strcmp(creds->type, GRPC_CALL_CREDENTIALS_TYPE_JWT) == 0);
- return (grpc_service_account_jwt_access_credentials*)creds;
+ return reinterpret_cast<grpc_service_account_jwt_access_credentials*>(creds);
}
static void test_jwt_creds_lifetime(void) {
@@ -873,10 +873,11 @@ static void test_google_default_creds_auth_key(void) {
set_google_default_creds_env_var_with_file_contents(
"json_key_google_default_creds", json_key);
gpr_free(json_key);
- creds = (grpc_composite_channel_credentials*)
- grpc_google_default_credentials_create();
+ creds = reinterpret_cast<grpc_composite_channel_credentials*>(
+ grpc_google_default_credentials_create());
GPR_ASSERT(creds != nullptr);
- jwt = (grpc_service_account_jwt_access_credentials*)creds->call_creds;
+ jwt = reinterpret_cast<grpc_service_account_jwt_access_credentials*>(
+ creds->call_creds);
GPR_ASSERT(
strcmp(jwt->key.client_id,
"777-abaslkan11hlb6nmim3bpspl31ud.apps.googleusercontent.com") ==
@@ -892,10 +893,11 @@ static void test_google_default_creds_refresh_token(void) {
grpc_flush_cached_google_default_credentials();
set_google_default_creds_env_var_with_file_contents(
"refresh_token_google_default_creds", test_refresh_token_str);
- creds = (grpc_composite_channel_credentials*)
- grpc_google_default_credentials_create();
+ creds = reinterpret_cast<grpc_composite_channel_credentials*>(
+ grpc_google_default_credentials_create());
GPR_ASSERT(creds != nullptr);
- refresh = (grpc_google_refresh_token_credentials*)creds->call_creds;
+ refresh = reinterpret_cast<grpc_google_refresh_token_credentials*>(
+ creds->call_creds);
GPR_ASSERT(strcmp(refresh->refresh_token.client_id,
"32555999999.apps.googleusercontent.com") == 0);
grpc_channel_credentials_unref(&creds->base);
@@ -938,8 +940,8 @@ static void test_google_default_creds_gce(void) {
default_creds_gce_detection_httpcli_get_success_override,
httpcli_post_should_not_be_called);
grpc_composite_channel_credentials* creds =
- (grpc_composite_channel_credentials*)
- grpc_google_default_credentials_create();
+ reinterpret_cast<grpc_composite_channel_credentials*>(
+ grpc_google_default_credentials_create());
/* Verify that the default creds actually embeds a GCE creds. */
GPR_ASSERT(creds != nullptr);
@@ -1018,7 +1020,7 @@ static int plugin_get_metadata_success(
GPR_ASSERT(context.reserved == nullptr);
GPR_ASSERT(GPR_ARRAY_SIZE(plugin_md) <
GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX);
- plugin_state* s = (plugin_state*)state;
+ plugin_state* s = static_cast<plugin_state*>(state);
*s = PLUGIN_GET_METADATA_CALLED_STATE;
for (size_t i = 0; i < GPR_ARRAY_SIZE(plugin_md); ++i) {
memset(&creds_md[i], 0, sizeof(grpc_metadata));
@@ -1041,7 +1043,7 @@ static int plugin_get_metadata_failure(
GPR_ASSERT(strcmp(context.method_name, test_method) == 0);
GPR_ASSERT(context.channel_auth_context == nullptr);
GPR_ASSERT(context.reserved == nullptr);
- plugin_state* s = (plugin_state*)state;
+ plugin_state* s = static_cast<plugin_state*>(state);
*s = PLUGIN_GET_METADATA_CALLED_STATE;
*status = GRPC_STATUS_UNAUTHENTICATED;
*error_details = gpr_strdup(plugin_error_details);
@@ -1049,7 +1051,7 @@ static int plugin_get_metadata_failure(
}
static void plugin_destroy(void* state) {
- plugin_state* s = (plugin_state*)state;
+ plugin_state* s = static_cast<plugin_state*>(state);
*s = PLUGIN_DESTROY_CALLED_STATE;
}
diff --git a/test/core/security/fetch_oauth2.cc b/test/core/security/fetch_oauth2.cc
index cb28a0487c..82efe682be 100644
--- a/test/core/security/fetch_oauth2.cc
+++ b/test/core/security/fetch_oauth2.cc
@@ -23,13 +23,13 @@
#include <grpc/grpc_security.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/lib/iomgr/load_file.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "test/core/security/oauth2_utils.h"
+#include "test/core/util/cmdline.h"
static grpc_call_credentials* create_refresh_token_creds(
const char* json_refresh_token_file_path) {
@@ -38,7 +38,8 @@ static grpc_call_credentials* create_refresh_token_creds(
"load_file",
grpc_load_file(json_refresh_token_file_path, 1, &refresh_token)));
return grpc_google_refresh_token_credentials_create(
- (const char*)GRPC_SLICE_START_PTR(refresh_token), nullptr);
+ reinterpret_cast<const char*> GRPC_SLICE_START_PTR(refresh_token),
+ nullptr);
}
int main(int argc, char** argv) {
diff --git a/test/core/security/json_token_test.cc b/test/core/security/json_token_test.cc
index aac9cc0029..7a5b3355fe 100644
--- a/test/core/security/json_token_test.cc
+++ b/test/core/security/json_token_test.cc
@@ -218,7 +218,7 @@ static grpc_json* parse_json_part_from_jwt(const char* str, size_t len,
slice = grpc_base64_decode(b64, 1);
GPR_ASSERT(!GRPC_SLICE_IS_EMPTY(slice));
decoded = static_cast<char*>(gpr_malloc(GRPC_SLICE_LENGTH(slice) + 1));
- strncpy(decoded, (const char*)GRPC_SLICE_START_PTR(slice),
+ strncpy(decoded, reinterpret_cast<const char*> GRPC_SLICE_START_PTR(slice),
GRPC_SLICE_LENGTH(slice));
decoded[GRPC_SLICE_LENGTH(slice)] = '\0';
json = grpc_json_parse_string(decoded);
@@ -385,21 +385,21 @@ static void test_jwt_encode_and_sign(
char* jwt = jwt_encode_and_sign_func(&json_key);
const char* dot = strchr(jwt, '.');
GPR_ASSERT(dot != nullptr);
- parsed_header =
- parse_json_part_from_jwt(jwt, (size_t)(dot - jwt), &scratchpad);
+ parsed_header = parse_json_part_from_jwt(jwt, static_cast<size_t>(dot - jwt),
+ &scratchpad);
GPR_ASSERT(parsed_header != nullptr);
check_jwt_header(parsed_header);
- offset = (size_t)(dot - jwt) + 1;
+ offset = static_cast<size_t>(dot - jwt) + 1;
grpc_json_destroy(parsed_header);
gpr_free(scratchpad);
dot = strchr(jwt + offset, '.');
GPR_ASSERT(dot != nullptr);
parsed_claim = parse_json_part_from_jwt(
- jwt + offset, (size_t)(dot - (jwt + offset)), &scratchpad);
+ jwt + offset, static_cast<size_t>(dot - (jwt + offset)), &scratchpad);
GPR_ASSERT(parsed_claim != nullptr);
check_jwt_claim_func(parsed_claim);
- offset = (size_t)(dot - jwt) + 1;
+ offset = static_cast<size_t>(dot - jwt) + 1;
grpc_json_destroy(parsed_claim);
gpr_free(scratchpad);
diff --git a/test/core/security/jwt_verifier_test.cc b/test/core/security/jwt_verifier_test.cc
index e219260b1d..9718580a08 100644
--- a/test/core/security/jwt_verifier_test.cc
+++ b/test/core/security/jwt_verifier_test.cc
@@ -207,7 +207,7 @@ static void test_claims_success(void) {
grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_without_time_constraint);
grpc_json* json = grpc_json_parse_string_with_len(
- (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != nullptr);
grpc_core::ExecCtx exec_ctx;
claims = grpc_jwt_claims_from_json(json, s);
@@ -226,7 +226,7 @@ static void test_expired_claims_failure(void) {
grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(expired_claims);
grpc_json* json = grpc_json_parse_string_with_len(
- (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
gpr_timespec exp_iat = {100, 0, GPR_CLOCK_REALTIME};
gpr_timespec exp_exp = {120, 0, GPR_CLOCK_REALTIME};
gpr_timespec exp_nbf = {60, 0, GPR_CLOCK_REALTIME};
@@ -251,7 +251,7 @@ static void test_expired_claims_failure(void) {
static void test_invalid_claims_failure(void) {
grpc_slice s = grpc_slice_from_copied_string(invalid_claims);
grpc_json* json = grpc_json_parse_string_with_len(
- (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
grpc_core::ExecCtx exec_ctx;
GPR_ASSERT(grpc_jwt_claims_from_json(json, s) == nullptr);
}
@@ -260,7 +260,7 @@ static void test_bad_audience_claims_failure(void) {
grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_without_time_constraint);
grpc_json* json = grpc_json_parse_string_with_len(
- (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != nullptr);
grpc_core::ExecCtx exec_ctx;
claims = grpc_jwt_claims_from_json(json, s);
@@ -274,7 +274,7 @@ static void test_bad_subject_claims_failure(void) {
grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_with_bad_subject);
grpc_json* json = grpc_json_parse_string_with_len(
- (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != nullptr);
grpc_core::ExecCtx exec_ctx;
claims = grpc_jwt_claims_from_json(json, s);
diff --git a/test/core/security/oauth2_utils.cc b/test/core/security/oauth2_utils.cc
index 0d3a1279af..469129a6d0 100644
--- a/test/core/security/oauth2_utils.cc
+++ b/test/core/security/oauth2_utils.cc
@@ -40,7 +40,7 @@ typedef struct {
} oauth2_request;
static void on_oauth2_response(void* arg, grpc_error* error) {
- oauth2_request* request = (oauth2_request*)arg;
+ oauth2_request* request = static_cast<oauth2_request*>(arg);
char* token = nullptr;
grpc_slice token_slice;
if (error != GRPC_ERROR_NONE) {
@@ -48,7 +48,7 @@ static void on_oauth2_response(void* arg, grpc_error* error) {
} else {
GPR_ASSERT(request->md_array.size == 1);
token_slice = GRPC_MDVALUE(request->md_array.md[0]);
- token = (char*)gpr_malloc(GRPC_SLICE_LENGTH(token_slice) + 1);
+ token = static_cast<char*>(gpr_malloc(GRPC_SLICE_LENGTH(token_slice) + 1));
memcpy(token, GRPC_SLICE_START_PTR(token_slice),
GRPC_SLICE_LENGTH(token_slice));
token[GRPC_SLICE_LENGTH(token_slice)] = '\0';
@@ -73,7 +73,8 @@ char* grpc_test_fetch_oauth2_token_with_credentials(
grpc_closure do_nothing_closure;
grpc_auth_metadata_context null_ctx = {"", "", nullptr, nullptr};
- grpc_pollset* pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ grpc_pollset* pollset =
+ static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(pollset, &request.mu);
request.pops = grpc_polling_entity_create_from_pollset(pollset);
request.is_done = false;
diff --git a/test/core/security/print_google_default_creds_token.cc b/test/core/security/print_google_default_creds_token.cc
index a90f997bda..4d251391ff 100644
--- a/test/core/security/print_google_default_creds_token.cc
+++ b/test/core/security/print_google_default_creds_token.cc
@@ -23,7 +23,6 @@
#include <grpc/grpc_security.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
@@ -31,6 +30,7 @@
#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 "test/core/util/cmdline.h"
typedef struct {
gpr_mu* mu;
@@ -88,7 +88,7 @@ int main(int argc, char** argv) {
}
memset(&sync, 0, sizeof(sync));
- pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ pollset = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(pollset, &sync.mu);
sync.pops = grpc_polling_entity_create_from_pollset(pollset);
sync.is_done = false;
@@ -97,8 +97,10 @@ int main(int argc, char** argv) {
error = GRPC_ERROR_NONE;
if (grpc_call_credentials_get_request_metadata(
- ((grpc_composite_channel_credentials*)creds)->call_creds, &sync.pops,
- context, &sync.md_array, &sync.on_request_metadata, &error)) {
+ (reinterpret_cast<grpc_composite_channel_credentials*>(creds))
+ ->call_creds,
+ &sync.pops, context, &sync.md_array, &sync.on_request_metadata,
+ &error)) {
// Synchronous response. Invoke callback directly.
on_metadata_response(&sync, error);
GRPC_ERROR_UNREF(error);
diff --git a/test/core/security/secure_endpoint_test.cc b/test/core/security/secure_endpoint_test.cc
index 38c78fed42..23cef99dfa 100644
--- a/test/core/security/secure_endpoint_test.cc
+++ b/test/core/security/secure_endpoint_test.cc
@@ -24,7 +24,7 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/endpoint_pair.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/security/transport/secure_endpoint.h"
@@ -57,7 +57,7 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair(
grpc_arg a[1];
a[0].key = const_cast<char*>(GRPC_ARG_TCP_READ_CHUNK_SIZE);
a[0].type = GRPC_ARG_INTEGER;
- a[0].value.integer = (int)slice_size;
+ a[0].value.integer = static_cast<int>(slice_size);
grpc_channel_args args = {GPR_ARRAY_SIZE(a), a};
tcp = grpc_iomgr_create_endpoint_pair("fixture", &args);
grpc_endpoint_add_to_pollset(tcp.client, g_pollset);
@@ -73,7 +73,7 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair(
size_t still_pending_size;
size_t total_buffer_size = 8192;
size_t buffer_size = total_buffer_size;
- uint8_t* encrypted_buffer = (uint8_t*)gpr_malloc(buffer_size);
+ uint8_t* encrypted_buffer = static_cast<uint8_t*>(gpr_malloc(buffer_size));
uint8_t* cur = encrypted_buffer;
grpc_slice encrypted_leftover;
for (i = 0; i < leftover_nslices; i++) {
@@ -106,7 +106,8 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair(
buffer_size -= protected_buffer_size_to_send;
} while (still_pending_size > 0);
encrypted_leftover = grpc_slice_from_copied_buffer(
- (const char*)encrypted_buffer, total_buffer_size - buffer_size);
+ reinterpret_cast<const char*>(encrypted_buffer),
+ total_buffer_size - buffer_size);
f.client_ep = grpc_secure_endpoint_create(
fake_read_protector, fake_read_zero_copy_protector, tcp.client,
&encrypted_leftover, 1);
@@ -165,7 +166,9 @@ static grpc_endpoint_test_config configs[] = {
clean_up},
};
-static void inc_call_ctr(void* arg, grpc_error* error) { ++*(int*)arg; }
+static void inc_call_ctr(void* arg, grpc_error* error) {
+ ++*static_cast<int*>(arg);
+}
static void test_leftover(grpc_endpoint_test_config config, size_t slice_size) {
grpc_endpoint_test_fixture f = config.create_fixture(slice_size);
@@ -200,7 +203,7 @@ static void test_leftover(grpc_endpoint_test_config config, size_t slice_size) {
}
static void destroy_pollset(void* p, grpc_error* error) {
- grpc_pollset_destroy((grpc_pollset*)p);
+ grpc_pollset_destroy(static_cast<grpc_pollset*>(p));
}
int main(int argc, char** argv) {
@@ -210,7 +213,7 @@ int main(int argc, char** argv) {
{
grpc_core::ExecCtx exec_ctx;
- g_pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ g_pollset = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(g_pollset, &g_mu);
grpc_endpoint_tests(configs[0], g_pollset, g_mu);
grpc_endpoint_tests(configs[1], g_pollset, g_mu);
diff --git a/test/core/security/security_connector_test.cc b/test/core/security/security_connector_test.cc
index 6eaef2bf49..e4731fb039 100644
--- a/test/core/security/security_connector_test.cc
+++ b/test/core/security/security_connector_test.cc
@@ -23,7 +23,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#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"
diff --git a/test/core/security/verify_jwt.cc b/test/core/security/verify_jwt.cc
index 5d32ce0cdb..61dde0e7d9 100644
--- a/test/core/security/verify_jwt.cc
+++ b/test/core/security/verify_jwt.cc
@@ -23,11 +23,11 @@
#include <grpc/grpc_security.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/lib/security/credentials/jwt/jwt_verifier.h"
+#include "test/core/util/cmdline.h"
typedef struct {
grpc_pollset* pollset;
@@ -54,8 +54,8 @@ static void on_jwt_verification_done(void* user_data,
if (sync->success) {
char* claims_str;
GPR_ASSERT(claims != nullptr);
- claims_str =
- grpc_json_dump_to_string((grpc_json*)grpc_jwt_claims_json(claims), 2);
+ claims_str = grpc_json_dump_to_string(
+ const_cast<grpc_json*>(grpc_jwt_claims_json(claims)), 2);
printf("Claims: \n\n%s\n", claims_str);
gpr_free(claims_str);
grpc_jwt_claims_destroy(claims);
diff --git a/test/core/slice/b64_test.cc b/test/core/slice/b64_test.cc
index 94785fd1e2..6b29443ba1 100644
--- a/test/core/slice/b64_test.cc
+++ b/test/core/slice/b64_test.cc
@@ -34,7 +34,7 @@ static int buffers_are_equal(const unsigned char* buf1,
for (i = 0; i < size; i++) {
if (buf1[i] != buf2[i]) {
gpr_log(GPR_ERROR, "buf1 and buf2 differ: buf1[%d] = %x vs buf2[%d] = %x",
- (int)i, buf1[i], (int)i, buf2[i]);
+ static_cast<int>(i), buf1[i], static_cast<int>(i), buf2[i]);
return 0;
}
}
@@ -61,7 +61,7 @@ static void test_full_range_encode_decode_b64(int url_safe, int multiline) {
size_t i;
char* b64;
grpc_slice orig_decoded;
- for (i = 0; i < sizeof(orig); i++) orig[i] = (uint8_t)i;
+ for (i = 0; i < sizeof(orig); i++) orig[i] = static_cast<uint8_t>(i);
/* Try all the different paddings. */
for (i = 0; i < 3; i++) {
@@ -114,7 +114,7 @@ static void test_url_safe_unsafe_mismatch_failure(void) {
char* b64;
grpc_slice orig_decoded;
int url_safe = 1;
- for (i = 0; i < sizeof(orig); i++) orig[i] = (uint8_t)i;
+ for (i = 0; i < sizeof(orig); i++) orig[i] = static_cast<uint8_t>(i);
grpc_core::ExecCtx exec_ctx;
b64 = grpc_base64_encode(orig, sizeof(orig), url_safe, 0);
diff --git a/test/core/slice/percent_encode_fuzzer.cc b/test/core/slice/percent_encode_fuzzer.cc
index 201ae2790e..1fd197e180 100644
--- a/test/core/slice/percent_encode_fuzzer.cc
+++ b/test/core/slice/percent_encode_fuzzer.cc
@@ -34,7 +34,8 @@ static void test(const uint8_t* data, size_t size, const uint8_t* dict) {
struct grpc_memory_counters counters;
grpc_init();
grpc_memory_counters_init();
- grpc_slice input = grpc_slice_from_copied_buffer((const char*)data, size);
+ grpc_slice input =
+ grpc_slice_from_copied_buffer(reinterpret_cast<const char*>(data), size);
grpc_slice output = grpc_percent_encode_slice(input, dict);
grpc_slice decoded_output;
// encoder must always produce decodable output
diff --git a/test/core/slice/slice_string_helpers_test.cc b/test/core/slice/slice_string_helpers_test.cc
index 1e38f8daca..860a1bfe03 100644
--- a/test/core/slice/slice_string_helpers_test.cc
+++ b/test/core/slice/slice_string_helpers_test.cc
@@ -26,7 +26,6 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/slice/slice_test.cc b/test/core/slice/slice_test.cc
index e40154dd0e..5a49793a9e 100644
--- a/test/core/slice/slice_test.cc
+++ b/test/core/slice/slice_test.cc
@@ -57,7 +57,7 @@ static void test_slice_malloc_returns_something_sensible(void) {
}
/* We must be able to write to every byte of the data */
for (i = 0; i < length; i++) {
- GRPC_SLICE_START_PTR(slice)[i] = (uint8_t)i;
+ GRPC_SLICE_START_PTR(slice)[i] = static_cast<uint8_t>(i);
}
/* And finally we must succeed in destroying the slice */
grpc_slice_unref(slice);
@@ -77,7 +77,7 @@ static void test_slice_new_returns_something_sensible(void) {
}
/* destroy function that sets a mark to indicate it was called. */
-static void set_mark(void* p) { *((int*)p) = 1; }
+static void set_mark(void* p) { *(static_cast<int*>(p)) = 1; }
static void test_slice_new_with_user_data(void) {
int marker = 0;
@@ -143,7 +143,7 @@ static void test_slice_sub_works(unsigned length) {
beginning of the slice. */
slice = grpc_slice_malloc(length);
for (i = 0; i < length; i++) {
- GRPC_SLICE_START_PTR(slice)[i] = (uint8_t)i;
+ GRPC_SLICE_START_PTR(slice)[i] = static_cast<uint8_t>(i);
}
/* Ensure that for all subsets length is correct and that we start on the
@@ -183,7 +183,7 @@ static void test_slice_split_head_works(size_t length) {
beginning of the slice. */
slice = grpc_slice_malloc(length);
for (i = 0; i < length; i++) {
- GRPC_SLICE_START_PTR(slice)[i] = (uint8_t)i;
+ GRPC_SLICE_START_PTR(slice)[i] = static_cast<uint8_t>(i);
}
/* Ensure that for all subsets length is correct and that we start on the
@@ -211,7 +211,7 @@ static void test_slice_split_tail_works(size_t length) {
beginning of the slice. */
slice = grpc_slice_malloc(length);
for (i = 0; i < length; i++) {
- GRPC_SLICE_START_PTR(slice)[i] = (uint8_t)i;
+ GRPC_SLICE_START_PTR(slice)[i] = static_cast<uint8_t>(i);
}
/* Ensure that for all subsets length is correct and that we start on the
diff --git a/test/core/surface/BUILD b/test/core/surface/BUILD
index 6cec7feabc..d27123d1a3 100644
--- a/test/core/surface/BUILD
+++ b/test/core/surface/BUILD
@@ -19,18 +19,6 @@ licenses(["notice"]) # Apache v2
grpc_package(name = "test/core/surface")
grpc_cc_test(
- name = "alarm_test",
- srcs = ["alarm_test.cc"],
- language = "C++",
- deps = [
- "//:gpr",
- "//:grpc",
- "//test/core/util:gpr_test_util",
- "//test/core/util:grpc_test_util",
- ],
-)
-
-grpc_cc_test(
name = "grpc_byte_buffer_reader_test",
srcs = ["byte_buffer_reader_test.cc"],
language = "C++",
diff --git a/test/core/surface/alarm_test.cc b/test/core/surface/alarm_test.cc
deleted file mode 100644
index 67fc6833a5..0000000000
--- a/test/core/surface/alarm_test.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *
- * Copyright 2015 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 <grpc/grpc.h>
-#include <grpc/support/alloc.h>
-#include <grpc/support/log.h>
-#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
-#include "test/core/util/test_config.h"
-
-#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
-
-static void* create_test_tag(void) {
- static intptr_t i = 0;
- return (void*)(++i);
-}
-
-/* helper for tests to shutdown correctly and tersely */
-static void shutdown_and_destroy(grpc_completion_queue* cc) {
- grpc_event ev;
- grpc_completion_queue_shutdown(cc);
- /* 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);
-}
-
-static void test_alarm(void) {
- grpc_completion_queue* cc;
-
- LOG_TEST("test_alarm");
- cc = grpc_completion_queue_create_for_next(nullptr);
- {
- /* regular expiry */
- grpc_event ev;
- void* tag = create_test_tag();
- grpc_alarm* alarm = grpc_alarm_create(nullptr);
- grpc_alarm_set(alarm, cc, grpc_timeout_seconds_to_deadline(1), tag,
- nullptr);
-
- ev = grpc_completion_queue_next(cc, grpc_timeout_seconds_to_deadline(2),
- nullptr);
- GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
- GPR_ASSERT(ev.tag == tag);
- GPR_ASSERT(ev.success);
- grpc_alarm_destroy(alarm, nullptr);
- }
- {
- /* cancellation */
- grpc_event ev;
- void* tag = create_test_tag();
- grpc_alarm* alarm = grpc_alarm_create(nullptr);
- grpc_alarm_set(alarm, cc, grpc_timeout_seconds_to_deadline(2), tag,
- nullptr);
-
- grpc_alarm_cancel(alarm, nullptr);
- ev = grpc_completion_queue_next(cc, grpc_timeout_seconds_to_deadline(1),
- nullptr);
- GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
- GPR_ASSERT(ev.tag == tag);
- GPR_ASSERT(ev.success == 0);
- grpc_alarm_destroy(alarm, nullptr);
- }
- {
- /* alarm_destroy before cq_next */
- grpc_event ev;
- void* tag = create_test_tag();
- grpc_alarm* alarm = grpc_alarm_create(nullptr);
- grpc_alarm_set(alarm, cc, grpc_timeout_seconds_to_deadline(2), tag,
- nullptr);
-
- grpc_alarm_destroy(alarm, nullptr);
- ev = grpc_completion_queue_next(cc, grpc_timeout_seconds_to_deadline(1),
- nullptr);
- GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
- GPR_ASSERT(ev.tag == tag);
- GPR_ASSERT(ev.success == 0);
- }
- {
- /* alarm_destroy before set */
- grpc_alarm* alarm = grpc_alarm_create(nullptr);
- grpc_alarm_destroy(alarm, nullptr);
- }
-
- shutdown_and_destroy(cc);
-}
-
-int main(int argc, char** argv) {
- grpc_test_init(argc, argv);
- grpc_init();
- test_alarm();
- grpc_shutdown();
- return 0;
-}
diff --git a/test/core/surface/byte_buffer_reader_test.cc b/test/core/surface/byte_buffer_reader_test.cc
index 91662b027a..648a9d6986 100644
--- a/test/core/surface/byte_buffer_reader_test.cc
+++ b/test/core/surface/byte_buffer_reader_test.cc
@@ -109,7 +109,7 @@ static void test_read_corrupted_slice(void) {
LOG_TEST("test_read_corrupted_slice");
slice = grpc_slice_from_copied_string("test");
buffer = grpc_raw_byte_buffer_create(&slice, 1);
- buffer->data.raw.compression = GRPC_COMPRESS_MESSAGE_GZIP; /* lies! */
+ buffer->data.raw.compression = GRPC_COMPRESS_GZIP; /* lies! */
grpc_slice_unref(slice);
GPR_ASSERT(!grpc_byte_buffer_reader_init(&reader, buffer));
grpc_byte_buffer_destroy(buffer);
@@ -161,13 +161,13 @@ static void read_compressed_slice(grpc_compression_algorithm algorithm,
static void test_read_gzip_compressed_slice(void) {
const size_t INPUT_SIZE = 2048;
LOG_TEST("test_read_gzip_compressed_slice");
- read_compressed_slice(GRPC_COMPRESS_MESSAGE_GZIP, INPUT_SIZE);
+ read_compressed_slice(GRPC_COMPRESS_GZIP, INPUT_SIZE);
}
static void test_read_deflate_compressed_slice(void) {
const size_t INPUT_SIZE = 2048;
LOG_TEST("test_read_deflate_compressed_slice");
- read_compressed_slice(GRPC_COMPRESS_MESSAGE_DEFLATE, INPUT_SIZE);
+ read_compressed_slice(GRPC_COMPRESS_DEFLATE, INPUT_SIZE);
}
static void test_byte_buffer_from_reader(void) {
diff --git a/test/core/surface/channel_create_test.cc b/test/core/surface/channel_create_test.cc
index 37247f89d0..56f4f602e8 100644
--- a/test/core/surface/channel_create_test.cc
+++ b/test/core/surface/channel_create_test.cc
@@ -29,8 +29,8 @@
void test_unknown_scheme_target(void) {
grpc_channel* chan;
/* avoid default prefix */
- grpc_resolver_registry_shutdown();
- grpc_resolver_registry_init();
+ grpc_core::ResolverRegistry::Builder::ShutdownRegistry();
+ grpc_core::ResolverRegistry::Builder::InitRegistry();
chan = grpc_insecure_channel_create("blah://blah", nullptr, nullptr);
GPR_ASSERT(chan != nullptr);
diff --git a/test/core/surface/completion_queue_test.cc b/test/core/surface/completion_queue_test.cc
index fefbb3c185..68129146cc 100644
--- a/test/core/surface/completion_queue_test.cc
+++ b/test/core/surface/completion_queue_test.cc
@@ -21,7 +21,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/surface/completion_queue_threading_test.cc b/test/core/surface/completion_queue_threading_test.cc
index 4a9e818b45..e5015723f7 100644
--- a/test/core/surface/completion_queue_threading_test.cc
+++ b/test/core/surface/completion_queue_threading_test.cc
@@ -22,7 +22,8 @@
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "test/core/util/test_config.h"
@@ -145,7 +146,7 @@ static void producer_thread(void* arg) {
int i;
gpr_log(GPR_INFO, "producer %d started", opt->id);
- gpr_event_set(&opt->on_started, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_started, (void*)static_cast<intptr_t>(1));
GPR_ASSERT(gpr_event_wait(opt->phase1, ten_seconds_time()));
gpr_log(GPR_INFO, "producer %d phase 1", opt->id);
@@ -154,13 +155,13 @@ static void producer_thread(void* arg) {
}
gpr_log(GPR_INFO, "producer %d phase 1 done", opt->id);
- gpr_event_set(&opt->on_phase1_done, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_phase1_done, (void*)static_cast<intptr_t>(1));
GPR_ASSERT(gpr_event_wait(opt->phase2, ten_seconds_time()));
gpr_log(GPR_INFO, "producer %d phase 2", opt->id);
for (i = 0; i < TEST_THREAD_EVENTS; i++) {
grpc_core::ExecCtx exec_ctx;
- grpc_cq_end_op(opt->cc, (void*)(intptr_t)1, GRPC_ERROR_NONE,
+ grpc_cq_end_op(opt->cc, (void*)static_cast<intptr_t>(1), GRPC_ERROR_NONE,
free_completion, nullptr,
static_cast<grpc_cq_completion*>(
gpr_malloc(sizeof(grpc_cq_completion))));
@@ -168,7 +169,7 @@ static void producer_thread(void* arg) {
}
gpr_log(GPR_INFO, "producer %d phase 2 done", opt->id);
- gpr_event_set(&opt->on_finished, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_finished, (void*)static_cast<intptr_t>(1));
}
static void consumer_thread(void* arg) {
@@ -176,13 +177,13 @@ static void consumer_thread(void* arg) {
grpc_event ev;
gpr_log(GPR_INFO, "consumer %d started", opt->id);
- gpr_event_set(&opt->on_started, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_started, (void*)static_cast<intptr_t>(1));
GPR_ASSERT(gpr_event_wait(opt->phase1, ten_seconds_time()));
gpr_log(GPR_INFO, "consumer %d phase 1", opt->id);
gpr_log(GPR_INFO, "consumer %d phase 1 done", opt->id);
- gpr_event_set(&opt->on_phase1_done, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_phase1_done, (void*)static_cast<intptr_t>(1));
GPR_ASSERT(gpr_event_wait(opt->phase2, ten_seconds_time()));
gpr_log(GPR_INFO, "consumer %d phase 2", opt->id);
@@ -196,7 +197,7 @@ static void consumer_thread(void* arg) {
break;
case GRPC_QUEUE_SHUTDOWN:
gpr_log(GPR_INFO, "consumer %d phase 2 done", opt->id);
- gpr_event_set(&opt->on_finished, (void*)(intptr_t)1);
+ gpr_event_set(&opt->on_finished, (void*)static_cast<intptr_t>(1));
return;
case GRPC_QUEUE_TIMEOUT:
gpr_log(GPR_ERROR, "Invalid timeout received");
@@ -239,7 +240,7 @@ static void test_threading(size_t producers, size_t consumers) {
/* start phase1: producers will pre-declare all operations they will
complete */
gpr_log(GPR_INFO, "start phase 1");
- gpr_event_set(&phase1, (void*)(intptr_t)1);
+ gpr_event_set(&phase1, (void*)static_cast<intptr_t>(1));
gpr_log(GPR_INFO, "wait phase 1");
for (i = 0; i < producers + consumers; i++) {
@@ -249,7 +250,7 @@ static void test_threading(size_t producers, size_t consumers) {
/* start phase2: operations will complete, and consumers will consume them */
gpr_log(GPR_INFO, "start phase 2");
- gpr_event_set(&phase2, (void*)(intptr_t)1);
+ gpr_event_set(&phase2, (void*)static_cast<intptr_t>(1));
/* in parallel, we shutdown the completion channel - all events should still
be consumed */
diff --git a/test/core/surface/concurrent_connectivity_test.cc b/test/core/surface/concurrent_connectivity_test.cc
index 235d136376..bbee073c71 100644
--- a/test/core/surface/concurrent_connectivity_test.cc
+++ b/test/core/surface/concurrent_connectivity_test.cc
@@ -55,14 +55,14 @@
// it should never take longer that this to shutdown the server
#define SERVER_SHUTDOWN_TIMEOUT 30000
-static void* tag(int n) { return (void*)(uintptr_t)n; }
-static int detag(void* p) { return (int)(uintptr_t)p; }
+static void* tag(int n) { return (void*)static_cast<uintptr_t>(n); }
+static int detag(void* p) { return static_cast<int>((uintptr_t)p); }
void create_loop_destroy(void* addr) {
for (int i = 0; i < NUM_OUTER_LOOPS; ++i) {
grpc_completion_queue* cq = grpc_completion_queue_create_for_next(nullptr);
- grpc_channel* chan =
- grpc_insecure_channel_create((char*)addr, nullptr, nullptr);
+ grpc_channel* chan = grpc_insecure_channel_create(static_cast<char*>(addr),
+ nullptr, nullptr);
for (int j = 0; j < NUM_INNER_LOOPS; ++j) {
gpr_timespec later_time =
@@ -94,7 +94,8 @@ struct server_thread_args {
};
void server_thread(void* vargs) {
- struct server_thread_args* args = (struct server_thread_args*)vargs;
+ struct server_thread_args* args =
+ static_cast<struct server_thread_args*>(vargs);
grpc_event ev;
gpr_timespec deadline =
grpc_timeout_milliseconds_to_deadline(SERVER_SHUTDOWN_TIMEOUT);
@@ -107,7 +108,8 @@ static void on_connect(void* vargs, grpc_endpoint* tcp,
grpc_pollset* accepting_pollset,
grpc_tcp_server_acceptor* acceptor) {
gpr_free(acceptor);
- struct server_thread_args* args = (struct server_thread_args*)vargs;
+ struct server_thread_args* args =
+ static_cast<struct server_thread_args*>(vargs);
grpc_endpoint_shutdown(tcp,
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Connected"));
grpc_endpoint_destroy(tcp);
@@ -117,11 +119,13 @@ static void on_connect(void* vargs, grpc_endpoint* tcp,
}
void bad_server_thread(void* vargs) {
- struct server_thread_args* args = (struct server_thread_args*)vargs;
+ struct server_thread_args* args =
+ static_cast<struct server_thread_args*>(vargs);
grpc_core::ExecCtx exec_ctx;
grpc_resolved_address resolved_addr;
- struct sockaddr_storage* addr = (struct sockaddr_storage*)resolved_addr.addr;
+ struct sockaddr_storage* addr =
+ reinterpret_cast<struct sockaddr_storage*>(resolved_addr.addr);
int port;
grpc_tcp_server* s;
grpc_error* error = grpc_tcp_server_create(nullptr, nullptr, &s);
@@ -244,8 +248,8 @@ int run_concurrent_connectivity_test() {
void watches_with_short_timeouts(void* addr) {
for (int i = 0; i < NUM_OUTER_LOOPS_SHORT_TIMEOUTS; ++i) {
grpc_completion_queue* cq = grpc_completion_queue_create_for_next(nullptr);
- grpc_channel* chan =
- grpc_insecure_channel_create((char*)addr, nullptr, nullptr);
+ grpc_channel* chan = grpc_insecure_channel_create(static_cast<char*>(addr),
+ nullptr, nullptr);
for (int j = 0; j < NUM_INNER_LOOPS_SHORT_TIMEOUTS; ++j) {
gpr_timespec later_time =
diff --git a/test/core/surface/lame_client_test.cc b/test/core/surface/lame_client_test.cc
index 4bf40569e6..fac5ca8f7f 100644
--- a/test/core/surface/lame_client_test.cc
+++ b/test/core/surface/lame_client_test.cc
@@ -112,7 +112,8 @@ int main(int argc, char** argv) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(call, ops, (size_t)(op - ops), tag(1), nullptr);
+ error = grpc_call_start_batch(call, ops, static_cast<size_t>(op - ops),
+ tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* the call should immediately fail */
@@ -128,7 +129,8 @@ int main(int argc, char** argv) {
op->flags = 0;
op->reserved = nullptr;
op++;
- error = grpc_call_start_batch(call, ops, (size_t)(op - ops), tag(2), nullptr);
+ error = grpc_call_start_batch(call, ops, static_cast<size_t>(op - ops),
+ tag(2), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
/* the call should immediately fail */
diff --git a/test/core/surface/num_external_connectivity_watchers_test.cc b/test/core/surface/num_external_connectivity_watchers_test.cc
index 9cdd299ae3..e48fd7fcf2 100644
--- a/test/core/surface/num_external_connectivity_watchers_test.cc
+++ b/test/core/surface/num_external_connectivity_watchers_test.cc
@@ -19,11 +19,11 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
diff --git a/test/core/surface/public_headers_must_be_c89.c b/test/core/surface/public_headers_must_be_c89.c
index f4de5d7d8a..14267c1214 100644
--- a/test/core/surface/public_headers_must_be_c89.c
+++ b/test/core/surface/public_headers_must_be_c89.c
@@ -20,7 +20,6 @@
#include <grpc/byte_buffer_reader.h>
#include <grpc/census.h>
#include <grpc/compression.h>
-#include <grpc/compression_ruby.h>
#include <grpc/fork.h>
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
@@ -47,21 +46,15 @@
#include <grpc/status.h>
#include <grpc/support/alloc.h>
#include <grpc/support/atm.h>
-#include <grpc/support/avl.h>
-#include <grpc/support/cmdline.h>
#include <grpc/support/cpu.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/subprocess.h>
#include <grpc/support/sync.h>
#include <grpc/support/sync_custom.h>
#include <grpc/support/sync_generic.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
-#include <grpc/support/tls.h>
-#include <grpc/support/useful.h>
#include <grpc/support/workaround_list.h>
#include <stdio.h>
@@ -76,8 +69,6 @@ int main(int argc, char **argv) {
printf("%lx", (unsigned long) grpc_compression_options_enable_algorithm);
printf("%lx", (unsigned long) grpc_compression_options_disable_algorithm);
printf("%lx", (unsigned long) grpc_compression_options_is_algorithm_enabled);
- printf("%lx", (unsigned long) grpc_compression_algorithm_parse_ruby);
- printf("%lx", (unsigned long) grpc_compression_algorithm_name_ruby);
printf("%lx", (unsigned long) grpc_metadata_array_init);
printf("%lx", (unsigned long) grpc_metadata_array_destroy);
printf("%lx", (unsigned long) grpc_call_details_init);
@@ -97,10 +88,6 @@ int main(int argc, char **argv) {
printf("%lx", (unsigned long) grpc_completion_queue_destroy);
printf("%lx", (unsigned long) grpc_completion_queue_thread_local_cache_init);
printf("%lx", (unsigned long) grpc_completion_queue_thread_local_cache_flush);
- printf("%lx", (unsigned long) grpc_alarm_create);
- printf("%lx", (unsigned long) grpc_alarm_set);
- printf("%lx", (unsigned long) grpc_alarm_cancel);
- printf("%lx", (unsigned long) grpc_alarm_destroy);
printf("%lx", (unsigned long) grpc_channel_check_connectivity_state);
printf("%lx", (unsigned long) grpc_channel_num_external_connectivity_watchers);
printf("%lx", (unsigned long) grpc_channel_watch_connectivity_state);
@@ -247,27 +234,8 @@ int main(int argc, char **argv) {
printf("%lx", (unsigned long) gpr_free_aligned);
printf("%lx", (unsigned long) gpr_set_allocation_functions);
printf("%lx", (unsigned long) gpr_get_allocation_functions);
- printf("%lx", (unsigned long) gpr_avl_create);
- printf("%lx", (unsigned long) gpr_avl_ref);
- printf("%lx", (unsigned long) gpr_avl_unref);
- printf("%lx", (unsigned long) gpr_avl_add);
- printf("%lx", (unsigned long) gpr_avl_remove);
- printf("%lx", (unsigned long) gpr_avl_get);
- printf("%lx", (unsigned long) gpr_avl_maybe_get);
- printf("%lx", (unsigned long) gpr_avl_is_empty);
- printf("%lx", (unsigned long) gpr_cmdline_create);
- printf("%lx", (unsigned long) gpr_cmdline_add_int);
- printf("%lx", (unsigned long) gpr_cmdline_add_flag);
- printf("%lx", (unsigned long) gpr_cmdline_add_string);
- printf("%lx", (unsigned long) gpr_cmdline_on_extra_arg);
- printf("%lx", (unsigned long) gpr_cmdline_set_survive_failure);
- printf("%lx", (unsigned long) gpr_cmdline_parse);
- printf("%lx", (unsigned long) gpr_cmdline_destroy);
- printf("%lx", (unsigned long) gpr_cmdline_usage_string);
printf("%lx", (unsigned long) gpr_cpu_num_cores);
printf("%lx", (unsigned long) gpr_cpu_current_cpu);
- printf("%lx", (unsigned long) gpr_join_host_port);
- printf("%lx", (unsigned long) gpr_split_host_port);
printf("%lx", (unsigned long) gpr_log_severity_string);
printf("%lx", (unsigned long) gpr_log);
printf("%lx", (unsigned long) gpr_log_message);
@@ -276,11 +244,6 @@ int main(int argc, char **argv) {
printf("%lx", (unsigned long) gpr_set_log_function);
printf("%lx", (unsigned long) gpr_strdup);
printf("%lx", (unsigned long) gpr_asprintf);
- printf("%lx", (unsigned long) gpr_subprocess_binary_extension);
- printf("%lx", (unsigned long) gpr_subprocess_create);
- printf("%lx", (unsigned long) gpr_subprocess_destroy);
- printf("%lx", (unsigned long) gpr_subprocess_join);
- printf("%lx", (unsigned long) gpr_subprocess_interrupt);
printf("%lx", (unsigned long) gpr_mu_init);
printf("%lx", (unsigned long) gpr_mu_destroy);
printf("%lx", (unsigned long) gpr_mu_lock);
diff --git a/test/core/surface/secure_channel_create_test.cc b/test/core/surface/secure_channel_create_test.cc
index fa22cd6873..c10d6796a7 100644
--- a/test/core/surface/secure_channel_create_test.cc
+++ b/test/core/surface/secure_channel_create_test.cc
@@ -28,8 +28,8 @@
#include "test/core/util/test_config.h"
void test_unknown_scheme_target(void) {
- grpc_resolver_registry_shutdown();
- grpc_resolver_registry_init();
+ grpc_core::ResolverRegistry::Builder::ShutdownRegistry();
+ grpc_core::ResolverRegistry::Builder::InitRegistry();
grpc_channel_credentials* creds =
grpc_fake_transport_security_credentials_create();
grpc_channel* chan =
diff --git a/test/core/surface/sequential_connectivity_test.cc b/test/core/surface/sequential_connectivity_test.cc
index ac49bd9823..1ac0a5ee13 100644
--- a/test/core/surface/sequential_connectivity_test.cc
+++ b/test/core/surface/sequential_connectivity_test.cc
@@ -19,11 +19,11 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/thd.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
diff --git a/test/core/surface/server_chttp2_test.cc b/test/core/surface/server_chttp2_test.cc
index 96eaa6a7a9..f0412d01d9 100644
--- a/test/core/surface/server_chttp2_test.cc
+++ b/test/core/surface/server_chttp2_test.cc
@@ -19,9 +19,10 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "src/core/tsi/fake_transport_security.h"
diff --git a/test/core/surface/server_test.cc b/test/core/surface/server_test.cc
index 969b8cb11b..3b08efb563 100644
--- a/test/core/surface/server_test.cc
+++ b/test/core/surface/server_test.cc
@@ -19,9 +19,10 @@
#include <grpc/grpc.h>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "test/core/util/port.h"
diff --git a/test/core/transport/bdp_estimator_test.cc b/test/core/transport/bdp_estimator_test.cc
index 3afcad7f17..c7e6b2bd84 100644
--- a/test/core/transport/bdp_estimator_test.cc
+++ b/test/core/transport/bdp_estimator_test.cc
@@ -22,10 +22,12 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
#include <gtest/gtest.h>
#include <limits.h>
+
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/timer_manager.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/byte_stream_test.cc b/test/core/transport/byte_stream_test.cc
index 2aab6e9262..6947d50976 100644
--- a/test/core/transport/byte_stream_test.cc
+++ b/test/core/transport/byte_stream_test.cc
@@ -21,8 +21,8 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/chttp2/hpack_encoder_test.cc b/test/core/transport/chttp2/hpack_encoder_test.cc
index a40bd643ec..d3ba50a91c 100644
--- a/test/core/transport/chttp2/hpack_encoder_test.cc
+++ b/test/core/transport/chttp2/hpack_encoder_test.cc
@@ -152,10 +152,10 @@ static void test_basic_headers() {
}
static void encode_int_to_str(int i, char* p) {
- p[0] = (char)('a' + i % 26);
+ p[0] = static_cast<char>('a' + i % 26);
i /= 26;
GPR_ASSERT(i < 26);
- p[1] = (char)('a' + i);
+ p[1] = static_cast<char>('a' + i);
p[2] = 0;
}
diff --git a/test/core/transport/chttp2/settings_timeout_test.cc b/test/core/transport/chttp2/settings_timeout_test.cc
index d7d6ee7508..39ae587bae 100644
--- a/test/core/transport/chttp2/settings_timeout_test.cc
+++ b/test/core/transport/chttp2/settings_timeout_test.cc
@@ -104,7 +104,7 @@ class Client {
grpc_blocking_resolve_address(server_address_, "80", &server_addresses);
ASSERT_EQ(GRPC_ERROR_NONE, error) << grpc_error_string(error);
ASSERT_GE(server_addresses->naddrs, 1UL);
- pollset_ = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ pollset_ = static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(pollset_, &mu_);
grpc_pollset_set* pollset_set = grpc_pollset_set_create();
grpc_pollset_set_add_pollset(pollset_set, pollset_);
@@ -169,7 +169,7 @@ class Client {
grpc_closure* closure() { return &closure_; }
- bool done() const { return done_; }
+ bool done() const { return gpr_atm_acq_load(&done_atm_) != 0; }
// Caller does NOT take ownership of the error.
grpc_error* error() const { return error_; }
@@ -177,13 +177,13 @@ class Client {
private:
static void OnEventDone(void* arg, grpc_error* error) {
gpr_log(GPR_INFO, "OnEventDone(): %s", grpc_error_string(error));
- EventState* state = (EventState*)arg;
+ EventState* state = static_cast<EventState*>(arg);
state->error_ = GRPC_ERROR_REF(error);
- state->done_ = true;
+ gpr_atm_rel_store(&state->done_atm_, 1);
}
grpc_closure closure_;
- bool done_ = false;
+ gpr_atm done_atm_ = 0;
grpc_error* error_ = GRPC_ERROR_NONE;
};
@@ -203,7 +203,7 @@ class Client {
}
static void PollsetDestroy(void* arg, grpc_error* error) {
- grpc_pollset* pollset = (grpc_pollset*)arg;
+ grpc_pollset* pollset = static_cast<grpc_pollset*>(arg);
grpc_pollset_destroy(pollset);
gpr_free(pollset);
}
diff --git a/test/core/transport/chttp2/stream_map_test.cc b/test/core/transport/chttp2/stream_map_test.cc
index 9b21cb2364..773eb3a35f 100644
--- a/test/core/transport/chttp2/stream_map_test.cc
+++ b/test/core/transport/chttp2/stream_map_test.cc
@@ -78,7 +78,7 @@ static void test_basic_add_find(uint32_t n) {
grpc_chttp2_stream_map_init(&map, 8);
GPR_ASSERT(0 == grpc_chttp2_stream_map_size(&map));
for (i = 1; i <= n; i++) {
- grpc_chttp2_stream_map_add(&map, i, (void*)(uintptr_t)i);
+ grpc_chttp2_stream_map_add(&map, i, (void*)static_cast<uintptr_t>(i));
}
GPR_ASSERT(n == grpc_chttp2_stream_map_size(&map));
GPR_ASSERT(nullptr == grpc_chttp2_stream_map_find(&map, 0));
@@ -133,7 +133,7 @@ static void test_delete_evens_sweep(uint32_t n) {
grpc_chttp2_stream_map_init(&map, 8);
for (i = 1; i <= n; i++) {
- grpc_chttp2_stream_map_add(&map, i, (void*)(uintptr_t)i);
+ grpc_chttp2_stream_map_add(&map, i, (void*)static_cast<uintptr_t>(i));
}
for (i = 1; i <= n; i++) {
if ((i & 1) == 0) {
@@ -155,7 +155,7 @@ static void test_delete_evens_incremental(uint32_t n) {
grpc_chttp2_stream_map_init(&map, 8);
for (i = 1; i <= n; i++) {
- grpc_chttp2_stream_map_add(&map, i, (void*)(uintptr_t)i);
+ grpc_chttp2_stream_map_add(&map, i, (void*)static_cast<uintptr_t>(i));
if ((i & 1) == 0) {
grpc_chttp2_stream_map_delete(&map, i);
}
@@ -177,7 +177,7 @@ static void test_periodic_compaction(uint32_t n) {
grpc_chttp2_stream_map_init(&map, 16);
GPR_ASSERT(map.capacity == 16);
for (i = 1; i <= n; i++) {
- grpc_chttp2_stream_map_add(&map, i, (void*)(uintptr_t)i);
+ grpc_chttp2_stream_map_add(&map, i, (void*)static_cast<uintptr_t>(i));
if (i > 8) {
del = i - 8;
GPR_ASSERT((void*)(uintptr_t)del ==
diff --git a/test/core/transport/metadata_test.cc b/test/core/transport/metadata_test.cc
index 7d943fd5c7..786df97285 100644
--- a/test/core/transport/metadata_test.cc
+++ b/test/core/transport/metadata_test.cc
@@ -240,8 +240,8 @@ static void test_things_stick_around(void) {
}
for (i = 0; i < nstrs; i++) {
- size_t p = (size_t)rand() % nstrs;
- size_t q = (size_t)rand() % nstrs;
+ size_t p = static_cast<size_t>(rand()) % nstrs;
+ size_t q = static_cast<size_t>(rand()) % nstrs;
size_t temp = shuf[p];
shuf[p] = shuf[q];
shuf[q] = temp;
@@ -307,8 +307,8 @@ static void verify_binary_header_size(const char* key, const uint8_t* value,
intern_value));
GPR_ASSERT(grpc_is_binary_header(GRPC_MDKEY(elem)));
size_t elem_size = grpc_mdelem_get_size_in_hpack_table(elem, false);
- grpc_slice value_slice =
- grpc_slice_from_copied_buffer((const char*)value, value_len);
+ grpc_slice value_slice = grpc_slice_from_copied_buffer(
+ reinterpret_cast<const char*>(value), value_len);
grpc_slice base64_encoded = grpc_chttp2_base64_encode(value_slice);
size_t expected_size = 32 + strlen(key) + GRPC_SLICE_LENGTH(base64_encoded);
GPR_ASSERT(expected_size == elem_size);
diff --git a/test/core/transport/pid_controller_test.cc b/test/core/transport/pid_controller_test.cc
index 1a499c2fb7..8d2cec4042 100644
--- a/test/core/transport/pid_controller_test.cc
+++ b/test/core/transport/pid_controller_test.cc
@@ -24,7 +24,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
#include <gtest/gtest.h>
#include "src/core/lib/gpr/string.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/timeout_encoding_test.cc b/test/core/transport/timeout_encoding_test.cc
index e94be138dd..2367accc2e 100644
--- a/test/core/transport/timeout_encoding_test.cc
+++ b/test/core/transport/timeout_encoding_test.cc
@@ -24,9 +24,10 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
#include "src/core/lib/gpr/murmur_hash.h"
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/useful.h"
#include "test/core/util/test_config.h"
#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
@@ -102,20 +103,22 @@ void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) {
}
static grpc_millis millis_from_nanos(int64_t x) {
- return (grpc_millis)(x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0));
+ return static_cast<grpc_millis>(x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0));
}
static grpc_millis millis_from_micros(int64_t x) {
- return (grpc_millis)(x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0));
+ return static_cast<grpc_millis>(x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0));
+}
+static grpc_millis millis_from_millis(int64_t x) {
+ return static_cast<grpc_millis>(x);
}
-static grpc_millis millis_from_millis(int64_t x) { return (grpc_millis)x; }
static grpc_millis millis_from_seconds(int64_t x) {
- return (grpc_millis)(x * GPR_MS_PER_SEC);
+ return static_cast<grpc_millis>(x * GPR_MS_PER_SEC);
}
static grpc_millis millis_from_minutes(int64_t x) {
- return (grpc_millis)(x * 60 * GPR_MS_PER_SEC);
+ return static_cast<grpc_millis>(x * 60 * GPR_MS_PER_SEC);
}
static grpc_millis millis_from_hours(int64_t x) {
- return (grpc_millis)(x * 3600 * GPR_MS_PER_SEC);
+ return static_cast<grpc_millis>(x * 3600 * GPR_MS_PER_SEC);
}
void test_decoding(void) {
diff --git a/test/core/tsi/fake_transport_security_test.cc b/test/core/tsi/fake_transport_security_test.cc
index 73643fc9fd..ea392d347d 100644
--- a/test/core/tsi/fake_transport_security_test.cc
+++ b/test/core/tsi/fake_transport_security_test.cc
@@ -102,7 +102,8 @@ void fake_tsi_test_do_round_trip_for_all_configs() {
v <<= 1;
}
tsi_test_fixture* fixture = fake_tsi_test_fixture_create();
- fake_tsi_test_fixture* fake_fixture = (fake_tsi_test_fixture*)fixture;
+ fake_tsi_test_fixture* fake_fixture =
+ reinterpret_cast<fake_tsi_test_fixture*>(fixture);
tsi_test_frame_protector_config_destroy(fake_fixture->base.config);
fake_fixture->base.config = tsi_test_frame_protector_config_create(
bit_array[0], bit_array[1], bit_array[2], bit_array[3], bit_array[4],
@@ -123,7 +124,7 @@ void fake_tsi_test_do_round_trip_odd_buffer_size() {
for (size_t ind5 = 0; ind5 < size; ind5++) {
tsi_test_fixture* fixture = fake_tsi_test_fixture_create();
fake_tsi_test_fixture* fake_fixture =
- (fake_tsi_test_fixture*)fixture;
+ reinterpret_cast<fake_tsi_test_fixture*>(fixture);
tsi_test_frame_protector_config_set_buffer_size(
fake_fixture->base.config, odd_sizes[ind1], odd_sizes[ind2],
odd_sizes[ind3], odd_sizes[ind4], odd_sizes[ind5]);
diff --git a/test/core/tsi/ssl_transport_security_test.cc b/test/core/tsi/ssl_transport_security_test.cc
index 8939c0434b..d7a4d747e1 100644
--- a/test/core/tsi/ssl_transport_security_test.cc
+++ b/test/core/tsi/ssl_transport_security_test.cc
@@ -81,7 +81,8 @@ typedef struct ssl_tsi_test_fixture {
} ssl_tsi_test_fixture;
static void ssl_test_setup_handshakers(tsi_test_fixture* fixture) {
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
GPR_ASSERT(ssl_fixture != nullptr);
GPR_ASSERT(ssl_fixture->key_cert_lib != nullptr);
GPR_ASSERT(ssl_fixture->alpn_lib != nullptr);
@@ -244,7 +245,8 @@ static void check_client_peer(ssl_tsi_test_fixture* ssl_fixture,
}
static void ssl_test_check_handshaker_peers(tsi_test_fixture* fixture) {
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
GPR_ASSERT(ssl_fixture != nullptr);
GPR_ASSERT(ssl_fixture->key_cert_lib != nullptr);
ssl_key_cert_lib* key_cert_lib = ssl_fixture->key_cert_lib;
@@ -281,7 +283,8 @@ static void ssl_test_pem_key_cert_pair_destroy(tsi_ssl_pem_key_cert_pair kp) {
}
static void ssl_test_destruct(tsi_test_fixture* fixture) {
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
if (ssl_fixture == nullptr) {
return;
}
@@ -425,7 +428,8 @@ void ssl_tsi_test_do_handshake() {
void ssl_tsi_test_do_handshake_with_client_authentication() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->force_client_auth = true;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -434,7 +438,8 @@ void ssl_tsi_test_do_handshake_with_client_authentication() {
void ssl_tsi_test_do_handshake_with_server_name_indication_exact_domain() {
/* server1 cert contains "waterzooi.test.google.be" in SAN. */
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->server_name_indication =
const_cast<char*>("waterzooi.test.google.be");
tsi_test_do_handshake(fixture);
@@ -444,7 +449,8 @@ void ssl_tsi_test_do_handshake_with_server_name_indication_exact_domain() {
void ssl_tsi_test_do_handshake_with_server_name_indication_wild_star_domain() {
/* server1 cert contains "*.test.google.fr" in SAN. */
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->server_name_indication =
const_cast<char*>("juju.test.google.fr");
tsi_test_do_handshake(fixture);
@@ -453,7 +459,8 @@ void ssl_tsi_test_do_handshake_with_server_name_indication_wild_star_domain() {
void ssl_tsi_test_do_handshake_with_bad_server_cert() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->key_cert_lib->use_bad_server_cert = true;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -461,7 +468,8 @@ void ssl_tsi_test_do_handshake_with_bad_server_cert() {
void ssl_tsi_test_do_handshake_with_bad_client_cert() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->key_cert_lib->use_bad_client_cert = true;
ssl_fixture->force_client_auth = true;
tsi_test_do_handshake(fixture);
@@ -470,7 +478,8 @@ void ssl_tsi_test_do_handshake_with_bad_client_cert() {
void ssl_tsi_test_do_handshake_alpn_client_no_server() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->alpn_lib->alpn_mode = ALPN_CLIENT_NO_SERVER;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -478,7 +487,8 @@ void ssl_tsi_test_do_handshake_alpn_client_no_server() {
void ssl_tsi_test_do_handshake_alpn_server_no_client() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->alpn_lib->alpn_mode = ALPN_SERVER_NO_CLIENT;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -486,7 +496,8 @@ void ssl_tsi_test_do_handshake_alpn_server_no_client() {
void ssl_tsi_test_do_handshake_alpn_client_server_mismatch() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->alpn_lib->alpn_mode = ALPN_CLIENT_SERVER_MISMATCH;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -494,7 +505,8 @@ void ssl_tsi_test_do_handshake_alpn_client_server_mismatch() {
void ssl_tsi_test_do_handshake_alpn_client_server_ok() {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
ssl_fixture->alpn_lib->alpn_mode = ALPN_CLIENT_SERVER_OK;
tsi_test_do_handshake(fixture);
tsi_test_fixture_destroy(fixture);
@@ -511,7 +523,8 @@ void ssl_tsi_test_do_round_trip_for_all_configs() {
v <<= 1;
}
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
tsi_test_frame_protector_config_destroy(ssl_fixture->base.config);
ssl_fixture->base.config = tsi_test_frame_protector_config_create(
bit_array[0], bit_array[1], bit_array[2], bit_array[3], bit_array[4],
@@ -531,7 +544,8 @@ void ssl_tsi_test_do_round_trip_odd_buffer_size() {
for (size_t ind4 = 0; ind4 < size; ind4++) {
for (size_t ind5 = 0; ind5 < size; ind5++) {
tsi_test_fixture* fixture = ssl_tsi_test_fixture_create();
- ssl_tsi_test_fixture* ssl_fixture = (ssl_tsi_test_fixture*)fixture;
+ ssl_tsi_test_fixture* ssl_fixture =
+ reinterpret_cast<ssl_tsi_test_fixture*>(fixture);
tsi_test_frame_protector_config_set_buffer_size(
ssl_fixture->base.config, odd_sizes[ind1], odd_sizes[ind2],
odd_sizes[ind3], odd_sizes[ind4], odd_sizes[ind5]);
@@ -571,7 +585,7 @@ void test_tsi_ssl_client_handshaker_factory_refcounting() {
handshaker_factory_destructor_called = false;
original_vtable = tsi_ssl_handshaker_factory_swap_vtable(
- (tsi_ssl_handshaker_factory*)client_handshaker_factory,
+ reinterpret_cast<tsi_ssl_handshaker_factory*>(client_handshaker_factory),
&test_handshaker_factory_vtable);
tsi_handshaker* handshaker[3];
@@ -615,7 +629,7 @@ void test_tsi_ssl_server_handshaker_factory_refcounting() {
handshaker_factory_destructor_called = false;
original_vtable = tsi_ssl_handshaker_factory_swap_vtable(
- (tsi_ssl_handshaker_factory*)server_handshaker_factory,
+ reinterpret_cast<tsi_ssl_handshaker_factory*>(server_handshaker_factory),
&test_handshaker_factory_vtable);
for (i = 0; i < 3; ++i) {
@@ -667,9 +681,15 @@ int main(int argc, char** argv) {
ssl_tsi_test_do_handshake_with_server_name_indication_wild_star_domain();
ssl_tsi_test_do_handshake_with_bad_server_cert();
ssl_tsi_test_do_handshake_with_bad_client_cert();
- ssl_tsi_test_do_handshake_alpn_client_no_server();
+ // TODO: BoringSSL and OpenSSL have different behaviors on handling mismatched
+ // ALPN. Re-enable this test if we can detect in the runtime which SSL library
+ // is used.
+ // ssl_tsi_test_do_handshake_alpn_client_no_server();
ssl_tsi_test_do_handshake_alpn_server_no_client();
- ssl_tsi_test_do_handshake_alpn_client_server_mismatch();
+ // TODO: BoringSSL and OpenSSL have different behaviors on handling mismatched
+ // ALPN. Re-enable this test if we can detect in the runtime which SSL library
+ // is used.
+ // ssl_tsi_test_do_handshake_alpn_client_server_mismatch();
ssl_tsi_test_do_handshake_alpn_client_server_ok();
ssl_tsi_test_do_round_trip_for_all_configs();
ssl_tsi_test_do_round_trip_odd_buffer_size();
diff --git a/test/core/tsi/transport_security_test.cc b/test/core/tsi/transport_security_test.cc
index 42e17df25d..5c92912f6f 100644
--- a/test/core/tsi/transport_security_test.cc
+++ b/test/core/tsi/transport_security_test.cc
@@ -23,11 +23,11 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
#include <openssl/crypto.h>
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/useful.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/tsi/transport_security_test_lib.cc b/test/core/tsi/transport_security_test_lib.cc
index 3537366de9..080585365f 100644
--- a/test/core/tsi/transport_security_test_lib.cc
+++ b/test/core/tsi/transport_security_test_lib.cc
@@ -144,8 +144,9 @@ static void maybe_append_unused_bytes(handshaker_args* args) {
tsi_test_fixture* fixture = args->fixture;
if (fixture->test_unused_bytes && !args->appended_unused_bytes) {
args->appended_unused_bytes = true;
- send_bytes_to_peer(fixture, (const unsigned char*)TSI_TEST_UNUSED_BYTES,
- strlen(TSI_TEST_UNUSED_BYTES), args->is_client);
+ send_bytes_to_peer(
+ fixture, reinterpret_cast<const unsigned char*>(TSI_TEST_UNUSED_BYTES),
+ strlen(TSI_TEST_UNUSED_BYTES), args->is_client);
if (fixture->client_result != nullptr &&
fixture->server_result == nullptr) {
fixture->has_client_finished_first = true;
@@ -288,7 +289,7 @@ grpc_error* on_handshake_next_done(tsi_result result, void* user_data,
const unsigned char* bytes_to_send,
size_t bytes_to_send_size,
tsi_handshaker_result* handshaker_result) {
- handshaker_args* args = (handshaker_args*)user_data;
+ handshaker_args* args = static_cast<handshaker_args*>(user_data);
GPR_ASSERT(args != nullptr);
GPR_ASSERT(args->fixture != nullptr);
tsi_test_fixture* fixture = args->fixture;
@@ -327,7 +328,7 @@ grpc_error* on_handshake_next_done(tsi_result result, void* user_data,
static void on_handshake_next_done_wrapper(
tsi_result result, void* user_data, const unsigned char* bytes_to_send,
size_t bytes_to_send_size, tsi_handshaker_result* handshaker_result) {
- handshaker_args* args = (handshaker_args*)user_data;
+ handshaker_args* args = static_cast<handshaker_args*>(user_data);
args->error = on_handshake_next_done(result, user_data, bytes_to_send,
bytes_to_send_size, handshaker_result);
}
@@ -471,7 +472,7 @@ static unsigned char* generate_random_message(size_t size) {
unsigned char* output =
static_cast<unsigned char*>(gpr_zalloc(sizeof(unsigned char) * size));
for (i = 0; i < size - 1; ++i) {
- output[i] = chars[rand() % (int)(sizeof(chars) - 1)];
+ output[i] = chars[rand() % static_cast<int>(sizeof(chars) - 1)];
}
return output;
}
diff --git a/test/core/util/BUILD b/test/core/util/BUILD
index 974940b398..366cf05690 100644
--- a/test/core/util/BUILD
+++ b/test/core/util/BUILD
@@ -52,6 +52,7 @@ grpc_cc_library(
name = "grpc_test_util_base",
srcs = [
"channel_tracing_utils.cc",
+ "cmdline.cc",
"grpc_profiler.cc",
"histogram.cc",
"mock_endpoint.cc",
@@ -62,12 +63,15 @@ grpc_cc_library(
"port_server_client.cc",
"reconnect_server.cc",
"slice_splitter.cc",
+ "subprocess_posix.cc",
+ "subprocess_windows.cc",
"test_tcp_server.cc",
"tracer_util.cc",
"trickle_endpoint.cc",
],
hdrs = [
"channel_tracing_utils.h",
+ "cmdline.h",
"grpc_profiler.h",
"histogram.h",
"mock_endpoint.h",
@@ -76,6 +80,7 @@ grpc_cc_library(
"port.h",
"port_server_client.h",
"reconnect_server.h",
+ "subprocess.h",
"slice_splitter.h",
"test_tcp_server.h",
"tracer_util.h",
@@ -113,6 +118,16 @@ grpc_cc_library(
],
)
+grpc_cc_test(
+ name = "cmdline_test",
+ srcs = ["cmdline_test.cc"],
+ language = "C++",
+ deps = [
+ ":grpc_test_util",
+ "//:gpr",
+ ],
+)
+
grpc_cc_library(
name = "fuzzer_corpus_test",
testonly = 1,
diff --git a/test/core/util/channel_tracing_utils.cc b/test/core/util/channel_tracing_utils.cc
index 5644d1811d..7e96d2d57d 100644
--- a/test/core/util/channel_tracing_utils.cc
+++ b/test/core/util/channel_tracing_utils.cc
@@ -20,8 +20,8 @@
#include <string.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
#include "src/core/lib/channel/channel_tracer.h"
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/json/json.h"
static grpc_json* get_json_child(grpc_json* parent, const char* key) {
diff --git a/test/core/util/cmdline.cc b/test/core/util/cmdline.cc
new file mode 100644
index 0000000000..e76acb5e2b
--- /dev/null
+++ b/test/core/util/cmdline.cc
@@ -0,0 +1,331 @@
+/*
+ *
+ * Copyright 2015 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 "test/core/util/cmdline.h"
+
+#include <limits.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include "src/core/lib/gpr/string.h"
+
+typedef enum { ARGTYPE_INT, ARGTYPE_BOOL, ARGTYPE_STRING } argtype;
+
+typedef struct arg {
+ const char* name;
+ const char* help;
+ argtype type;
+ void* value;
+ struct arg* next;
+} arg;
+
+struct gpr_cmdline {
+ const char* description;
+ arg* args;
+ const char* argv0;
+
+ const char* extra_arg_name;
+ const char* extra_arg_help;
+ void (*extra_arg)(void* user_data, const char* arg);
+ void* extra_arg_user_data;
+
+ int (*state)(gpr_cmdline* cl, char* arg);
+ arg* cur_arg;
+
+ int survive_failure;
+};
+
+static int normal_state(gpr_cmdline* cl, char* arg);
+
+gpr_cmdline* gpr_cmdline_create(const char* description) {
+ gpr_cmdline* cl = static_cast<gpr_cmdline*>(gpr_zalloc(sizeof(gpr_cmdline)));
+
+ cl->description = description;
+ cl->state = normal_state;
+
+ return cl;
+}
+
+void gpr_cmdline_set_survive_failure(gpr_cmdline* cl) {
+ cl->survive_failure = 1;
+}
+
+void gpr_cmdline_destroy(gpr_cmdline* cl) {
+ while (cl->args) {
+ arg* a = cl->args;
+ cl->args = a->next;
+ gpr_free(a);
+ }
+ gpr_free(cl);
+}
+
+static void add_arg(gpr_cmdline* cl, const char* name, const char* help,
+ argtype type, void* value) {
+ arg* a;
+
+ for (a = cl->args; a; a = a->next) {
+ GPR_ASSERT(0 != strcmp(a->name, name));
+ }
+
+ a = static_cast<arg*>(gpr_zalloc(sizeof(arg)));
+ a->name = name;
+ a->help = help;
+ a->type = type;
+ a->value = value;
+ a->next = cl->args;
+ cl->args = a;
+}
+
+void gpr_cmdline_add_int(gpr_cmdline* cl, const char* name, const char* help,
+ int* value) {
+ add_arg(cl, name, help, ARGTYPE_INT, value);
+}
+
+void gpr_cmdline_add_flag(gpr_cmdline* cl, const char* name, const char* help,
+ int* value) {
+ add_arg(cl, name, help, ARGTYPE_BOOL, value);
+}
+
+void gpr_cmdline_add_string(gpr_cmdline* cl, const char* name, const char* help,
+ const char** value) {
+ add_arg(cl, name, help, ARGTYPE_STRING, value);
+}
+
+void gpr_cmdline_on_extra_arg(
+ gpr_cmdline* cl, const char* name, const char* help,
+ void (*on_extra_arg)(void* user_data, const char* arg), void* user_data) {
+ GPR_ASSERT(!cl->extra_arg);
+ GPR_ASSERT(on_extra_arg);
+
+ cl->extra_arg = on_extra_arg;
+ cl->extra_arg_user_data = user_data;
+ cl->extra_arg_name = name;
+ cl->extra_arg_help = help;
+}
+
+/* recursively descend argument list, adding the last element
+ to s first - so that arguments are added in the order they were
+ added to the list by api calls */
+static void add_args_to_usage(gpr_strvec* s, arg* a) {
+ char* tmp;
+
+ if (!a) return;
+ add_args_to_usage(s, a->next);
+
+ switch (a->type) {
+ case ARGTYPE_BOOL:
+ gpr_asprintf(&tmp, " [--%s|--no-%s]", a->name, a->name);
+ gpr_strvec_add(s, tmp);
+ break;
+ case ARGTYPE_STRING:
+ gpr_asprintf(&tmp, " [--%s=string]", a->name);
+ gpr_strvec_add(s, tmp);
+ break;
+ case ARGTYPE_INT:
+ gpr_asprintf(&tmp, " [--%s=int]", a->name);
+ gpr_strvec_add(s, tmp);
+ break;
+ }
+}
+
+char* gpr_cmdline_usage_string(gpr_cmdline* cl, const char* argv0) {
+ /* TODO(ctiller): make this prettier */
+ gpr_strvec s;
+ char* tmp;
+ const char* name = strrchr(argv0, '/');
+
+ if (name) {
+ name++;
+ } else {
+ name = argv0;
+ }
+
+ gpr_strvec_init(&s);
+
+ gpr_asprintf(&tmp, "Usage: %s", name);
+ gpr_strvec_add(&s, tmp);
+ add_args_to_usage(&s, cl->args);
+ if (cl->extra_arg) {
+ gpr_asprintf(&tmp, " [%s...]", cl->extra_arg_name);
+ gpr_strvec_add(&s, tmp);
+ }
+ gpr_strvec_add(&s, gpr_strdup("\n"));
+
+ tmp = gpr_strvec_flatten(&s, nullptr);
+ gpr_strvec_destroy(&s);
+ return tmp;
+}
+
+static int print_usage_and_die(gpr_cmdline* cl) {
+ char* usage = gpr_cmdline_usage_string(cl, cl->argv0);
+ fprintf(stderr, "%s", usage);
+ gpr_free(usage);
+ if (!cl->survive_failure) {
+ exit(1);
+ }
+ return 0;
+}
+
+static int extra_state(gpr_cmdline* cl, char* str) {
+ if (!cl->extra_arg) {
+ return print_usage_and_die(cl);
+ }
+ cl->extra_arg(cl->extra_arg_user_data, str);
+ return 1;
+}
+
+static arg* find_arg(gpr_cmdline* cl, char* name) {
+ arg* a;
+
+ for (a = cl->args; a; a = a->next) {
+ if (0 == strcmp(a->name, name)) {
+ break;
+ }
+ }
+
+ if (!a) {
+ fprintf(stderr, "Unknown argument: %s\n", name);
+ return nullptr;
+ }
+
+ return a;
+}
+
+static int value_state(gpr_cmdline* cl, char* str) {
+ long intval;
+ char* end;
+
+ GPR_ASSERT(cl->cur_arg);
+
+ switch (cl->cur_arg->type) {
+ case ARGTYPE_INT:
+ intval = strtol(str, &end, 0);
+ if (*end || intval < INT_MIN || intval > INT_MAX) {
+ fprintf(stderr, "expected integer, got '%s' for %s\n", str,
+ cl->cur_arg->name);
+ return print_usage_and_die(cl);
+ }
+ *static_cast<int*>(cl->cur_arg->value) = static_cast<int>(intval);
+ break;
+ case ARGTYPE_BOOL:
+ if (0 == strcmp(str, "1") || 0 == strcmp(str, "true")) {
+ *static_cast<int*>(cl->cur_arg->value) = 1;
+ } else if (0 == strcmp(str, "0") || 0 == strcmp(str, "false")) {
+ *static_cast<int*>(cl->cur_arg->value) = 0;
+ } else {
+ fprintf(stderr, "expected boolean, got '%s' for %s\n", str,
+ cl->cur_arg->name);
+ return print_usage_and_die(cl);
+ }
+ break;
+ case ARGTYPE_STRING:
+ *static_cast<char**>(cl->cur_arg->value) = str;
+ break;
+ }
+
+ cl->state = normal_state;
+ return 1;
+}
+
+static int normal_state(gpr_cmdline* cl, char* str) {
+ char* eq = nullptr;
+ char* tmp = nullptr;
+ char* arg_name = nullptr;
+ int r = 1;
+
+ if (0 == strcmp(str, "-help") || 0 == strcmp(str, "--help") ||
+ 0 == strcmp(str, "-h")) {
+ return print_usage_and_die(cl);
+ }
+
+ cl->cur_arg = nullptr;
+
+ if (str[0] == '-') {
+ if (str[1] == '-') {
+ if (str[2] == 0) {
+ /* handle '--' to move to just extra args */
+ cl->state = extra_state;
+ return 1;
+ }
+ str += 2;
+ } else {
+ str += 1;
+ }
+ /* first byte of str is now past the leading '-' or '--' */
+ if (str[0] == 'n' && str[1] == 'o' && str[2] == '-') {
+ /* str is of the form '--no-foo' - it's a flag disable */
+ str += 3;
+ cl->cur_arg = find_arg(cl, str);
+ if (cl->cur_arg == nullptr) {
+ return print_usage_and_die(cl);
+ }
+ if (cl->cur_arg->type != ARGTYPE_BOOL) {
+ fprintf(stderr, "%s is not a flag argument\n", str);
+ return print_usage_and_die(cl);
+ }
+ *static_cast<int*>(cl->cur_arg->value) = 0;
+ return 1; /* early out */
+ }
+ eq = strchr(str, '=');
+ if (eq != nullptr) {
+ /* copy the string into a temp buffer and extract the name */
+ tmp = arg_name =
+ static_cast<char*>(gpr_malloc(static_cast<size_t>(eq - str + 1)));
+ memcpy(arg_name, str, static_cast<size_t>(eq - str));
+ arg_name[eq - str] = 0;
+ } else {
+ arg_name = str;
+ }
+ cl->cur_arg = find_arg(cl, arg_name);
+ if (cl->cur_arg == nullptr) {
+ return print_usage_and_die(cl);
+ }
+ if (eq != nullptr) {
+ /* str was of the type --foo=value, parse the value */
+ r = value_state(cl, eq + 1);
+ } else if (cl->cur_arg->type != ARGTYPE_BOOL) {
+ /* flag types don't have a '--foo value' variant, other types do */
+ cl->state = value_state;
+ } else {
+ /* flag parameter: just set the value */
+ *static_cast<int*>(cl->cur_arg->value) = 1;
+ }
+ } else {
+ r = extra_state(cl, str);
+ }
+
+ gpr_free(tmp);
+ return r;
+}
+
+int gpr_cmdline_parse(gpr_cmdline* cl, int argc, char** argv) {
+ int i;
+
+ GPR_ASSERT(argc >= 1);
+ cl->argv0 = argv[0];
+
+ for (i = 1; i < argc; i++) {
+ if (!cl->state(cl, argv[i])) {
+ return 0;
+ }
+ }
+ return 1;
+}
diff --git a/test/core/util/cmdline.h b/test/core/util/cmdline.h
new file mode 100644
index 0000000000..3ae35d6e6a
--- /dev/null
+++ b/test/core/util/cmdline.h
@@ -0,0 +1,80 @@
+/*
+ *
+ * Copyright 2015 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.
+ *
+ */
+
+#ifndef GRPC_TEST_CORE_UTIL_CMDLINE_H
+#define GRPC_TEST_CORE_UTIL_CMDLINE_H
+
+#include <grpc/support/port_platform.h>
+
+/** Simple command line parser.
+
+ Supports flags that can be specified as -foo, --foo, --no-foo, -no-foo, etc
+ And integers, strings that can be specified as -foo=4, -foo blah, etc
+
+ No support for short command line options (but we may get that in the
+ future.)
+
+ Usage (for a program with a single flag argument 'foo'):
+
+ int main(int argc, char **argv) {
+ gpr_cmdline *cl;
+ int verbose = 0;
+
+ cl = gpr_cmdline_create("My cool tool");
+ gpr_cmdline_add_int(cl, "verbose", "Produce verbose output?", &verbose);
+ gpr_cmdline_parse(cl, argc, argv);
+ gpr_cmdline_destroy(cl);
+
+ if (verbose) {
+ gpr_log(GPR_INFO, "Goodbye cruel world!");
+ }
+
+ return 0;
+ } */
+
+typedef struct gpr_cmdline gpr_cmdline;
+
+/** Construct a command line parser: takes a short description of the tool
+ doing the parsing */
+gpr_cmdline* gpr_cmdline_create(const char* description);
+/** Add an integer parameter, with a name (used on the command line) and some
+ helpful text (used in the command usage) */
+void gpr_cmdline_add_int(gpr_cmdline* cl, const char* name, const char* help,
+ int* value);
+/** The same, for a boolean flag */
+void gpr_cmdline_add_flag(gpr_cmdline* cl, const char* name, const char* help,
+ int* value);
+/** And for a string */
+void gpr_cmdline_add_string(gpr_cmdline* cl, const char* name, const char* help,
+ const char** value);
+/** Set a callback for non-named arguments */
+void gpr_cmdline_on_extra_arg(
+ gpr_cmdline* cl, const char* name, const char* help,
+ void (*on_extra_arg)(void* user_data, const char* arg), void* user_data);
+/** Enable surviving failure: default behavior is to exit the process */
+void gpr_cmdline_set_survive_failure(gpr_cmdline* cl);
+/** Parse the command line; returns 1 on success, on failure either dies
+ (by default) or returns 0 if gpr_cmdline_set_survive_failure() has been
+ called */
+int gpr_cmdline_parse(gpr_cmdline* cl, int argc, char** argv);
+/** Destroy the parser */
+void gpr_cmdline_destroy(gpr_cmdline* cl);
+/** Get a string describing usage */
+char* gpr_cmdline_usage_string(gpr_cmdline* cl, const char* argv0);
+
+#endif /* GRPC_TEST_CORE_UTIL_CMDLINE_H */
diff --git a/test/core/gpr/cmdline_test.cc b/test/core/util/cmdline_test.cc
index 172efda8a0..9f5ad88d57 100644
--- a/test/core/gpr/cmdline_test.cc
+++ b/test/core/util/cmdline_test.cc
@@ -16,13 +16,13 @@
*
*/
-#include <grpc/support/cmdline.h>
-
#include <string.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
+#include "test/core/util/cmdline.h"
#include "test/core/util/test_config.h"
#define LOG_TEST() gpr_log(GPR_INFO, "test at %s:%d", __FILE__, __LINE__)
diff --git a/test/core/util/debugger_macros.cc b/test/core/util/debugger_macros.cc
index bb96fc7054..05fb146173 100644
--- a/test/core/util/debugger_macros.cc
+++ b/test/core/util/debugger_macros.cc
@@ -54,5 +54,6 @@ grpc_stream* grpc_transport_stream_from_call(grpc_call* call) {
}
grpc_chttp2_stream* grpc_chttp2_stream_from_call(grpc_call* call) {
- return (grpc_chttp2_stream*)grpc_transport_stream_from_call(call);
+ return reinterpret_cast<grpc_chttp2_stream*>(
+ grpc_transport_stream_from_call(call));
}
diff --git a/test/core/util/fuzzer_one_entry_runner.sh b/test/core/util/fuzzer_one_entry_runner.sh
index 2634a1b3a9..7c471afcc2 100755
--- a/test/core/util/fuzzer_one_entry_runner.sh
+++ b/test/core/util/fuzzer_one_entry_runner.sh
@@ -15,4 +15,4 @@
# 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.
-$1 $2
+"$1" "$2"
diff --git a/test/core/util/histogram.cc b/test/core/util/histogram.cc
index 2f916f831d..f028ac404e 100644
--- a/test/core/util/histogram.cc
+++ b/test/core/util/histogram.cc
@@ -16,6 +16,8 @@
*
*/
+#include "test/core/util/histogram.h"
+
#include <math.h>
#include <stddef.h>
#include <string.h>
@@ -23,9 +25,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
-#include <grpc/support/useful.h>
-#include "test/core/util/histogram.h"
+#include "src/core/lib/gpr/useful.h"
/* Histograms are stored with exponentially increasing bucket sizes.
The first bucket is [0, m) where m = 1 + resolution
@@ -56,7 +57,7 @@ struct grpc_histogram {
/* determine a bucket index given a value - does no bounds checking */
static size_t bucket_for_unchecked(grpc_histogram* h, double x) {
- return (size_t)(log(x) * h->one_on_log_multiplier);
+ return static_cast<size_t>(log(x) * h->one_on_log_multiplier);
}
/* bounds checked version of the above */
@@ -73,7 +74,8 @@ static double bucket_start(grpc_histogram* h, double x) {
grpc_histogram* grpc_histogram_create(double resolution,
double max_bucket_start) {
- grpc_histogram* h = (grpc_histogram*)gpr_malloc(sizeof(grpc_histogram));
+ grpc_histogram* h =
+ static_cast<grpc_histogram*>(gpr_malloc(sizeof(grpc_histogram)));
GPR_ASSERT(resolution > 0.0);
GPR_ASSERT(max_bucket_start > resolution);
h->sum = 0.0;
@@ -87,7 +89,8 @@ grpc_histogram* grpc_histogram_create(double resolution,
h->num_buckets = bucket_for_unchecked(h, max_bucket_start) + 1;
GPR_ASSERT(h->num_buckets > 1);
GPR_ASSERT(h->num_buckets < 100000000);
- h->buckets = (uint32_t*)gpr_zalloc(sizeof(uint32_t) * h->num_buckets);
+ h->buckets =
+ static_cast<uint32_t*>(gpr_zalloc(sizeof(uint32_t) * h->num_buckets));
return h;
}
@@ -175,14 +178,14 @@ static double threshold_for_count_below(grpc_histogram* h, double count_below) {
break;
}
}
- return (bucket_start(h, (double)lower_idx) +
- bucket_start(h, (double)upper_idx)) /
+ return (bucket_start(h, static_cast<double>(lower_idx)) +
+ bucket_start(h, static_cast<double>(upper_idx))) /
2.0;
} else {
/* treat values as uniform throughout the bucket, and find where this value
should lie */
- lower_bound = bucket_start(h, (double)lower_idx);
- upper_bound = bucket_start(h, (double)(lower_idx + 1));
+ lower_bound = bucket_start(h, static_cast<double>(lower_idx));
+ upper_bound = bucket_start(h, static_cast<double>(lower_idx + 1));
return GPR_CLAMP(upper_bound - (upper_bound - lower_bound) *
(count_so_far - count_below) /
h->buckets[lower_idx],
diff --git a/test/core/util/memory_counters.cc b/test/core/util/memory_counters.cc
index 32d7b89c9a..4960fe0757 100644
--- a/test/core/util/memory_counters.cc
+++ b/test/core/util/memory_counters.cc
@@ -48,13 +48,13 @@ static void* guard_malloc(size_t size) {
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_size_relative, (gpr_atm)size);
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_allocs_absolute, (gpr_atm)1);
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_allocs_relative, (gpr_atm)1);
- ptr = (size_t*)g_old_allocs.malloc_fn(size + sizeof(size));
+ ptr = static_cast<size_t*>(g_old_allocs.malloc_fn(size + sizeof(size)));
*ptr++ = size;
return ptr;
}
static void* guard_realloc(void* vptr, size_t size) {
- size_t* ptr = (size_t*)vptr;
+ size_t* ptr = static_cast<size_t*>(vptr);
if (vptr == nullptr) {
return guard_malloc(size);
}
@@ -67,13 +67,13 @@ static void* guard_realloc(void* vptr, size_t size) {
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_size_relative, -(gpr_atm)*ptr);
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_size_relative, (gpr_atm)size);
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_allocs_absolute, (gpr_atm)1);
- ptr = (size_t*)g_old_allocs.realloc_fn(ptr, size + sizeof(size));
+ ptr = static_cast<size_t*>(g_old_allocs.realloc_fn(ptr, size + sizeof(size)));
*ptr++ = size;
return ptr;
}
static void guard_free(void* vptr) {
- size_t* ptr = (size_t*)vptr;
+ size_t* ptr = static_cast<size_t*>(vptr);
if (!vptr) return;
--ptr;
NO_BARRIER_FETCH_ADD(&g_memory_counters.total_size_relative, -(gpr_atm)*ptr);
diff --git a/test/core/util/mock_endpoint.cc b/test/core/util/mock_endpoint.cc
index 4b35a581b1..adeff18ef0 100644
--- a/test/core/util/mock_endpoint.cc
+++ b/test/core/util/mock_endpoint.cc
@@ -42,7 +42,7 @@ typedef struct grpc_mock_endpoint {
static void me_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
gpr_mu_lock(&m->mu);
if (m->read_buffer.count > 0) {
grpc_slice_buffer_swap(&m->read_buffer, slices);
@@ -56,7 +56,7 @@ static void me_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
static void me_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
for (size_t i = 0; i < slices->count; i++) {
m->on_write(slices->slices[i]);
}
@@ -72,7 +72,7 @@ static void me_delete_from_pollset_set(grpc_endpoint* ep,
grpc_pollset_set* pollset) {}
static void me_shutdown(grpc_endpoint* ep, grpc_error* why) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
gpr_mu_lock(&m->mu);
if (m->on_read) {
GRPC_CLOSURE_SCHED(m->on_read,
@@ -86,7 +86,7 @@ static void me_shutdown(grpc_endpoint* ep, grpc_error* why) {
}
static void me_destroy(grpc_endpoint* ep) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
grpc_slice_buffer_destroy(&m->read_buffer);
grpc_resource_user_unref(m->resource_user);
gpr_free(m);
@@ -97,7 +97,7 @@ static char* me_get_peer(grpc_endpoint* ep) {
}
static grpc_resource_user* me_get_resource_user(grpc_endpoint* ep) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
return m->resource_user;
}
@@ -118,7 +118,8 @@ static const grpc_endpoint_vtable vtable = {
grpc_endpoint* grpc_mock_endpoint_create(void (*on_write)(grpc_slice slice),
grpc_resource_quota* resource_quota) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)gpr_malloc(sizeof(*m));
+ grpc_mock_endpoint* m =
+ static_cast<grpc_mock_endpoint*>(gpr_malloc(sizeof(*m)));
m->base.vtable = &vtable;
char* name;
gpr_asprintf(&name, "mock_endpoint_%" PRIxPTR, (intptr_t)m);
@@ -132,7 +133,7 @@ grpc_endpoint* grpc_mock_endpoint_create(void (*on_write)(grpc_slice slice),
}
void grpc_mock_endpoint_put_read(grpc_endpoint* ep, grpc_slice slice) {
- grpc_mock_endpoint* m = (grpc_mock_endpoint*)ep;
+ grpc_mock_endpoint* m = reinterpret_cast<grpc_mock_endpoint*>(ep);
gpr_mu_lock(&m->mu);
if (m->on_read != nullptr) {
grpc_slice_buffer_add(m->on_read_out, slice);
diff --git a/test/core/util/parse_hexstring.cc b/test/core/util/parse_hexstring.cc
index 622642a298..cd64843bd3 100644
--- a/test/core/util/parse_hexstring.cc
+++ b/test/core/util/parse_hexstring.cc
@@ -39,10 +39,11 @@ grpc_slice parse_hexstring(const char* hexstring) {
temp = 0;
for (p = hexstring; *p; p++) {
if (*p >= '0' && *p <= '9') {
- temp = (uint8_t)(temp << 4) | (uint8_t)(*p - '0');
+ temp = static_cast<uint8_t>(temp << 4) | static_cast<uint8_t>(*p - '0');
nibbles++;
} else if (*p >= 'a' && *p <= 'f') {
- temp = (uint8_t)(temp << 4) | (uint8_t)(*p - 'a' + 10);
+ temp =
+ static_cast<uint8_t>(temp << 4) | static_cast<uint8_t>(*p - 'a' + 10);
nibbles++;
}
if (nibbles == 2) {
diff --git a/test/core/util/passthru_endpoint.cc b/test/core/util/passthru_endpoint.cc
index 5f127cb960..5958216747 100644
--- a/test/core/util/passthru_endpoint.cc
+++ b/test/core/util/passthru_endpoint.cc
@@ -48,8 +48,6 @@ struct passthru_endpoint {
gpr_mu mu;
int halves;
grpc_passthru_endpoint_stats* stats;
- grpc_passthru_endpoint_stats
- dummy_stats; // used if constructor stats == nullptr
bool shutdown;
half client;
half server;
@@ -57,7 +55,7 @@ struct passthru_endpoint {
static void me_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- half* m = (half*)ep;
+ half* m = reinterpret_cast<half*>(ep);
gpr_mu_lock(&m->parent->mu);
if (m->parent->shutdown) {
GRPC_CLOSURE_SCHED(
@@ -79,7 +77,7 @@ static half* other_half(half* h) {
static void me_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- half* m = other_half((half*)ep);
+ half* m = other_half(reinterpret_cast<half*>(ep));
gpr_mu_lock(&m->parent->mu);
grpc_error* error = GRPC_ERROR_NONE;
gpr_atm_no_barrier_fetch_add(&m->parent->stats->num_writes, (gpr_atm)1);
@@ -110,7 +108,7 @@ static void me_delete_from_pollset_set(grpc_endpoint* ep,
grpc_pollset_set* pollset) {}
static void me_shutdown(grpc_endpoint* ep, grpc_error* why) {
- half* m = (half*)ep;
+ half* m = reinterpret_cast<half*>(ep);
gpr_mu_lock(&m->parent->mu);
m->parent->shutdown = true;
if (m->on_read) {
@@ -132,11 +130,12 @@ static void me_shutdown(grpc_endpoint* ep, grpc_error* why) {
}
static void me_destroy(grpc_endpoint* ep) {
- passthru_endpoint* p = ((half*)ep)->parent;
+ passthru_endpoint* p = (reinterpret_cast<half*>(ep))->parent;
gpr_mu_lock(&p->mu);
if (0 == --p->halves) {
gpr_mu_unlock(&p->mu);
gpr_mu_destroy(&p->mu);
+ grpc_passthru_endpoint_stats_destroy(p->stats);
grpc_slice_buffer_destroy_internal(&p->client.read_buffer);
grpc_slice_buffer_destroy_internal(&p->server.read_buffer);
grpc_resource_user_unref(p->client.resource_user);
@@ -148,15 +147,16 @@ static void me_destroy(grpc_endpoint* ep) {
}
static char* me_get_peer(grpc_endpoint* ep) {
- passthru_endpoint* p = ((half*)ep)->parent;
- return ((half*)ep) == &p->client ? gpr_strdup("fake:mock_client_endpoint")
- : gpr_strdup("fake:mock_server_endpoint");
+ passthru_endpoint* p = (reinterpret_cast<half*>(ep))->parent;
+ return (reinterpret_cast<half*>(ep)) == &p->client
+ ? gpr_strdup("fake:mock_client_endpoint")
+ : gpr_strdup("fake:mock_server_endpoint");
}
static int me_get_fd(grpc_endpoint* ep) { return -1; }
static grpc_resource_user* me_get_resource_user(grpc_endpoint* ep) {
- half* m = (half*)ep;
+ half* m = reinterpret_cast<half*>(ep);
return m->resource_user;
}
@@ -191,14 +191,34 @@ void grpc_passthru_endpoint_create(grpc_endpoint** client,
grpc_endpoint** server,
grpc_resource_quota* resource_quota,
grpc_passthru_endpoint_stats* stats) {
- passthru_endpoint* m = (passthru_endpoint*)gpr_malloc(sizeof(*m));
+ passthru_endpoint* m =
+ static_cast<passthru_endpoint*>(gpr_malloc(sizeof(*m)));
m->halves = 2;
m->shutdown = 0;
- m->stats = stats == nullptr ? &m->dummy_stats : stats;
- memset(m->stats, 0, sizeof(*m->stats));
+ if (stats == nullptr) {
+ m->stats = grpc_passthru_endpoint_stats_create();
+ } else {
+ gpr_ref(&stats->refs);
+ m->stats = stats;
+ }
half_init(&m->client, m, resource_quota, "client");
half_init(&m->server, m, resource_quota, "server");
gpr_mu_init(&m->mu);
*client = &m->client.base;
*server = &m->server.base;
}
+
+grpc_passthru_endpoint_stats* grpc_passthru_endpoint_stats_create() {
+ grpc_passthru_endpoint_stats* stats =
+ static_cast<grpc_passthru_endpoint_stats*>(
+ gpr_malloc(sizeof(grpc_passthru_endpoint_stats)));
+ memset(stats, 0, sizeof(*stats));
+ gpr_ref_init(&stats->refs, 1);
+ return stats;
+}
+
+void grpc_passthru_endpoint_stats_destroy(grpc_passthru_endpoint_stats* stats) {
+ if (gpr_unref(&stats->refs)) {
+ gpr_free(stats);
+ }
+}
diff --git a/test/core/util/passthru_endpoint.h b/test/core/util/passthru_endpoint.h
index bddd8ea6a2..a46c775505 100644
--- a/test/core/util/passthru_endpoint.h
+++ b/test/core/util/passthru_endpoint.h
@@ -23,7 +23,11 @@
#include "src/core/lib/iomgr/endpoint.h"
+/* The struct is refcounted, always use grpc_passthru_endpoint_stats_create and
+ * grpc_passthru_endpoint_stats_destroy, rather then embedding it in your
+ * objects by value. */
typedef struct {
+ gpr_refcount refs;
gpr_atm num_writes;
} grpc_passthru_endpoint_stats;
@@ -32,4 +36,8 @@ void grpc_passthru_endpoint_create(grpc_endpoint** client,
grpc_resource_quota* resource_quota,
grpc_passthru_endpoint_stats* stats);
+grpc_passthru_endpoint_stats* grpc_passthru_endpoint_stats_create();
+
+void grpc_passthru_endpoint_stats_destroy(grpc_passthru_endpoint_stats* stats);
+
#endif
diff --git a/test/core/util/port.cc b/test/core/util/port.cc
index 9d02b673ed..303306de45 100644
--- a/test/core/util/port.cc
+++ b/test/core/util/port.cc
@@ -75,8 +75,8 @@ static void chose_port(int port) {
atexit(free_chosen_ports);
}
num_chosen_ports++;
- chosen_ports =
- (int*)gpr_realloc(chosen_ports, sizeof(int) * num_chosen_ports);
+ chosen_ports = static_cast<int*>(
+ gpr_realloc(chosen_ports, sizeof(int) * num_chosen_ports));
chosen_ports[num_chosen_ports - 1] = port;
}
diff --git a/test/core/util/port_server_client.cc b/test/core/util/port_server_client.cc
index 7e76c8063f..9a4159944b 100644
--- a/test/core/util/port_server_client.cc
+++ b/test/core/util/port_server_client.cc
@@ -41,13 +41,14 @@ typedef struct freereq {
} freereq;
static void destroy_pops_and_shutdown(void* p, grpc_error* error) {
- grpc_pollset* pollset = grpc_polling_entity_pollset((grpc_polling_entity*)p);
+ grpc_pollset* pollset =
+ grpc_polling_entity_pollset(static_cast<grpc_polling_entity*>(p));
grpc_pollset_destroy(pollset);
gpr_free(pollset);
}
static void freed_port_from_server(void* arg, grpc_error* error) {
- freereq* pr = (freereq*)arg;
+ freereq* pr = static_cast<freereq*>(arg);
gpr_mu_lock(pr->mu);
pr->done = 1;
GRPC_LOG_IF_ERROR(
@@ -71,7 +72,8 @@ void grpc_free_port_using_server(int port) {
memset(&req, 0, sizeof(req));
memset(&rsp, 0, sizeof(rsp));
- grpc_pollset* pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ grpc_pollset* pollset =
+ static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(pollset, &pr.mu);
pr.pops = grpc_polling_entity_create_from_pollset(pollset);
shutdown_closure = GRPC_CLOSURE_CREATE(destroy_pops_and_shutdown, &pr.pops,
@@ -127,7 +129,7 @@ typedef struct portreq {
static void got_port_from_server(void* arg, grpc_error* error) {
size_t i;
int port = 0;
- portreq* pr = (portreq*)arg;
+ portreq* pr = static_cast<portreq*>(arg);
int failed = 0;
grpc_httpcli_response* response = &pr->response;
@@ -158,7 +160,8 @@ static void got_port_from_server(void* arg, grpc_error* error) {
gpr_sleep_until(gpr_time_add(
gpr_now(GPR_CLOCK_REALTIME),
gpr_time_from_millis(
- (int64_t)(1000.0 * (1 + pow(1.3, pr->retries) * rand() / RAND_MAX)),
+ static_cast<int64_t>(
+ 1000.0 * (1 + pow(1.3, pr->retries) * rand() / RAND_MAX)),
GPR_TIMESPAN)));
pr->retries++;
req.host = pr->server;
@@ -201,7 +204,8 @@ int grpc_pick_port_using_server(void) {
grpc_core::ExecCtx exec_ctx;
memset(&pr, 0, sizeof(pr));
memset(&req, 0, sizeof(req));
- grpc_pollset* pollset = (grpc_pollset*)gpr_zalloc(grpc_pollset_size());
+ grpc_pollset* pollset =
+ static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size()));
grpc_pollset_init(pollset, &pr.mu);
pr.pops = grpc_polling_entity_create_from_pollset(pollset);
shutdown_closure = GRPC_CLOSURE_CREATE(destroy_pops_and_shutdown, &pr.pops,
diff --git a/test/core/util/reconnect_server.cc b/test/core/util/reconnect_server.cc
index bcafc4e898..ad7cf42f71 100644
--- a/test/core/util/reconnect_server.cc
+++ b/test/core/util/reconnect_server.cc
@@ -20,11 +20,12 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
#include <string.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/iomgr/tcp_server.h"
@@ -61,7 +62,7 @@ static void on_connect(void* arg, grpc_endpoint* tcp,
gpr_free(acceptor);
char* peer;
char* last_colon;
- reconnect_server* server = (reconnect_server*)arg;
+ reconnect_server* server = static_cast<reconnect_server*>(arg);
gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
timestamp_list* new_tail;
peer = grpc_endpoint_get_peer(tcp);
@@ -75,8 +76,8 @@ static void on_connect(void* arg, grpc_endpoint* tcp,
} else {
if (last_colon == nullptr) {
gpr_log(GPR_ERROR, "peer does not contain a ':'");
- } else if (strncmp(server->peer, peer, (size_t)(last_colon - peer)) !=
- 0) {
+ } else if (strncmp(server->peer, peer,
+ static_cast<size_t>(last_colon - peer)) != 0) {
gpr_log(GPR_ERROR, "mismatched peer! %s vs %s", server->peer, peer);
}
gpr_free(peer);
diff --git a/test/core/util/run_with_poller.sh b/test/core/util/run_with_poller.sh
index 05791457a2..382a63e8ae 100755
--- a/test/core/util/run_with_poller.sh
+++ b/test/core/util/run_with_poller.sh
@@ -16,4 +16,4 @@
set -ex
export GRPC_POLL_STRATEGY=$1
shift
-$@
+"$@"
diff --git a/test/core/util/slice_splitter.cc b/test/core/util/slice_splitter.cc
index 7225b6dc03..1f81d03d96 100644
--- a/test/core/util/slice_splitter.cc
+++ b/test/core/util/slice_splitter.cc
@@ -21,7 +21,8 @@
#include <string.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
const char* grpc_slice_split_mode_name(grpc_slice_split_mode mode) {
switch (mode) {
@@ -44,8 +45,8 @@ void grpc_split_slices(grpc_slice_split_mode mode, grpc_slice* src_slices,
switch (mode) {
case GRPC_SLICE_SPLIT_IDENTITY:
*dst_slice_count = src_slice_count;
- *dst_slices =
- (grpc_slice*)gpr_malloc(sizeof(grpc_slice) * src_slice_count);
+ *dst_slices = static_cast<grpc_slice*>(
+ gpr_malloc(sizeof(grpc_slice) * src_slice_count));
for (i = 0; i < src_slice_count; i++) {
(*dst_slices)[i] = src_slices[i];
grpc_slice_ref((*dst_slices)[i]);
@@ -57,7 +58,7 @@ void grpc_split_slices(grpc_slice_split_mode mode, grpc_slice* src_slices,
for (i = 0; i < src_slice_count; i++) {
length += GRPC_SLICE_LENGTH(src_slices[i]);
}
- *dst_slices = (grpc_slice*)gpr_malloc(sizeof(grpc_slice));
+ *dst_slices = static_cast<grpc_slice*>(gpr_malloc(sizeof(grpc_slice)));
**dst_slices = grpc_slice_malloc(length);
length = 0;
for (i = 0; i < src_slice_count; i++) {
@@ -73,7 +74,8 @@ void grpc_split_slices(grpc_slice_split_mode mode, grpc_slice* src_slices,
length += GRPC_SLICE_LENGTH(src_slices[i]);
}
*dst_slice_count = length;
- *dst_slices = (grpc_slice*)gpr_malloc(sizeof(grpc_slice) * length);
+ *dst_slices =
+ static_cast<grpc_slice*>(gpr_malloc(sizeof(grpc_slice) * length));
length = 0;
for (i = 0; i < src_slice_count; i++) {
for (j = 0; j < GRPC_SLICE_LENGTH(src_slices[i]); j++) {
@@ -113,7 +115,7 @@ grpc_slice grpc_slice_merge(grpc_slice* slices, size_t nslices) {
for (i = 0; i < nslices; i++) {
if (GRPC_SLICE_LENGTH(slices[i]) + length > capacity) {
capacity = GPR_MAX(capacity * 2, GRPC_SLICE_LENGTH(slices[i]) + length);
- out = (uint8_t*)gpr_realloc(out, capacity);
+ out = static_cast<uint8_t*>(gpr_realloc(out, capacity));
}
memcpy(out + length, GRPC_SLICE_START_PTR(slices[i]),
GRPC_SLICE_LENGTH(slices[i]));
diff --git a/test/core/util/subprocess.h b/test/core/util/subprocess.h
new file mode 100644
index 0000000000..c7fe9af435
--- /dev/null
+++ b/test/core/util/subprocess.h
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright 2015 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.
+ *
+ */
+
+#ifndef GRPC_TEST_CORE_UTIL_SUBPROCESS_H
+#define GRPC_TEST_CORE_UTIL_SUBPROCESS_H
+
+#include <grpc/support/port_platform.h>
+
+typedef struct gpr_subprocess gpr_subprocess;
+
+/** .exe on windows, empty on unices */
+const char* gpr_subprocess_binary_extension();
+
+gpr_subprocess* gpr_subprocess_create(int argc, const char** argv);
+/** if subprocess has not been joined, kill it */
+void gpr_subprocess_destroy(gpr_subprocess* p);
+/** returns exit status; can be called at most once */
+int gpr_subprocess_join(gpr_subprocess* p);
+void gpr_subprocess_interrupt(gpr_subprocess* p);
+
+#endif /* GRPC_TEST_CORE_UTIL_SUBPROCESS_H */
diff --git a/test/core/util/subprocess_posix.cc b/test/core/util/subprocess_posix.cc
new file mode 100644
index 0000000000..ab288d777f
--- /dev/null
+++ b/test/core/util/subprocess_posix.cc
@@ -0,0 +1,100 @@
+/*
+ *
+ * Copyright 2015 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 <grpc/support/port_platform.h>
+
+#ifdef GPR_POSIX_SUBPROCESS
+
+#include <assert.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+
+#include "test/core/util/subprocess.h"
+
+struct gpr_subprocess {
+ int pid;
+ bool joined;
+};
+
+const char* gpr_subprocess_binary_extension() { return ""; }
+
+gpr_subprocess* gpr_subprocess_create(int argc, const char** argv) {
+ gpr_subprocess* r;
+ int pid;
+ char** exec_args;
+
+ pid = fork();
+ if (pid == -1) {
+ return nullptr;
+ } else if (pid == 0) {
+ exec_args = static_cast<char**>(
+ gpr_malloc((static_cast<size_t>(argc) + 1) * sizeof(char*)));
+ memcpy(exec_args, argv, static_cast<size_t>(argc) * sizeof(char*));
+ exec_args[argc] = nullptr;
+ execv(exec_args[0], exec_args);
+ /* if we reach here, an error has occurred */
+ gpr_log(GPR_ERROR, "execv '%s' failed: %s", exec_args[0], strerror(errno));
+ _exit(1);
+ return nullptr;
+ } else {
+ r = static_cast<gpr_subprocess*>(gpr_zalloc(sizeof(gpr_subprocess)));
+ r->pid = pid;
+ return r;
+ }
+}
+
+void gpr_subprocess_destroy(gpr_subprocess* p) {
+ if (!p->joined) {
+ kill(p->pid, SIGKILL);
+ gpr_subprocess_join(p);
+ }
+ gpr_free(p);
+}
+
+int gpr_subprocess_join(gpr_subprocess* p) {
+ int status;
+retry:
+ if (waitpid(p->pid, &status, 0) == -1) {
+ if (errno == EINTR) {
+ goto retry;
+ }
+ gpr_log(GPR_ERROR, "waitpid failed for pid %d: %s", p->pid,
+ strerror(errno));
+ return -1;
+ }
+ p->joined = true;
+ return status;
+}
+
+void gpr_subprocess_interrupt(gpr_subprocess* p) {
+ if (!p->joined) {
+ kill(p->pid, SIGINT);
+ }
+}
+
+#endif /* GPR_POSIX_SUBPROCESS */
diff --git a/test/core/util/subprocess_windows.cc b/test/core/util/subprocess_windows.cc
new file mode 100644
index 0000000000..d3295244ea
--- /dev/null
+++ b/test/core/util/subprocess_windows.cc
@@ -0,0 +1,126 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#include <grpc/support/port_platform.h>
+
+#ifdef GPR_WINDOWS_SUBPROCESS
+
+#include <string.h>
+#include <tchar.h>
+#include <windows.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/string_windows.h"
+#include "test/core/util/subprocess.h"
+
+struct gpr_subprocess {
+ PROCESS_INFORMATION pi;
+ int joined;
+ int interrupted;
+};
+
+const char* gpr_subprocess_binary_extension() { return ".exe"; }
+
+gpr_subprocess* gpr_subprocess_create(int argc, const char** argv) {
+ gpr_subprocess* r;
+
+ STARTUPINFO si;
+ PROCESS_INFORMATION pi;
+
+ char* args = gpr_strjoin_sep(argv, (size_t)argc, " ", NULL);
+ TCHAR* args_tchar;
+
+ args_tchar = gpr_char_to_tchar(args);
+ gpr_free(args);
+
+ memset(&si, 0, sizeof(si));
+ si.cb = sizeof(si);
+ memset(&pi, 0, sizeof(pi));
+
+ if (!CreateProcess(NULL, args_tchar, NULL, NULL, FALSE,
+ CREATE_NEW_PROCESS_GROUP, NULL, NULL, &si, &pi)) {
+ gpr_free(args_tchar);
+ return NULL;
+ }
+ gpr_free(args_tchar);
+
+ r = (gpr_subprocess*)gpr_malloc(sizeof(gpr_subprocess));
+ memset(r, 0, sizeof(*r));
+ r->pi = pi;
+ return r;
+}
+
+void gpr_subprocess_destroy(gpr_subprocess* p) {
+ if (p) {
+ if (!p->joined) {
+ gpr_subprocess_interrupt(p);
+ gpr_subprocess_join(p);
+ }
+ if (p->pi.hProcess) {
+ CloseHandle(p->pi.hProcess);
+ }
+ if (p->pi.hThread) {
+ CloseHandle(p->pi.hThread);
+ }
+ gpr_free(p);
+ }
+}
+
+int gpr_subprocess_join(gpr_subprocess* p) {
+ DWORD dwExitCode;
+ if (GetExitCodeProcess(p->pi.hProcess, &dwExitCode)) {
+ if (dwExitCode == STILL_ACTIVE) {
+ if (WaitForSingleObject(p->pi.hProcess, INFINITE) == WAIT_OBJECT_0) {
+ p->joined = 1;
+ goto getExitCode;
+ }
+ return -1; // failed to join
+ } else {
+ goto getExitCode;
+ }
+ } else {
+ return -1; // failed to get exit code
+ }
+
+getExitCode:
+ if (p->interrupted) {
+ return 0;
+ }
+ if (GetExitCodeProcess(p->pi.hProcess, &dwExitCode)) {
+ return (int)dwExitCode;
+ } else {
+ return -1; // failed to get exit code
+ }
+}
+
+void gpr_subprocess_interrupt(gpr_subprocess* p) {
+ DWORD dwExitCode;
+ if (GetExitCodeProcess(p->pi.hProcess, &dwExitCode)) {
+ if (dwExitCode == STILL_ACTIVE) {
+ gpr_log(GPR_INFO, "sending ctrl-break");
+ GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, p->pi.dwProcessId);
+ p->joined = 1;
+ p->interrupted = 1;
+ }
+ }
+ return;
+}
+
+#endif /* GPR_WINDOWS_SUBPROCESS */
diff --git a/test/core/util/test_config.cc b/test/core/util/test_config.cc
index 6b410440c2..53a6297d6e 100644
--- a/test/core/util/test_config.cc
+++ b/test/core/util/test_config.cc
@@ -29,13 +29,14 @@
#include "src/core/lib/gpr/env.h"
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/gpr/useful.h"
int64_t g_fixture_slowdown_factor = 1;
int64_t g_poller_slowdown_factor = 1;
#if GPR_GETPID_IN_UNISTD_H
#include <unistd.h>
-static unsigned seed(void) { return (unsigned)getpid(); }
+static unsigned seed(void) { return static_cast<unsigned>(getpid()); }
#endif
#if GPR_GETPID_IN_PROCESS_H
@@ -196,7 +197,6 @@ static void install_crash_handler() {
#elif GPR_POSIX_CRASH_HANDLER
#include <errno.h>
#include <execinfo.h>
-#include <grpc/support/useful.h>
#include <stdio.h>
#include <string.h>
@@ -264,7 +264,7 @@ static void install_crash_handler() {
ss.ss_size = sizeof(g_alt_stack);
ss.ss_sp = g_alt_stack;
GPR_ASSERT(sigaltstack(&ss, nullptr) == 0);
- sa.sa_flags = (int)(SA_SIGINFO | SA_ONSTACK | SA_RESETHAND);
+ sa.sa_flags = static_cast<int>(SA_SIGINFO | SA_ONSTACK | SA_RESETHAND);
sa.sa_sigaction = crash_handler;
GPR_ASSERT(sigaction(SIGILL, &sa, nullptr) == 0);
GPR_ASSERT(sigaction(SIGABRT, &sa, nullptr) == 0);
@@ -365,15 +365,17 @@ int64_t grpc_test_slowdown_factor() {
gpr_timespec grpc_timeout_seconds_to_deadline(int64_t time_s) {
return gpr_time_add(
gpr_now(GPR_CLOCK_MONOTONIC),
- gpr_time_from_millis(grpc_test_slowdown_factor() * (int64_t)1e3 * time_s,
- GPR_TIMESPAN));
+ gpr_time_from_millis(
+ grpc_test_slowdown_factor() * static_cast<int64_t>(1e3) * time_s,
+ GPR_TIMESPAN));
}
gpr_timespec grpc_timeout_milliseconds_to_deadline(int64_t time_ms) {
return gpr_time_add(
gpr_now(GPR_CLOCK_MONOTONIC),
- gpr_time_from_micros(grpc_test_slowdown_factor() * (int64_t)1e3 * time_ms,
- GPR_TIMESPAN));
+ gpr_time_from_micros(
+ grpc_test_slowdown_factor() * static_cast<int64_t>(1e3) * time_ms,
+ GPR_TIMESPAN));
}
void grpc_test_init(int argc, char** argv) {
diff --git a/test/core/util/test_tcp_server.cc b/test/core/util/test_tcp_server.cc
index 5f6af4e707..cb2bc701fa 100644
--- a/test/core/util/test_tcp_server.cc
+++ b/test/core/util/test_tcp_server.cc
@@ -22,11 +22,12 @@
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
#include <string.h>
+
+#include "src/core/lib/gpr/host_port.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/tcp_server.h"
@@ -53,12 +54,13 @@ void test_tcp_server_init(test_tcp_server* server,
void test_tcp_server_start(test_tcp_server* server, int port) {
grpc_resolved_address resolved_addr;
- struct sockaddr_in* addr = (struct sockaddr_in*)resolved_addr.addr;
+ struct sockaddr_in* addr =
+ reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
int port_added;
grpc_core::ExecCtx exec_ctx;
addr->sin_family = AF_INET;
- addr->sin_port = htons((uint16_t)port);
+ addr->sin_port = htons(static_cast<uint16_t>(port));
memset(&addr->sin_addr, 0, sizeof(addr->sin_addr));
grpc_error* error = grpc_tcp_server_create(&server->shutdown_complete,
diff --git a/test/core/util/trickle_endpoint.cc b/test/core/util/trickle_endpoint.cc
index f95ed62463..f2efb049b4 100644
--- a/test/core/util/trickle_endpoint.cc
+++ b/test/core/util/trickle_endpoint.cc
@@ -26,7 +26,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
+
+#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/slice/slice_internal.h"
#define WRITE_BUFFER_SIZE (2 * 1024 * 1024)
@@ -47,7 +48,7 @@ typedef struct {
static void te_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
grpc_endpoint_read(te->wrapped, slices, cb);
}
@@ -62,7 +63,7 @@ static void maybe_call_write_cb_locked(trickle_endpoint* te) {
static void te_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
grpc_closure* cb) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
gpr_mu_lock(&te->mu);
GPR_ASSERT(te->write_cb == nullptr);
if (te->write_buffer.length == 0) {
@@ -78,24 +79,24 @@ static void te_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
}
static void te_add_to_pollset(grpc_endpoint* ep, grpc_pollset* pollset) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
grpc_endpoint_add_to_pollset(te->wrapped, pollset);
}
static void te_add_to_pollset_set(grpc_endpoint* ep,
grpc_pollset_set* pollset_set) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
grpc_endpoint_add_to_pollset_set(te->wrapped, pollset_set);
}
static void te_delete_from_pollset_set(grpc_endpoint* ep,
grpc_pollset_set* pollset_set) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
grpc_endpoint_delete_from_pollset_set(te->wrapped, pollset_set);
}
static void te_shutdown(grpc_endpoint* ep, grpc_error* why) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
gpr_mu_lock(&te->mu);
if (te->error == GRPC_ERROR_NONE) {
te->error = GRPC_ERROR_REF(why);
@@ -106,7 +107,7 @@ static void te_shutdown(grpc_endpoint* ep, grpc_error* why) {
}
static void te_destroy(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
grpc_endpoint_destroy(te->wrapped);
gpr_mu_destroy(&te->mu);
grpc_slice_buffer_destroy_internal(&te->write_buffer);
@@ -116,22 +117,22 @@ static void te_destroy(grpc_endpoint* ep) {
}
static grpc_resource_user* te_get_resource_user(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
return grpc_endpoint_get_resource_user(te->wrapped);
}
static char* te_get_peer(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
return grpc_endpoint_get_peer(te->wrapped);
}
static int te_get_fd(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
return grpc_endpoint_get_fd(te->wrapped);
}
static void te_finish_write(void* arg, grpc_error* error) {
- trickle_endpoint* te = (trickle_endpoint*)arg;
+ trickle_endpoint* te = static_cast<trickle_endpoint*>(arg);
gpr_mu_lock(&te->mu);
te->writing = false;
grpc_slice_buffer_reset_and_unref(&te->writing_buffer);
@@ -151,7 +152,8 @@ static const grpc_endpoint_vtable vtable = {te_read,
grpc_endpoint* grpc_trickle_endpoint_create(grpc_endpoint* wrap,
double bytes_per_second) {
- trickle_endpoint* te = (trickle_endpoint*)gpr_malloc(sizeof(*te));
+ trickle_endpoint* te =
+ static_cast<trickle_endpoint*>(gpr_malloc(sizeof(*te)));
te->base.vtable = &vtable;
te->wrapped = wrap;
te->bytes_per_second = bytes_per_second;
@@ -165,16 +167,16 @@ grpc_endpoint* grpc_trickle_endpoint_create(grpc_endpoint* wrap,
}
static double ts2dbl(gpr_timespec s) {
- return (double)s.tv_sec + 1e-9 * (double)s.tv_nsec;
+ return static_cast<double>(s.tv_sec) + 1e-9 * static_cast<double>(s.tv_nsec);
}
size_t grpc_trickle_endpoint_trickle(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
gpr_mu_lock(&te->mu);
if (!te->writing && te->write_buffer.length > 0) {
gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC);
double elapsed = ts2dbl(gpr_time_sub(now, te->last_write));
- size_t bytes = (size_t)(te->bytes_per_second * elapsed);
+ size_t bytes = static_cast<size_t>(te->bytes_per_second * elapsed);
// gpr_log(GPR_DEBUG, "%lf elapsed --> %" PRIdPTR " bytes", elapsed, bytes);
if (bytes > 0) {
grpc_slice_buffer_move_first(&te->write_buffer,
@@ -194,7 +196,7 @@ size_t grpc_trickle_endpoint_trickle(grpc_endpoint* ep) {
}
size_t grpc_trickle_get_backlog(grpc_endpoint* ep) {
- trickle_endpoint* te = (trickle_endpoint*)ep;
+ trickle_endpoint* te = reinterpret_cast<trickle_endpoint*>(ep);
gpr_mu_lock(&te->mu);
size_t backlog = te->write_buffer.length;
gpr_mu_unlock(&te->mu);