aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core
diff options
context:
space:
mode:
Diffstat (limited to 'test/core')
-rw-r--r--test/core/avl/avl_test.cc3361
-rw-r--r--test/core/channel/BUILD1
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc8
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc18
-rw-r--r--test/core/end2end/end2end_nosec_tests.cc8
-rw-r--r--test/core/end2end/end2end_tests.cc8
-rw-r--r--test/core/end2end/fixtures/h2_http_proxy.cc5
-rw-r--r--test/core/end2end/fixtures/http_proxy_fixture.cc3
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer.cc14
-rwxr-xr-xtest/core/end2end/gen_build_yaml.py1
-rwxr-xr-xtest/core/end2end/generate_tests.bzl1
-rw-r--r--test/core/end2end/goaway_server_test.cc20
-rw-r--r--test/core/end2end/tests/no_error_on_hotpath.cc246
-rw-r--r--test/core/end2end/tests/retry_server_pushback_delay.cc2
-rw-r--r--test/core/gpr/arena_test.cc2
-rw-r--r--test/core/iomgr/BUILD1
-rw-r--r--test/core/iomgr/ev_epollsig_linux_test.cc10
-rw-r--r--test/core/iomgr/fd_posix_test.cc16
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamClientTests.mm201
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamEndpointTests.mm344
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/project.pbxproj338
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests.xcscheme56
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Asan.xcscheme61
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Msan.xcscheme78
-rw-r--r--test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Tsan.xcscheme60
-rw-r--r--test/core/iomgr/ios/CFStreamTests/Info.plist22
-rw-r--r--test/core/iomgr/ios/CFStreamTests/Podfile50
-rwxr-xr-xtest/core/iomgr/ios/CFStreamTests/build_tests.sh39
-rwxr-xr-xtest/core/iomgr/ios/CFStreamTests/run_tests.sh67
-rw-r--r--test/core/iomgr/pollset_set_test.cc5
-rw-r--r--test/core/iomgr/tcp_posix_test.cc20
-rw-r--r--test/core/security/BUILD4
-rw-r--r--test/core/transport/BUILD1
-rw-r--r--test/core/transport/status_conversion_test.cc25
-rw-r--r--test/core/tsi/alts/crypt/BUILD1
-rw-r--r--test/core/tsi/alts/frame_protector/BUILD4
-rw-r--r--test/core/tsi/alts/handshaker/BUILD5
-rw-r--r--test/core/tsi/alts/zero_copy_frame_protector/BUILD3
-rw-r--r--test/core/util/BUILD5
39 files changed, 1685 insertions, 3429 deletions
diff --git a/test/core/avl/avl_test.cc b/test/core/avl/avl_test.cc
index ecebe833b3..01002fec72 100644
--- a/test/core/avl/avl_test.cc
+++ b/test/core/avl/avl_test.cc
@@ -241,3365 +241,6 @@ static void test_badcase1(void) {
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;
@@ -3653,8 +294,6 @@ int main(int argc, char* argv[]) {
test_replace();
test_remove();
test_badcase1();
- test_badcase2();
- test_badcase3();
test_stress(10);
return 0;
diff --git a/test/core/channel/BUILD b/test/core/channel/BUILD
index 81c4353129..da419f00cf 100644
--- a/test/core/channel/BUILD
+++ b/test/core/channel/BUILD
@@ -122,6 +122,7 @@ grpc_cc_test(
language = "C++",
deps = [
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
external_deps = [
"gtest",
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 e34aa2e676..1c8d0775ab 100644
--- a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
+++ b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
@@ -60,11 +60,11 @@ static void my_resolve_address(const char* addr, const char* default_port,
static grpc_address_resolver_vtable test_resolver = {my_resolve_address,
nullptr};
-static grpc_ares_request* my_dns_lookup_ares(
+static grpc_ares_request* my_dns_lookup_ares_locked(
const char* dns_server, const char* addr, const char* default_port,
grpc_pollset_set* interested_parties, grpc_closure* on_done,
- grpc_lb_addresses** lb_addrs, bool check_grpclb,
- char** service_config_json) {
+ grpc_lb_addresses** lb_addrs, bool check_grpclb, char** service_config_json,
+ grpc_combiner* combiner) {
gpr_mu_lock(&g_mu);
GPR_ASSERT(0 == strcmp("test", addr));
grpc_error* error = GRPC_ERROR_NONE;
@@ -147,7 +147,7 @@ int main(int argc, char** argv) {
gpr_mu_init(&g_mu);
g_combiner = grpc_combiner_create();
grpc_set_resolver_impl(&test_resolver);
- grpc_dns_lookup_ares = my_dns_lookup_ares;
+ grpc_dns_lookup_ares_locked = my_dns_lookup_ares_locked;
grpc_channel_args* result = (grpc_channel_args*)1;
{
diff --git a/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc b/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
index 521fc3107e..b1f3a1c08a 100644
--- a/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
+++ b/test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
@@ -33,10 +33,11 @@ static grpc_address_resolver_vtable* default_resolve_address;
static grpc_combiner* g_combiner;
-grpc_ares_request* (*g_default_dns_lookup_ares)(
+grpc_ares_request* (*g_default_dns_lookup_ares_locked)(
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_lb_addresses** addrs, bool check_grpclb, char** service_config_json,
+ grpc_combiner* combiner);
// Counter incremented by test_resolve_address_impl indicating the number of
// times a system-level resolution has happened.
@@ -72,13 +73,14 @@ static grpc_error* test_blocking_resolve_address_impl(
static grpc_address_resolver_vtable test_resolver = {
test_resolve_address_impl, test_blocking_resolve_address_impl};
-grpc_ares_request* test_dns_lookup_ares(
+grpc_ares_request* test_dns_lookup_ares_locked(
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(
+ grpc_lb_addresses** addrs, bool check_grpclb, char** service_config_json,
+ grpc_combiner* combiner) {
+ grpc_ares_request* result = g_default_dns_lookup_ares_locked(
dns_server, name, default_port, g_iomgr_args.pollset_set, on_done, addrs,
- check_grpclb, service_config_json);
+ check_grpclb, service_config_json, combiner);
++g_resolution_count;
return result;
}
@@ -308,8 +310,8 @@ int main(int argc, char** argv) {
g_combiner = grpc_combiner_create();
- g_default_dns_lookup_ares = grpc_dns_lookup_ares;
- grpc_dns_lookup_ares = test_dns_lookup_ares;
+ g_default_dns_lookup_ares_locked = grpc_dns_lookup_ares_locked;
+ grpc_dns_lookup_ares_locked = test_dns_lookup_ares_locked;
default_resolve_address = grpc_resolve_address_impl;
grpc_set_resolver_impl(&test_resolver);
diff --git a/test/core/end2end/end2end_nosec_tests.cc b/test/core/end2end/end2end_nosec_tests.cc
index 5ee0bb83fd..061b23b5d6 100644
--- a/test/core/end2end/end2end_nosec_tests.cc
+++ b/test/core/end2end/end2end_nosec_tests.cc
@@ -102,6 +102,8 @@ extern void negative_deadline(grpc_end2end_test_config config);
extern void negative_deadline_pre_init(void);
extern void network_status_change(grpc_end2end_test_config config);
extern void network_status_change_pre_init(void);
+extern void no_error_on_hotpath(grpc_end2end_test_config config);
+extern void no_error_on_hotpath_pre_init(void);
extern void no_logging(grpc_end2end_test_config config);
extern void no_logging_pre_init(void);
extern void no_op(grpc_end2end_test_config config);
@@ -225,6 +227,7 @@ void grpc_end2end_tests_pre_init(void) {
max_message_length_pre_init();
negative_deadline_pre_init();
network_status_change_pre_init();
+ no_error_on_hotpath_pre_init();
no_logging_pre_init();
no_op_pre_init();
payload_pre_init();
@@ -311,6 +314,7 @@ void grpc_end2end_tests(int argc, char **argv,
max_message_length(config);
negative_deadline(config);
network_status_change(config);
+ no_error_on_hotpath(config);
no_logging(config);
no_op(config);
payload(config);
@@ -500,6 +504,10 @@ void grpc_end2end_tests(int argc, char **argv,
network_status_change(config);
continue;
}
+ if (0 == strcmp("no_error_on_hotpath", argv[i])) {
+ no_error_on_hotpath(config);
+ continue;
+ }
if (0 == strcmp("no_logging", argv[i])) {
no_logging(config);
continue;
diff --git a/test/core/end2end/end2end_tests.cc b/test/core/end2end/end2end_tests.cc
index ca5c18bcc2..7ae475cdef 100644
--- a/test/core/end2end/end2end_tests.cc
+++ b/test/core/end2end/end2end_tests.cc
@@ -104,6 +104,8 @@ extern void negative_deadline(grpc_end2end_test_config config);
extern void negative_deadline_pre_init(void);
extern void network_status_change(grpc_end2end_test_config config);
extern void network_status_change_pre_init(void);
+extern void no_error_on_hotpath(grpc_end2end_test_config config);
+extern void no_error_on_hotpath_pre_init(void);
extern void no_logging(grpc_end2end_test_config config);
extern void no_logging_pre_init(void);
extern void no_op(grpc_end2end_test_config config);
@@ -228,6 +230,7 @@ void grpc_end2end_tests_pre_init(void) {
max_message_length_pre_init();
negative_deadline_pre_init();
network_status_change_pre_init();
+ no_error_on_hotpath_pre_init();
no_logging_pre_init();
no_op_pre_init();
payload_pre_init();
@@ -315,6 +318,7 @@ void grpc_end2end_tests(int argc, char **argv,
max_message_length(config);
negative_deadline(config);
network_status_change(config);
+ no_error_on_hotpath(config);
no_logging(config);
no_op(config);
payload(config);
@@ -508,6 +512,10 @@ void grpc_end2end_tests(int argc, char **argv,
network_status_change(config);
continue;
}
+ if (0 == strcmp("no_error_on_hotpath", argv[i])) {
+ no_error_on_hotpath(config);
+ continue;
+ }
if (0 == strcmp("no_logging", argv[i])) {
no_logging(config);
continue;
diff --git a/test/core/end2end/fixtures/h2_http_proxy.cc b/test/core/end2end/fixtures/h2_http_proxy.cc
index 0af8a29a15..c2ac209cf9 100644
--- a/test/core/end2end/fixtures/h2_http_proxy.cc
+++ b/test/core/end2end/fixtures/h2_http_proxy.cc
@@ -69,9 +69,8 @@ void chttp2_init_client_fullstack(grpc_end2end_test_fixture* f,
char* proxy_uri;
/* If testing for proxy auth, add credentials to proxy uri */
- const grpc_arg* proxy_auth_arg =
- grpc_channel_args_find(client_args, GRPC_ARG_HTTP_PROXY_AUTH_CREDS);
- const char* proxy_auth_str = grpc_channel_arg_get_string(proxy_auth_arg);
+ const char* proxy_auth_str =
+ grpc_channel_args_get_string(client_args, GRPC_ARG_HTTP_PROXY_AUTH_CREDS);
if (proxy_auth_str == nullptr) {
gpr_asprintf(&proxy_uri, "http://%s",
grpc_end2end_http_proxy_get_proxy_name(ffd->proxy));
diff --git a/test/core/end2end/fixtures/http_proxy_fixture.cc b/test/core/end2end/fixtures/http_proxy_fixture.cc
index f02fa9d998..5caddee09e 100644
--- a/test/core/end2end/fixtures/http_proxy_fixture.cc
+++ b/test/core/end2end/fixtures/http_proxy_fixture.cc
@@ -411,9 +411,8 @@ static void on_read_request_done(void* arg, grpc_error* error) {
return;
}
// If proxy auth is being used, check if the header is present and as expected
- const grpc_arg* proxy_auth_arg = grpc_channel_args_find(
+ char* proxy_auth_str = grpc_channel_args_get_string(
conn->proxy->channel_args, GRPC_ARG_HTTP_PROXY_AUTH_CREDS);
- char* proxy_auth_str = grpc_channel_arg_get_string(proxy_auth_arg);
if (proxy_auth_str != nullptr) {
bool client_authenticated = false;
for (size_t i = 0; i < conn->http_request.hdr_count; i++) {
diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc
index ba9c04fd0e..d0d82ea43b 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.cc
+++ b/test/core/end2end/fuzzers/api_fuzzer.cc
@@ -374,13 +374,11 @@ void my_resolve_address(const char* addr, const char* default_port,
static grpc_address_resolver_vtable fuzzer_resolver = {my_resolve_address,
nullptr};
-grpc_ares_request* my_dns_lookup_ares(const char* dns_server, const char* addr,
- const char* default_port,
- grpc_pollset_set* interested_parties,
- grpc_closure* on_done,
- grpc_lb_addresses** lb_addrs,
- bool check_grpclb,
- char** service_config_json) {
+grpc_ares_request* my_dns_lookup_ares_locked(
+ const char* dns_server, const char* addr, const char* default_port,
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
+ grpc_lb_addresses** lb_addrs, bool check_grpclb, char** service_config_json,
+ grpc_combiner* combiner) {
addr_req* r = static_cast<addr_req*>(gpr_malloc(sizeof(*r)));
r->addr = gpr_strdup(addr);
r->on_done = on_done;
@@ -706,7 +704,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
grpc_executor_set_threading(false);
}
grpc_set_resolver_impl(&fuzzer_resolver);
- grpc_dns_lookup_ares = my_dns_lookup_ares;
+ grpc_dns_lookup_ares_locked = my_dns_lookup_ares_locked;
GPR_ASSERT(g_channel == nullptr);
GPR_ASSERT(g_server == nullptr);
diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py
index 53f4ab0d52..04dc2a8785 100755
--- a/test/core/end2end/gen_build_yaml.py
+++ b/test/core/end2end/gen_build_yaml.py
@@ -139,6 +139,7 @@ END2END_TESTS = {
'max_message_length': default_test_options._replace(cpu_cost=LOWCPU),
'negative_deadline': default_test_options,
'network_status_change': default_test_options._replace(cpu_cost=LOWCPU),
+ 'no_error_on_hotpath': default_test_options._replace(proxyable=False),
'no_logging': default_test_options._replace(traceable=False),
'no_op': default_test_options,
'payload': default_test_options,
diff --git a/test/core/end2end/generate_tests.bzl b/test/core/end2end/generate_tests.bzl
index 94bc092b59..67769a8cb1 100755
--- a/test/core/end2end/generate_tests.bzl
+++ b/test/core/end2end/generate_tests.bzl
@@ -135,6 +135,7 @@ END2END_TESTS = {
'max_message_length': test_options(),
'negative_deadline': test_options(),
'network_status_change': test_options(),
+ 'no_error_on_hotpath': test_options(proxyable=False),
'no_logging': test_options(traceable=False),
'no_op': test_options(),
'payload': test_options(),
diff --git a/test/core/end2end/goaway_server_test.cc b/test/core/end2end/goaway_server_test.cc
index 0188698f17..8904c3d325 100644
--- a/test/core/end2end/goaway_server_test.cc
+++ b/test/core/end2end/goaway_server_test.cc
@@ -44,11 +44,11 @@ static void* tag(intptr_t i) { return (void*)i; }
static gpr_mu g_mu;
static int g_resolve_port = -1;
-static grpc_ares_request* (*iomgr_dns_lookup_ares)(
+static grpc_ares_request* (*iomgr_dns_lookup_ares_locked)(
const char* dns_server, const char* addr, const char* default_port,
grpc_pollset_set* interested_parties, grpc_closure* on_done,
grpc_lb_addresses** addresses, bool check_grpclb,
- char** service_config_json);
+ char** service_config_json, grpc_combiner* combiner);
static void set_resolve_port(int port) {
gpr_mu_lock(&g_mu);
@@ -98,15 +98,15 @@ static grpc_error* my_blocking_resolve_address(
static grpc_address_resolver_vtable test_resolver = {
my_resolve_address, my_blocking_resolve_address};
-static grpc_ares_request* my_dns_lookup_ares(
+static grpc_ares_request* my_dns_lookup_ares_locked(
const char* dns_server, const char* addr, const char* default_port,
grpc_pollset_set* interested_parties, grpc_closure* on_done,
- grpc_lb_addresses** lb_addrs, bool check_grpclb,
- char** service_config_json) {
+ grpc_lb_addresses** lb_addrs, bool check_grpclb, char** service_config_json,
+ grpc_combiner* combiner) {
if (0 != strcmp(addr, "test")) {
- return iomgr_dns_lookup_ares(dns_server, addr, default_port,
- interested_parties, on_done, lb_addrs,
- check_grpclb, service_config_json);
+ return iomgr_dns_lookup_ares_locked(
+ dns_server, addr, default_port, interested_parties, on_done, lb_addrs,
+ check_grpclb, service_config_json, combiner);
}
grpc_error* error = GRPC_ERROR_NONE;
@@ -142,8 +142,8 @@ int main(int argc, char** argv) {
grpc_init();
default_resolver = grpc_resolve_address_impl;
grpc_set_resolver_impl(&test_resolver);
- iomgr_dns_lookup_ares = grpc_dns_lookup_ares;
- grpc_dns_lookup_ares = my_dns_lookup_ares;
+ iomgr_dns_lookup_ares_locked = grpc_dns_lookup_ares_locked;
+ grpc_dns_lookup_ares_locked = my_dns_lookup_ares_locked;
int was_cancelled1;
int was_cancelled2;
diff --git a/test/core/end2end/tests/no_error_on_hotpath.cc b/test/core/end2end/tests/no_error_on_hotpath.cc
new file mode 100644
index 0000000000..7afadf7d3a
--- /dev/null
+++ b/test/core/end2end/tests/no_error_on_hotpath.cc
@@ -0,0 +1,246 @@
+/*
+ *
+ * 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 "test/core/end2end/end2end_tests.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#include <grpc/byte_buffer.h>
+#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include <grpc/support/time.h>
+#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/iomgr/error.h"
+#include "test/core/end2end/cq_verifier.h"
+
+static void* tag(intptr_t t) { return (void*)t; }
+
+static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config,
+ const char* test_name,
+ grpc_channel_args* client_args,
+ grpc_channel_args* server_args) {
+ grpc_end2end_test_fixture f;
+ gpr_log(GPR_INFO, "Running test: %s/%s", test_name, config.name);
+ f = config.create_fixture(client_args, server_args);
+ config.init_server(&f, server_args);
+ config.init_client(&f, client_args);
+ return f;
+}
+
+static gpr_timespec n_seconds_from_now(int n) {
+ return grpc_timeout_seconds_to_deadline(n);
+}
+
+static gpr_timespec five_seconds_from_now(void) {
+ return n_seconds_from_now(5);
+}
+
+static void drain_cq(grpc_completion_queue* cq) {
+ grpc_event ev;
+ do {
+ ev = grpc_completion_queue_next(cq, five_seconds_from_now(), nullptr);
+ } while (ev.type != GRPC_QUEUE_SHUTDOWN);
+}
+
+static void shutdown_server(grpc_end2end_test_fixture* f) {
+ if (!f->server) return;
+ grpc_server_shutdown_and_notify(f->server, f->shutdown_cq, tag(1000));
+ GPR_ASSERT(grpc_completion_queue_pluck(f->shutdown_cq, tag(1000),
+ grpc_timeout_seconds_to_deadline(5),
+ nullptr)
+ .type == GRPC_OP_COMPLETE);
+ grpc_server_destroy(f->server);
+ f->server = nullptr;
+}
+
+static void shutdown_client(grpc_end2end_test_fixture* f) {
+ if (!f->client) return;
+ grpc_channel_destroy(f->client);
+ f->client = nullptr;
+}
+
+static void end_test(grpc_end2end_test_fixture* f) {
+ shutdown_server(f);
+ shutdown_client(f);
+
+ grpc_completion_queue_shutdown(f->cq);
+ drain_cq(f->cq);
+ grpc_completion_queue_destroy(f->cq);
+ grpc_completion_queue_destroy(f->shutdown_cq);
+}
+
+static void simple_request_body(grpc_end2end_test_config config,
+ grpc_end2end_test_fixture f) {
+ grpc_call* c;
+ grpc_call* s;
+ cq_verifier* cqv = cq_verifier_create(f.cq);
+ grpc_op ops[6];
+ grpc_op* op;
+ grpc_metadata_array initial_metadata_recv;
+ grpc_metadata_array trailing_metadata_recv;
+ grpc_metadata_array request_metadata_recv;
+ grpc_call_details call_details;
+ grpc_status_code status;
+ grpc_call_error error;
+ grpc_slice details;
+ int was_cancelled = 2;
+ char* peer;
+
+ gpr_timespec deadline = five_seconds_from_now();
+ c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
+ grpc_slice_from_static_string("/foo"), nullptr,
+ deadline, nullptr);
+ GPR_ASSERT(c);
+
+ peer = grpc_call_get_peer(c);
+ GPR_ASSERT(peer != nullptr);
+ gpr_free(peer);
+
+ grpc_metadata_array_init(&initial_metadata_recv);
+ grpc_metadata_array_init(&trailing_metadata_recv);
+ grpc_metadata_array_init(&request_metadata_recv);
+ grpc_call_details_init(&call_details);
+
+ 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 = &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 = &trailing_metadata_recv;
+ op->data.recv_status_on_client.status = &status;
+ op->data.recv_status_on_client.status_details = &details;
+ op->flags = 0;
+ op->reserved = nullptr;
+ op++;
+ 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,
+ &request_metadata_recv, f.cq, f.cq, tag(101));
+ GPR_ASSERT(GRPC_CALL_OK == error);
+ CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
+ cq_verify(cqv);
+
+ peer = grpc_call_get_peer(s);
+ GPR_ASSERT(peer != nullptr);
+ gpr_free(peer);
+ peer = grpc_call_get_peer(c);
+ GPR_ASSERT(peer != nullptr);
+ gpr_free(peer);
+
+ 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_OK;
+ op->data.send_status_from_server.status_details = nullptr;
+ 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++;
+ 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_EXPECT_COMPLETION(cqv, tag(1), 1);
+ cq_verify(cqv);
+
+ GPR_ASSERT(status == GRPC_STATUS_OK);
+ GPR_ASSERT(GRPC_SLICE_LENGTH(details) == 0);
+ GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo"));
+ GPR_ASSERT(0 == call_details.flags);
+ GPR_ASSERT(was_cancelled == 0);
+
+ grpc_slice_unref(details);
+ grpc_metadata_array_destroy(&initial_metadata_recv);
+ grpc_metadata_array_destroy(&trailing_metadata_recv);
+ grpc_metadata_array_destroy(&request_metadata_recv);
+ grpc_call_details_destroy(&call_details);
+
+ grpc_call_unref(c);
+ grpc_call_unref(s);
+
+ cq_verifier_destroy(cqv);
+}
+
+static void test_no_error_on_hotpath_one_request(
+ grpc_end2end_test_config config) {
+ grpc_end2end_test_fixture f;
+
+ f = begin_test(config, "test_invoke_simple_request_with_no_error_logging",
+ nullptr, nullptr);
+ // First RPC is not considered the hotpath, since there are lots of things to
+ // set up.
+ simple_request_body(config, f);
+ grpc_disable_error_creation();
+ simple_request_body(config, f);
+ grpc_enable_error_creation();
+ end_test(&f);
+ config.tear_down_data(&f);
+}
+
+static void test_no_error_on_hotpath_10_requests(
+ grpc_end2end_test_config config) {
+ int i;
+ grpc_end2end_test_fixture f = begin_test(
+ config, "test_no_error_on_hotpath_in_one_request", nullptr, nullptr);
+ // First RPC is not considered the hotpath, since there are lots of things to
+ // set up.
+ simple_request_body(config, f);
+ grpc_disable_error_creation();
+ for (i = 0; i < 10; i++) {
+ simple_request_body(config, f);
+ }
+ grpc_enable_error_creation();
+ end_test(&f);
+ config.tear_down_data(&f);
+}
+
+void no_error_on_hotpath(grpc_end2end_test_config config) {
+ test_no_error_on_hotpath_one_request(config);
+ test_no_error_on_hotpath_10_requests(config);
+}
+
+void no_error_on_hotpath_pre_init(void) {}
diff --git a/test/core/end2end/tests/retry_server_pushback_delay.cc b/test/core/end2end/tests/retry_server_pushback_delay.cc
index f6a979613d..221b416828 100644
--- a/test/core/end2end/tests/retry_server_pushback_delay.cc
+++ b/test/core/end2end/tests/retry_server_pushback_delay.cc
@@ -249,7 +249,7 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
retry_delay.tv_sec, retry_delay.tv_nsec);
GPR_ASSERT(retry_delay.tv_sec >= 1);
if (retry_delay.tv_sec == 1) {
- GPR_ASSERT(retry_delay.tv_nsec >= 900000000);
+ GPR_ASSERT(retry_delay.tv_nsec >= 800000000);
}
peer = grpc_call_get_peer(s);
diff --git a/test/core/gpr/arena_test.cc b/test/core/gpr/arena_test.cc
index 111414ea3e..3e7c906591 100644
--- a/test/core/gpr/arena_test.cc
+++ b/test/core/gpr/arena_test.cc
@@ -71,7 +71,7 @@ static void test(const char* name, size_t init_size, const size_t* allocs,
static const size_t allocs_##name[] = {__VA_ARGS__}; \
test(#name, init_size, allocs_##name, GPR_ARRAY_SIZE(allocs_##name))
-#define CONCURRENT_TEST_THREADS 100
+#define CONCURRENT_TEST_THREADS 10
size_t concurrent_test_iterations() {
if (sizeof(void*) < 8) return 1000;
diff --git a/test/core/iomgr/BUILD b/test/core/iomgr/BUILD
index 349a06d578..bbf0815e6f 100644
--- a/test/core/iomgr/BUILD
+++ b/test/core/iomgr/BUILD
@@ -227,6 +227,7 @@ grpc_cc_test(
"//test/core/util:gpr_test_util",
"//test/core/util:grpc_test_util",
],
+ tags = ["manual"], # TODO(adelez): Remove once this works on Foundry.
)
grpc_cc_test(
diff --git a/test/core/iomgr/ev_epollsig_linux_test.cc b/test/core/iomgr/ev_epollsig_linux_test.cc
index c3ba6d7c14..28c9dd408c 100644
--- a/test/core/iomgr/ev_epollsig_linux_test.cc
+++ b/test/core/iomgr/ev_epollsig_linux_test.cc
@@ -66,7 +66,7 @@ static void test_fd_init(test_fd* tfds, int* fds, int num_fds) {
for (i = 0; i < num_fds; i++) {
tfds[i].inner_fd = fds[i];
- tfds[i].fd = grpc_fd_create(fds[i], "test_fd");
+ tfds[i].fd = grpc_fd_create(fds[i], "test_fd", false);
}
}
@@ -79,8 +79,7 @@ static void test_fd_cleanup(test_fd* tfds, int num_fds) {
GRPC_ERROR_CREATE_FROM_STATIC_STRING("test_fd_cleanup"));
grpc_core::ExecCtx::Get()->Flush();
- grpc_fd_orphan(tfds[i].fd, nullptr, &release_fd, false /* already_closed */,
- "test_fd_cleanup");
+ grpc_fd_orphan(tfds[i].fd, nullptr, &release_fd, "test_fd_cleanup");
grpc_core::ExecCtx::Get()->Flush();
GPR_ASSERT(release_fd == tfds[i].inner_fd);
@@ -267,7 +266,7 @@ static void test_threading(void) {
grpc_wakeup_fd fd;
GPR_ASSERT(GRPC_LOG_IF_ERROR("wakeup_fd_init", grpc_wakeup_fd_init(&fd)));
shared.wakeup_fd = &fd;
- shared.wakeup_desc = grpc_fd_create(fd.read_fd, "wakeup");
+ shared.wakeup_desc = grpc_fd_create(fd.read_fd, "wakeup", false);
shared.wakeups = 0;
{
grpc_core::ExecCtx exec_ctx;
@@ -287,8 +286,7 @@ static void test_threading(void) {
{
grpc_core::ExecCtx exec_ctx;
grpc_fd_shutdown(shared.wakeup_desc, GRPC_ERROR_CANCELLED);
- grpc_fd_orphan(shared.wakeup_desc, nullptr, nullptr,
- false /* already_closed */, "done");
+ grpc_fd_orphan(shared.wakeup_desc, nullptr, nullptr, "done");
grpc_pollset_shutdown(shared.pollset,
GRPC_CLOSURE_CREATE(destroy_pollset, shared.pollset,
grpc_schedule_on_exec_ctx));
diff --git a/test/core/iomgr/fd_posix_test.cc b/test/core/iomgr/fd_posix_test.cc
index b81c73b2c0..4ea2389bbd 100644
--- a/test/core/iomgr/fd_posix_test.cc
+++ b/test/core/iomgr/fd_posix_test.cc
@@ -115,7 +115,7 @@ static void session_shutdown_cb(void* arg, /*session */
bool success) {
session* se = static_cast<session*>(arg);
server* sv = se->sv;
- grpc_fd_orphan(se->em_fd, nullptr, nullptr, false /* already_closed */, "a");
+ grpc_fd_orphan(se->em_fd, nullptr, nullptr, "a");
gpr_free(se);
/* Start to shutdown listen fd. */
grpc_fd_shutdown(sv->em_fd,
@@ -171,7 +171,7 @@ static void session_read_cb(void* arg, /*session */
static void listen_shutdown_cb(void* arg /*server */, int success) {
server* sv = static_cast<server*>(arg);
- grpc_fd_orphan(sv->em_fd, nullptr, nullptr, false /* already_closed */, "b");
+ grpc_fd_orphan(sv->em_fd, nullptr, nullptr, "b");
gpr_mu_lock(g_mu);
sv->done = 1;
@@ -204,7 +204,7 @@ static void listen_cb(void* arg, /*=sv_arg*/
fcntl(fd, F_SETFL, flags | O_NONBLOCK);
se = static_cast<session*>(gpr_malloc(sizeof(*se)));
se->sv = sv;
- se->em_fd = grpc_fd_create(fd, "listener");
+ se->em_fd = grpc_fd_create(fd, "listener", false);
grpc_pollset_add_fd(g_pollset, se->em_fd);
GRPC_CLOSURE_INIT(&se->session_read_closure, session_read_cb, se,
grpc_schedule_on_exec_ctx);
@@ -233,7 +233,7 @@ static int server_start(server* sv) {
port = ntohs(sin.sin_port);
GPR_ASSERT(listen(fd, MAX_NUM_FD) == 0);
- sv->em_fd = grpc_fd_create(fd, "server");
+ sv->em_fd = grpc_fd_create(fd, "server", false);
grpc_pollset_add_fd(g_pollset, sv->em_fd);
/* Register to be interested in reading from listen_fd. */
GRPC_CLOSURE_INIT(&sv->listen_closure, listen_cb, sv,
@@ -289,7 +289,7 @@ static void client_init(client* cl) {
/* Called when a client upload session is ready to shutdown. */
static void client_session_shutdown_cb(void* arg /*client */, int success) {
client* cl = static_cast<client*>(arg);
- grpc_fd_orphan(cl->em_fd, nullptr, nullptr, false /* already_closed */, "c");
+ grpc_fd_orphan(cl->em_fd, nullptr, nullptr, "c");
cl->done = 1;
GPR_ASSERT(
GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(g_pollset, nullptr)));
@@ -353,7 +353,7 @@ static void client_start(client* cl, int port) {
}
}
- cl->em_fd = grpc_fd_create(fd, "client");
+ cl->em_fd = grpc_fd_create(fd, "client", false);
grpc_pollset_add_fd(g_pollset, cl->em_fd);
client_session_write(cl, GRPC_ERROR_NONE);
@@ -454,7 +454,7 @@ static void test_grpc_fd_change(void) {
flags = fcntl(sv[1], F_GETFL, 0);
GPR_ASSERT(fcntl(sv[1], F_SETFL, flags | O_NONBLOCK) == 0);
- em_fd = grpc_fd_create(sv[0], "test_grpc_fd_change");
+ em_fd = grpc_fd_create(sv[0], "test_grpc_fd_change", false);
grpc_pollset_add_fd(g_pollset, em_fd);
/* Register the first callback, then make its FD readable */
@@ -502,7 +502,7 @@ static void test_grpc_fd_change(void) {
GPR_ASSERT(b.cb_that_ran == second_read_callback);
gpr_mu_unlock(g_mu);
- grpc_fd_orphan(em_fd, nullptr, nullptr, false /* already_closed */, "d");
+ grpc_fd_orphan(em_fd, nullptr, nullptr, "d");
destroy_change_data(&a);
destroy_change_data(&b);
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamClientTests.mm b/test/core/iomgr/ios/CFStreamTests/CFStreamClientTests.mm
new file mode 100644
index 0000000000..414b6c78c0
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamClientTests.mm
@@ -0,0 +1,201 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import <XCTest/XCTest.h>
+
+#include "src/core/lib/iomgr/port.h"
+
+#ifdef GRPC_CFSTREAM
+
+#include <netinet/in.h>
+
+#include <grpc/impl/codegen/sync.h>
+#include <grpc/support/sync.h>
+
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "test/core/util/test_config.h"
+
+// static int g_connections_complete = 0;
+static gpr_mu g_mu;
+static int g_connections_complete = 0;
+static grpc_endpoint* g_connecting = nullptr;
+
+static void finish_connection() {
+ gpr_mu_lock(&g_mu);
+ g_connections_complete++;
+ gpr_mu_unlock(&g_mu);
+}
+
+static void must_succeed(void* arg, grpc_error* error) {
+ GPR_ASSERT(g_connecting != nullptr);
+ GPR_ASSERT(error == GRPC_ERROR_NONE);
+ grpc_endpoint_shutdown(g_connecting, GRPC_ERROR_CREATE_FROM_STATIC_STRING("must_succeed called"));
+ grpc_endpoint_destroy(g_connecting);
+ g_connecting = nullptr;
+ finish_connection();
+}
+
+static void must_fail(void* arg, grpc_error* error) {
+ GPR_ASSERT(g_connecting == nullptr);
+ GPR_ASSERT(error != GRPC_ERROR_NONE);
+ const char* error_str = grpc_error_string(error);
+ NSLog(@"%s", error_str);
+ finish_connection();
+}
+
+@interface CFStreamClientTests : XCTestCase
+
+@end
+
+@implementation CFStreamClientTests
+
++ (void)setUp {
+ grpc_init();
+ gpr_mu_init(&g_mu);
+}
+
++ (void)tearDown {
+ grpc_shutdown();
+}
+
+- (void)testSucceeds {
+ grpc_resolved_address resolved_addr;
+ struct sockaddr_in* addr = reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
+ int svr_fd;
+ int r;
+ int connections_complete_before;
+ grpc_closure done;
+ grpc_core::ExecCtx exec_ctx;
+
+ gpr_log(GPR_DEBUG, "test_succeeds");
+
+ memset(&resolved_addr, 0, sizeof(resolved_addr));
+ resolved_addr.len = sizeof(struct sockaddr_in);
+ addr->sin_family = AF_INET;
+
+ /* create a dummy server */
+ svr_fd = socket(AF_INET, SOCK_STREAM, 0);
+ GPR_ASSERT(svr_fd >= 0);
+ GPR_ASSERT(0 == bind(svr_fd, (struct sockaddr*)addr, (socklen_t)resolved_addr.len));
+ GPR_ASSERT(0 == listen(svr_fd, 1));
+
+ gpr_mu_lock(&g_mu);
+ connections_complete_before = g_connections_complete;
+ gpr_mu_unlock(&g_mu);
+
+ /* connect to it */
+ GPR_ASSERT(getsockname(svr_fd, (struct sockaddr*)addr, (socklen_t*)&resolved_addr.len) == 0);
+ GRPC_CLOSURE_INIT(&done, must_succeed, nullptr, grpc_schedule_on_exec_ctx);
+ grpc_tcp_client_connect(&done, &g_connecting, nullptr, nullptr, &resolved_addr,
+ GRPC_MILLIS_INF_FUTURE);
+
+ /* await the connection */
+ do {
+ resolved_addr.len = sizeof(addr);
+ 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);
+
+ grpc_core::ExecCtx::Get()->Flush();
+
+ /* wait for the connection callback to finish */
+ gpr_mu_lock(&g_mu);
+ NSDate* deadline = [NSDate dateWithTimeIntervalSinceNow:5];
+ while (connections_complete_before == g_connections_complete) {
+ gpr_mu_unlock(&g_mu);
+ [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:deadline];
+ gpr_mu_lock(&g_mu);
+ }
+ XCTAssertGreaterThan(g_connections_complete, connections_complete_before);
+
+ gpr_mu_unlock(&g_mu);
+}
+
+- (void)testFails {
+ grpc_core::ExecCtx exec_ctx;
+
+ grpc_resolved_address resolved_addr;
+ struct sockaddr_in* addr = reinterpret_cast<struct sockaddr_in*>(resolved_addr.addr);
+ int connections_complete_before;
+ grpc_closure done;
+ int svr_fd;
+
+ gpr_log(GPR_DEBUG, "test_fails");
+
+ memset(&resolved_addr, 0, sizeof(resolved_addr));
+ resolved_addr.len = static_cast<socklen_t>(sizeof(struct sockaddr_in));
+ addr->sin_family = AF_INET;
+
+ svr_fd = socket(AF_INET, SOCK_STREAM, 0);
+ GPR_ASSERT(svr_fd >= 0);
+ GPR_ASSERT(0 == bind(svr_fd, (struct sockaddr*)addr, (socklen_t)resolved_addr.len));
+ GPR_ASSERT(0 == listen(svr_fd, 1));
+ GPR_ASSERT(getsockname(svr_fd, (struct sockaddr*)addr, (socklen_t*)&resolved_addr.len) == 0);
+ close(svr_fd);
+
+ gpr_mu_lock(&g_mu);
+ connections_complete_before = g_connections_complete;
+ gpr_mu_unlock(&g_mu);
+
+ /* connect to a broken address */
+ GRPC_CLOSURE_INIT(&done, must_fail, nullptr, grpc_schedule_on_exec_ctx);
+ grpc_tcp_client_connect(&done, &g_connecting, nullptr, nullptr, &resolved_addr,
+ GRPC_MILLIS_INF_FUTURE);
+
+ grpc_core::ExecCtx::Get()->Flush();
+
+ /* wait for the connection callback to finish */
+ gpr_mu_lock(&g_mu);
+ NSDate* deadline = [NSDate dateWithTimeIntervalSinceNow:5];
+ while (g_connections_complete == connections_complete_before) {
+ gpr_mu_unlock(&g_mu);
+ [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:deadline];
+ gpr_mu_lock(&g_mu);
+ }
+
+ XCTAssertGreaterThan(g_connections_complete, connections_complete_before);
+
+ gpr_mu_unlock(&g_mu);
+}
+
+@end
+
+#else // GRPC_CFSTREAM
+
+// Dummy test suite
+@interface CFStreamClientTests : XCTestCase
+
+@end
+
+@implementation CFStreamClientTests
+
+- (void)setUp {
+ [super setUp];
+}
+
+- (void)tearDown {
+ [super tearDown];
+}
+
+@end
+
+#endif // GRPC_CFSTREAM
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamEndpointTests.mm b/test/core/iomgr/ios/CFStreamTests/CFStreamEndpointTests.mm
new file mode 100644
index 0000000000..fbc34c74d6
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamEndpointTests.mm
@@ -0,0 +1,344 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import <XCTest/XCTest.h>
+
+#include "src/core/lib/iomgr/port.h"
+
+#ifdef GRPC_CFSTREAM
+
+#include <netinet/in.h>
+
+#include <grpc/impl/codegen/sync.h>
+#include <grpc/support/sync.h>
+
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "test/core/util/test_config.h"
+
+static const int kConnectTimeout = 5;
+static const int kWriteTimeout = 5;
+static const int kReadTimeout = 5;
+
+static const int kBufferSize = 10000;
+
+static const int kRunLoopTimeout = 1;
+
+static void set_atm(void *arg, grpc_error *error) {
+ gpr_atm *p = static_cast<gpr_atm *>(arg);
+ gpr_atm_full_cas(p, -1, reinterpret_cast<gpr_atm>(error));
+}
+
+static void init_event_closure(grpc_closure *closure, gpr_atm *atm) {
+ *atm = -1;
+ GRPC_CLOSURE_INIT(closure, set_atm, static_cast<void *>(atm), grpc_schedule_on_exec_ctx);
+}
+
+static bool compare_slice_buffer_with_buffer(grpc_slice_buffer *slices, const char *buffer,
+ size_t buffer_len) {
+ if (slices->length != buffer_len) {
+ return false;
+ }
+
+ for (int i = 0; i < slices->count; i++) {
+ grpc_slice slice = slices->slices[i];
+ if (0 != memcmp(buffer, GRPC_SLICE_START_PTR(slice), GRPC_SLICE_LENGTH(slice))) {
+ return false;
+ }
+ buffer += GRPC_SLICE_LENGTH(slice);
+ }
+
+ return true;
+}
+
+@interface CFStreamEndpointTests : XCTestCase
+
+@end
+
+@implementation CFStreamEndpointTests {
+ grpc_endpoint *ep_;
+ int svr_fd_;
+}
+
+- (BOOL)waitForEvent:(gpr_atm *)event timeout:(int)timeout {
+ grpc_core::ExecCtx::Get()->Flush();
+
+ NSDate *deadline = [NSDate dateWithTimeIntervalSinceNow:kConnectTimeout];
+ while (gpr_atm_acq_load(event) == -1 && [deadline timeIntervalSinceNow] > 0) {
+ NSDate *deadline = [NSDate dateWithTimeIntervalSinceNow:kRunLoopTimeout];
+ [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:deadline];
+ }
+
+ return (gpr_atm_acq_load(event) != -1);
+}
+
++ (void)setUp {
+ grpc_init();
+}
+
++ (void)tearDown {
+ grpc_shutdown();
+}
+
+- (void)setUp {
+ self.continueAfterFailure = NO;
+
+ // Set up CFStream connection before testing the endpoint
+
+ grpc_core::ExecCtx exec_ctx;
+
+ grpc_resolved_address resolved_addr;
+ struct sockaddr_in *addr = reinterpret_cast<struct sockaddr_in *>(resolved_addr.addr);
+ int svr_fd;
+ int r;
+ gpr_atm connected = -1;
+ grpc_closure done;
+
+ gpr_log(GPR_DEBUG, "test_succeeds");
+
+ memset(&resolved_addr, 0, sizeof(resolved_addr));
+ resolved_addr.len = sizeof(struct sockaddr_in);
+ addr->sin_family = AF_INET;
+
+ /* create a dummy server */
+ svr_fd = socket(AF_INET, SOCK_STREAM, 0);
+ XCTAssertGreaterThanOrEqual(svr_fd, 0);
+ XCTAssertEqual(bind(svr_fd, (struct sockaddr *)addr, (socklen_t)resolved_addr.len), 0);
+ XCTAssertEqual(listen(svr_fd, 1), 0);
+
+ /* connect to it */
+ XCTAssertEqual(getsockname(svr_fd, (struct sockaddr *)addr, (socklen_t *)&resolved_addr.len), 0);
+ init_event_closure(&done, &connected);
+ grpc_tcp_client_connect(&done, &ep_, nullptr, nullptr, &resolved_addr, GRPC_MILLIS_INF_FUTURE);
+
+ /* await the connection */
+ do {
+ resolved_addr.len = sizeof(addr);
+ r = accept(svr_fd, reinterpret_cast<struct sockaddr *>(addr),
+ reinterpret_cast<socklen_t *>(&resolved_addr.len));
+ } while (r == -1 && errno == EINTR);
+ XCTAssertGreaterThanOrEqual(r, 0);
+ svr_fd_ = r;
+
+ /* wait for the connection callback to finish */
+ XCTAssertEqual([self waitForEvent:&connected timeout:kConnectTimeout], YES);
+ XCTAssertEqual(reinterpret_cast<grpc_error *>(connected), GRPC_ERROR_NONE);
+}
+
+- (void)tearDown {
+ grpc_core::ExecCtx exec_ctx;
+ close(svr_fd_);
+ grpc_endpoint_destroy(ep_);
+}
+
+- (void)testReadWrite {
+ grpc_core::ExecCtx exec_ctx;
+
+ gpr_atm read;
+ grpc_closure read_done;
+ grpc_slice_buffer read_slices;
+ grpc_slice_buffer read_one_slice;
+ gpr_atm write;
+ grpc_closure write_done;
+ grpc_slice_buffer write_slices;
+
+ grpc_slice slice;
+ char write_buffer[kBufferSize];
+ char read_buffer[kBufferSize];
+ size_t recv_size = 0;
+
+ grpc_slice_buffer_init(&write_slices);
+ slice = grpc_slice_from_static_buffer(write_buffer, kBufferSize);
+ grpc_slice_buffer_add(&write_slices, slice);
+ init_event_closure(&write_done, &write);
+ grpc_endpoint_write(ep_, &write_slices, &write_done);
+
+ XCTAssertEqual([self waitForEvent:&write timeout:kWriteTimeout], YES);
+ XCTAssertEqual(reinterpret_cast<grpc_error *>(write), GRPC_ERROR_NONE);
+
+ while (recv_size < kBufferSize) {
+ ssize_t size = recv(svr_fd_, read_buffer, kBufferSize, 0);
+ XCTAssertGreaterThanOrEqual(size, 0);
+ recv_size += size;
+ }
+
+ XCTAssertEqual(recv_size, kBufferSize);
+ XCTAssertEqual(memcmp(read_buffer, write_buffer, kBufferSize), 0);
+ ssize_t send_size = send(svr_fd_, read_buffer, kBufferSize, 0);
+ XCTAssertGreaterThanOrEqual(send_size, 0);
+
+ grpc_slice_buffer_init(&read_slices);
+ grpc_slice_buffer_init(&read_one_slice);
+ while (read_slices.length < kBufferSize) {
+ init_event_closure(&read_done, &read);
+ grpc_endpoint_read(ep_, &read_one_slice, &read_done);
+ XCTAssertEqual([self waitForEvent:&read timeout:kReadTimeout], YES);
+ XCTAssertEqual(reinterpret_cast<grpc_error *>(read), GRPC_ERROR_NONE);
+ grpc_slice_buffer_move_into(&read_one_slice, &read_slices);
+ XCTAssertLessThanOrEqual(read_slices.length, kBufferSize);
+ }
+ XCTAssertTrue(compare_slice_buffer_with_buffer(&read_slices, read_buffer, kBufferSize));
+
+ grpc_endpoint_shutdown(ep_, GRPC_ERROR_NONE);
+ grpc_slice_buffer_reset_and_unref(&read_slices);
+ grpc_slice_buffer_reset_and_unref(&write_slices);
+ grpc_slice_buffer_reset_and_unref(&read_one_slice);
+}
+
+- (void)testShutdownBeforeRead {
+ grpc_core::ExecCtx exec_ctx;
+
+ gpr_atm read;
+ grpc_closure read_done;
+ grpc_slice_buffer read_slices;
+ gpr_atm write;
+ grpc_closure write_done;
+ grpc_slice_buffer write_slices;
+
+ grpc_slice slice;
+ char write_buffer[kBufferSize];
+ char read_buffer[kBufferSize];
+ size_t recv_size = 0;
+
+ grpc_slice_buffer_init(&read_slices);
+ init_event_closure(&read_done, &read);
+ grpc_endpoint_read(ep_, &read_slices, &read_done);
+
+ grpc_slice_buffer_init(&write_slices);
+ slice = grpc_slice_from_static_buffer(write_buffer, kBufferSize);
+ grpc_slice_buffer_add(&write_slices, slice);
+ init_event_closure(&write_done, &write);
+ grpc_endpoint_write(ep_, &write_slices, &write_done);
+
+ XCTAssertEqual([self waitForEvent:&write timeout:kWriteTimeout], YES);
+ XCTAssertEqual(reinterpret_cast<grpc_error *>(write), GRPC_ERROR_NONE);
+
+ while (recv_size < kBufferSize) {
+ ssize_t size = recv(svr_fd_, read_buffer, kBufferSize, 0);
+ XCTAssertGreaterThanOrEqual(size, 0);
+ recv_size += size;
+ }
+
+ XCTAssertEqual(recv_size, kBufferSize);
+ XCTAssertEqual(memcmp(read_buffer, write_buffer, kBufferSize), 0);
+
+ XCTAssertEqual([self waitForEvent:&read timeout:kReadTimeout], NO);
+
+ grpc_endpoint_shutdown(ep_, GRPC_ERROR_NONE);
+
+ grpc_core::ExecCtx::Get()->Flush();
+ XCTAssertEqual([self waitForEvent:&read timeout:kReadTimeout], YES);
+ XCTAssertNotEqual(reinterpret_cast<grpc_error *>(read), GRPC_ERROR_NONE);
+
+ grpc_slice_buffer_reset_and_unref(&read_slices);
+ grpc_slice_buffer_reset_and_unref(&write_slices);
+}
+
+- (void)testRemoteClosed {
+ grpc_core::ExecCtx exec_ctx;
+
+ gpr_atm read;
+ grpc_closure read_done;
+ grpc_slice_buffer read_slices;
+ gpr_atm write;
+ grpc_closure write_done;
+ grpc_slice_buffer write_slices;
+
+ grpc_slice slice;
+ char write_buffer[kBufferSize];
+ char read_buffer[kBufferSize];
+ size_t recv_size = 0;
+
+ init_event_closure(&read_done, &read);
+ grpc_slice_buffer_init(&read_slices);
+ grpc_endpoint_read(ep_, &read_slices, &read_done);
+
+ grpc_slice_buffer_init(&write_slices);
+ slice = grpc_slice_from_static_buffer(write_buffer, kBufferSize);
+ grpc_slice_buffer_add(&write_slices, slice);
+ init_event_closure(&write_done, &write);
+ grpc_endpoint_write(ep_, &write_slices, &write_done);
+
+ XCTAssertEqual([self waitForEvent:&write timeout:kWriteTimeout], YES);
+ XCTAssertEqual(reinterpret_cast<grpc_error *>(write), GRPC_ERROR_NONE);
+
+ while (recv_size < kBufferSize) {
+ ssize_t size = recv(svr_fd_, read_buffer, kBufferSize, 0);
+ XCTAssertGreaterThanOrEqual(size, 0);
+ recv_size += size;
+ }
+
+ XCTAssertEqual(recv_size, kBufferSize);
+ XCTAssertEqual(memcmp(read_buffer, write_buffer, kBufferSize), 0);
+
+ close(svr_fd_);
+
+ XCTAssertEqual([self waitForEvent:&read timeout:kReadTimeout], YES);
+ XCTAssertNotEqual(reinterpret_cast<grpc_error *>(read), GRPC_ERROR_NONE);
+
+ grpc_endpoint_shutdown(ep_, GRPC_ERROR_NONE);
+ grpc_slice_buffer_reset_and_unref(&read_slices);
+ grpc_slice_buffer_reset_and_unref(&write_slices);
+}
+
+- (void)testRemoteReset {
+ grpc_core::ExecCtx exec_ctx;
+
+ gpr_atm read;
+ grpc_closure read_done;
+ grpc_slice_buffer read_slices;
+
+ init_event_closure(&read_done, &read);
+ grpc_slice_buffer_init(&read_slices);
+ grpc_endpoint_read(ep_, &read_slices, &read_done);
+
+ struct linger so_linger;
+ so_linger.l_onoff = 1;
+ so_linger.l_linger = 0;
+ setsockopt(svr_fd_, SOL_SOCKET, SO_LINGER, &so_linger, sizeof(so_linger));
+
+ close(svr_fd_);
+
+ XCTAssertEqual([self waitForEvent:&read timeout:kReadTimeout], YES);
+ XCTAssertNotEqual(reinterpret_cast<grpc_error *>(read), GRPC_ERROR_NONE);
+
+ grpc_endpoint_shutdown(ep_, GRPC_ERROR_NONE);
+ grpc_slice_buffer_reset_and_unref(&read_slices);
+}
+
+@end
+
+#else // GRPC_CFSTREAM
+
+// Dummy test suite
+@interface CFStreamEndpointTests : XCTestCase
+@end
+
+@implementation CFStreamEndpointTests
+- (void)setUp {
+ [super setUp];
+}
+
+- (void)tearDown {
+ [super tearDown];
+}
+
+@end
+
+#endif // GRPC_CFSTREAM
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/project.pbxproj b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..2218f129ae
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/project.pbxproj
@@ -0,0 +1,338 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 48;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 5E143B892069D72200715A6E /* CFStreamClientTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5E143B882069D72200715A6E /* CFStreamClientTests.mm */; };
+ 5E143B8C206B5F9F00715A6E /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5E143B8A2069D72700715A6E /* Info.plist */; };
+ 5E143B8E206C5B9A00715A6E /* CFStreamEndpointTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5E143B8D206C5B9A00715A6E /* CFStreamEndpointTests.mm */; };
+ 604EA96D9CD477A8EA411BDF /* libPods-CFStreamTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AFFA154D492751CEAC05D591 /* libPods-CFStreamTests.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 5E143B792069D67300715A6E /* CFStreamTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CFStreamTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5E143B882069D72200715A6E /* CFStreamClientTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CFStreamClientTests.mm; sourceTree = "<group>"; };
+ 5E143B8A2069D72700715A6E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 5E143B8D206C5B9A00715A6E /* CFStreamEndpointTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CFStreamEndpointTests.mm; sourceTree = "<group>"; };
+ 8CB4409E07E180CCA59987DF /* Pods-CFStreamTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CFStreamTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-CFStreamTests/Pods-CFStreamTests.release.xcconfig"; sourceTree = "<group>"; };
+ 9E3FAF9DA6B98ED4FE6D6848 /* Pods-CFStreamTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CFStreamTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CFStreamTests/Pods-CFStreamTests.debug.xcconfig"; sourceTree = "<group>"; };
+ AFFA154D492751CEAC05D591 /* libPods-CFStreamTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CFStreamTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 5E143B762069D67300715A6E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 604EA96D9CD477A8EA411BDF /* libPods-CFStreamTests.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 5E143B582069D67300715A6E = {
+ isa = PBXGroup;
+ children = (
+ 5E143B8D206C5B9A00715A6E /* CFStreamEndpointTests.mm */,
+ 5E143B8A2069D72700715A6E /* Info.plist */,
+ 5E143B882069D72200715A6E /* CFStreamClientTests.mm */,
+ 5E143B622069D67300715A6E /* Products */,
+ A331D95F7F230B507FBF6D22 /* Pods */,
+ 6AC36F6C5DB5CA8F717D1B67 /* Frameworks */,
+ );
+ sourceTree = "<group>";
+ };
+ 5E143B622069D67300715A6E /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 5E143B792069D67300715A6E /* CFStreamTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 6AC36F6C5DB5CA8F717D1B67 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ AFFA154D492751CEAC05D591 /* libPods-CFStreamTests.a */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ A331D95F7F230B507FBF6D22 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 9E3FAF9DA6B98ED4FE6D6848 /* Pods-CFStreamTests.debug.xcconfig */,
+ 8CB4409E07E180CCA59987DF /* Pods-CFStreamTests.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 5E143B782069D67300715A6E /* CFStreamTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 5E143B852069D67300715A6E /* Build configuration list for PBXNativeTarget "CFStreamTests" */;
+ buildPhases = (
+ 4EBA55D3E23FC6C84596E3D5 /* [CP] Check Pods Manifest.lock */,
+ 5E143B752069D67300715A6E /* Sources */,
+ 5E143B762069D67300715A6E /* Frameworks */,
+ 5E143B772069D67300715A6E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = CFStreamTests;
+ productName = CFStreamTestsTests;
+ productReference = 5E143B792069D67300715A6E /* CFStreamTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 5E143B592069D67300715A6E /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0920;
+ ORGANIZATIONNAME = gRPC;
+ TargetAttributes = {
+ 5E143B782069D67300715A6E = {
+ CreatedOnToolsVersion = 9.2;
+ ProvisioningStyle = Automatic;
+ };
+ };
+ };
+ buildConfigurationList = 5E143B5C2069D67300715A6E /* Build configuration list for PBXProject "CFStreamTests" */;
+ compatibilityVersion = "Xcode 8.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 5E143B582069D67300715A6E;
+ productRefGroup = 5E143B622069D67300715A6E /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 5E143B782069D67300715A6E /* CFStreamTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 5E143B772069D67300715A6E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5E143B8C206B5F9F00715A6E /* Info.plist in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 4EBA55D3E23FC6C84596E3D5 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-CFStreamTests-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 5E143B752069D67300715A6E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5E143B892069D72200715A6E /* CFStreamClientTests.mm in Sources */,
+ 5E143B8E206C5B9A00715A6E /* CFStreamEndpointTests.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 5E143B802069D67300715A6E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 5E143B812069D67300715A6E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 5E143B862069D67300715A6E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 9E3FAF9DA6B98ED4FE6D6848 /* Pods-CFStreamTests.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_STYLE = Automatic;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "COCOAPODS=1",
+ "$(inherited)",
+ "PB_FIELD_32BIT=1",
+ "PB_NO_PACKED_STRUCTS=1",
+ "GRPC_CFSTREAM=1",
+ );
+ INFOPLIST_FILE = Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CFStreamTestsTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = ../../../../..;
+ };
+ name = Debug;
+ };
+ 5E143B872069D67300715A6E /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 8CB4409E07E180CCA59987DF /* Pods-CFStreamTests.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_STYLE = Automatic;
+ INFOPLIST_FILE = Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CFStreamTestsTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = ../../../../..;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 5E143B5C2069D67300715A6E /* Build configuration list for PBXProject "CFStreamTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 5E143B802069D67300715A6E /* Debug */,
+ 5E143B812069D67300715A6E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 5E143B852069D67300715A6E /* Build configuration list for PBXNativeTarget "CFStreamTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 5E143B862069D67300715A6E /* Debug */,
+ 5E143B872069D67300715A6E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 5E143B592069D67300715A6E /* Project object */;
+}
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests.xcscheme b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests.xcscheme
new file mode 100644
index 0000000000..25d6f780a1
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests.xcscheme
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0920"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ <TestableReference
+ skipped = "NO">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5E143B782069D67300715A6E"
+ BuildableName = "CFStreamTests.xctest"
+ BlueprintName = "CFStreamTests"
+ ReferencedContainer = "container:CFStreamTests.xcodeproj">
+ </BuildableReference>
+ </TestableReference>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Asan.xcscheme b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Asan.xcscheme
new file mode 100644
index 0000000000..6c5c43aa72
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Asan.xcscheme
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0920"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ enableAddressSanitizer = "YES"
+ enableASanStackUseAfterReturn = "YES"
+ language = ""
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ <TestableReference
+ skipped = "NO">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5E143B782069D67300715A6E"
+ BuildableName = "CFStreamTests.xctest"
+ BlueprintName = "CFStreamTests"
+ ReferencedContainer = "container:CFStreamTests.xcodeproj">
+ </BuildableReference>
+ </TestableReference>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ enableASanStackUseAfterReturn = "YES"
+ language = ""
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Msan.xcscheme b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Msan.xcscheme
new file mode 100644
index 0000000000..3e39ff84d0
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Msan.xcscheme
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0920"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ language = ""
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ <TestableReference
+ skipped = "NO">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5E143B782069D67300715A6E"
+ BuildableName = "CFStreamTests.xctest"
+ BlueprintName = "CFStreamTests"
+ ReferencedContainer = "container:CFStreamTests.xcodeproj">
+ </BuildableReference>
+ </TestableReference>
+ </Testables>
+ <AdditionalOptions>
+ <AdditionalOption
+ key = "DYLD_INSERT_LIBRARIES"
+ value = "/usr/lib/libgmalloc.dylib"
+ isEnabled = "YES">
+ </AdditionalOption>
+ <AdditionalOption
+ key = "NSZombieEnabled"
+ value = "YES"
+ isEnabled = "YES">
+ </AdditionalOption>
+ <AdditionalOption
+ key = "MallocGuardEdges"
+ value = ""
+ isEnabled = "YES">
+ </AdditionalOption>
+ <AdditionalOption
+ key = "MallocScribble"
+ value = ""
+ isEnabled = "YES">
+ </AdditionalOption>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ language = ""
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Tsan.xcscheme b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Tsan.xcscheme
new file mode 100644
index 0000000000..f0bde837c5
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/CFStreamTests.xcodeproj/xcshareddata/xcschemes/CFStreamTests_Tsan.xcscheme
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0920"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ enableThreadSanitizer = "YES"
+ language = ""
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ <TestableReference
+ skipped = "NO">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5E143B782069D67300715A6E"
+ BuildableName = "CFStreamTests.xctest"
+ BlueprintName = "CFStreamTests"
+ ReferencedContainer = "container:CFStreamTests.xcodeproj">
+ </BuildableReference>
+ </TestableReference>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ language = ""
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ stopOnEveryThreadSanitizerIssue = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/test/core/iomgr/ios/CFStreamTests/Info.plist b/test/core/iomgr/ios/CFStreamTests/Info.plist
new file mode 100644
index 0000000000..6c40a6cd0c
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
+ <key>CFBundleExecutable</key>
+ <string>$(EXECUTABLE_NAME)</string>
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git a/test/core/iomgr/ios/CFStreamTests/Podfile b/test/core/iomgr/ios/CFStreamTests/Podfile
new file mode 100644
index 0000000000..630168a363
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/Podfile
@@ -0,0 +1,50 @@
+source 'https://github.com/CocoaPods/Specs.git'
+platform :ios, '8.0'
+
+install! 'cocoapods', :deterministic_uuids => false
+
+# Location of gRPC's repo root relative to this file.
+GRPC_LOCAL_SRC = '../../../../..'
+
+# Install the dependencies in the main target plus all test targets.
+target 'CFStreamTests' do
+ pod 'gRPC-Core/CFStream-Implementation', :path => GRPC_LOCAL_SRC
+end
+
+pre_install do |installer|
+ # This is the gRPC-Core podspec object, as initialized by its podspec file.
+ grpc_core_spec = installer.pod_targets.find{|t| t.name == 'gRPC-Core'}.root_spec
+
+ # Copied from gRPC-Core.podspec, except for the adjusted src_root:
+ src_root = "$(PODS_ROOT)/../#{GRPC_LOCAL_SRC}"
+ grpc_core_spec.pod_target_xcconfig = {
+ 'GRPC_SRC_ROOT' => src_root,
+ 'HEADER_SEARCH_PATHS' => '"$(inherited)" "$(GRPC_SRC_ROOT)/include"',
+ 'USER_HEADER_SEARCH_PATHS' => '"$(GRPC_SRC_ROOT)"',
+ # If we don't set these two settings, `include/grpc/support/time.h` and
+ # `src/core/lib/gpr/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the
+ # build.
+ 'USE_HEADERMAP' => 'NO',
+ 'ALWAYS_SEARCH_USER_PATHS' => 'NO',
+ }
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ target.build_configurations.each do |config|
+ config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES'
+ end
+
+ # CocoaPods creates duplicated library targets of gRPC-Core when the test targets include
+ # non-default subspecs of gRPC-Core. All of these library targets start with prefix 'gRPC-Core'
+ # and require the same error suppresion.
+ if target.name.start_with?('gRPC-Core')
+ target.build_configurations.each do |config|
+ # TODO(zyc): Remove this setting after the issue is resolved
+ # GPR_UNREACHABLE_CODE causes "Control may reach end of non-void
+ # function" warning
+ config.build_settings['GCC_WARN_ABOUT_RETURN_TYPE'] = 'NO'
+ end
+ end
+ end
+end
diff --git a/test/core/iomgr/ios/CFStreamTests/build_tests.sh b/test/core/iomgr/ios/CFStreamTests/build_tests.sh
new file mode 100755
index 0000000000..d23f26f5db
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/build_tests.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+# 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.
+
+# Don't run this script standalone. Instead, run from the repository root:
+# ./tools/run_tests/run_tests.py -l objc
+
+set -e
+
+# CocoaPods requires the terminal to be using UTF-8 encoding.
+export LANG=en_US.UTF-8
+
+cd "$(dirname "$0")"
+
+hash pod 2>/dev/null || { echo >&2 "Cocoapods needs to be installed."; exit 1; }
+hash xcodebuild 2>/dev/null || {
+ echo >&2 "XCode command-line tools need to be installed."
+ exit 1
+}
+
+# clean the directory
+rm -rf Pods
+rm -rf CFStreamTests.xcworkspace
+rm -f Podfile.lock
+
+echo "TIME: $(date)"
+pod install
+
diff --git a/test/core/iomgr/ios/CFStreamTests/run_tests.sh b/test/core/iomgr/ios/CFStreamTests/run_tests.sh
new file mode 100755
index 0000000000..1045ec10a8
--- /dev/null
+++ b/test/core/iomgr/ios/CFStreamTests/run_tests.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+# 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.
+
+# Don't run this script standalone. Instead, run from the repository root:
+# ./tools/run_tests/run_tests.py -l objc
+
+set -ev
+
+cd "$(dirname "$0")"
+
+echo "TIME: $(date)"
+
+XCODEBUILD_FILTER='(^CompileC |^Ld |^ *[^ ]*clang |^ *cd |^ *export |^Libtool |^ *[^ ]*libtool |^CpHeader |^ *builtin-copy )'
+
+xcodebuild \
+ -workspace CFStreamTests.xcworkspace \
+ -scheme CFStreamTests \
+ -destination name="iPhone 8" \
+ test \
+ | egrep -v "$XCODEBUILD_FILTER" \
+ | egrep -v '^$' \
+ | egrep -v "(GPBDictionary|GPBArray)" -
+
+echo "TIME: $(date)"
+
+xcodebuild \
+ -workspace CFStreamTests.xcworkspace \
+ -scheme CFStreamTests_Asan \
+ -destination name="iPhone 8" \
+ test \
+ | egrep -v "$XCODEBUILD_FILTER" \
+ | egrep -v '^$' \
+ | egrep -v "(GPBDictionary|GPBArray)" -
+
+echo "TIME: $(date)"
+
+xcodebuild \
+ -workspace CFStreamTests.xcworkspace \
+ -scheme CFStreamTests_Tsan \
+ -destination name="iPhone 8" \
+ test \
+ | egrep -v "$XCODEBUILD_FILTER" \
+ | egrep -v '^$' \
+ | egrep -v "(GPBDictionary|GPBArray)" -
+
+echo "TIME: $(date)"
+
+xcodebuild \
+ -workspace CFStreamTests.xcworkspace \
+ -scheme CFStreamTests_Msan \
+ -destination name="iPhone 8" \
+ test \
+ | egrep -v "$XCODEBUILD_FILTER" \
+ | egrep -v '^$' \
+ | egrep -v "(GPBDictionary|GPBArray)" -
diff --git a/test/core/iomgr/pollset_set_test.cc b/test/core/iomgr/pollset_set_test.cc
index 0dc75a5f3f..1aae1daa02 100644
--- a/test/core/iomgr/pollset_set_test.cc
+++ b/test/core/iomgr/pollset_set_test.cc
@@ -118,7 +118,7 @@ static void init_test_fds(test_fd* tfds, const int num_fds) {
for (int i = 0; i < num_fds; i++) {
GPR_ASSERT(GRPC_ERROR_NONE == grpc_wakeup_fd_init(&tfds[i].wakeup_fd));
tfds[i].fd = grpc_fd_create(GRPC_WAKEUP_FD_GET_READ_FD(&tfds[i].wakeup_fd),
- "test_fd");
+ "test_fd", false);
reset_test_fd(&tfds[i]);
}
}
@@ -136,8 +136,7 @@ static void cleanup_test_fds(test_fd* tfds, const int num_fds) {
* grpc_wakeup_fd and we would like to destroy it ourselves (by calling
* grpc_wakeup_fd_destroy). To prevent grpc_fd from calling close() on the
* underlying fd, call it with a non-NULL 'release_fd' parameter */
- grpc_fd_orphan(tfds[i].fd, nullptr, &release_fd, false /* already_closed */,
- "test_fd_cleanup");
+ grpc_fd_orphan(tfds[i].fd, nullptr, &release_fd, "test_fd_cleanup");
grpc_core::ExecCtx::Get()->Flush();
grpc_wakeup_fd_destroy(&tfds[i].wakeup_fd);
diff --git a/test/core/iomgr/tcp_posix_test.cc b/test/core/iomgr/tcp_posix_test.cc
index f4df6fca23..3e87831e44 100644
--- a/test/core/iomgr/tcp_posix_test.cc
+++ b/test/core/iomgr/tcp_posix_test.cc
@@ -176,7 +176,8 @@ static void read_test(size_t num_bytes, size_t 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");
+ ep =
+ grpc_tcp_create(grpc_fd_create(sv[1], "read_test", false), &args, "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
written_bytes = fill_socket_partial(sv[0], num_bytes);
@@ -226,7 +227,8 @@ static void large_read_test(size_t 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], "large_read_test"), &args, "test");
+ ep = grpc_tcp_create(grpc_fd_create(sv[1], "large_read_test", false), &args,
+ "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
written_bytes = fill_socket(sv[0]);
@@ -365,7 +367,8 @@ static void write_test(size_t num_bytes, size_t 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");
+ ep = grpc_tcp_create(grpc_fd_create(sv[1], "write_test", false), &args,
+ "test");
grpc_endpoint_add_to_pollset(ep, g_pollset);
state.ep = ep;
@@ -433,7 +436,8 @@ static void release_fd_test(size_t num_bytes, size_t 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");
+ ep =
+ grpc_tcp_create(grpc_fd_create(sv[1], "read_test", false), &args, "test");
GPR_ASSERT(grpc_tcp_fd(ep) == sv[1] && sv[1] >= 0);
grpc_endpoint_add_to_pollset(ep, g_pollset);
@@ -522,10 +526,10 @@ static grpc_endpoint_test_fixture create_fixture_tcp_socketpair(
a[0].type = GRPC_ARG_INTEGER;
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");
- f.server_ep =
- grpc_tcp_create(grpc_fd_create(sv[1], "fixture:server"), &args, "test");
+ f.client_ep = grpc_tcp_create(grpc_fd_create(sv[0], "fixture:client", false),
+ &args, "test");
+ f.server_ep = grpc_tcp_create(grpc_fd_create(sv[1], "fixture:server", false),
+ &args, "test");
grpc_resource_quota_unref_internal(resource_quota);
grpc_endpoint_add_to_pollset(f.client_ep, g_pollset);
grpc_endpoint_add_to_pollset(f.server_ep, g_pollset);
diff --git a/test/core/security/BUILD b/test/core/security/BUILD
index 70bcc8c9c3..12aa84d93b 100644
--- a/test/core/security/BUILD
+++ b/test/core/security/BUILD
@@ -183,6 +183,7 @@ grpc_cc_test(
"//:gpr",
"//:gpr_base",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
@@ -195,6 +196,7 @@ grpc_cc_test(
"//:gpr",
"//:gpr_base",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
@@ -206,6 +208,7 @@ grpc_cc_test(
"//:alts_util",
"//:gpr",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
@@ -220,5 +223,6 @@ grpc_cc_test(
"//:grpc_secure",
"//:tsi",
"//:tsi_interface",
+ "//test/core/util:gpr_test_util",
],
)
diff --git a/test/core/transport/BUILD b/test/core/transport/BUILD
index 84fb3a1421..7ca1c1d943 100644
--- a/test/core/transport/BUILD
+++ b/test/core/transport/BUILD
@@ -129,6 +129,7 @@ grpc_cc_test(
language = "C++",
deps = [
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
external_deps = [
"gtest",
diff --git a/test/core/transport/status_conversion_test.cc b/test/core/transport/status_conversion_test.cc
index 1ed6ccfba6..f7b3c62a40 100644
--- a/test/core/transport/status_conversion_test.cc
+++ b/test/core/transport/status_conversion_test.cc
@@ -33,12 +33,7 @@
#define HTTP2_STATUS_TO_GRPC_STATUS(a, b) \
GPR_ASSERT(grpc_http2_status_to_grpc_status(a) == (b))
-int main(int argc, char** argv) {
- int i;
-
- grpc_test_init(argc, argv);
- grpc_init();
-
+static void test_grpc_status_to_http2_error() {
GRPC_STATUS_TO_HTTP2_ERROR(GRPC_STATUS_OK, GRPC_HTTP2_NO_ERROR);
GRPC_STATUS_TO_HTTP2_ERROR(GRPC_STATUS_CANCELLED, GRPC_HTTP2_CANCEL);
GRPC_STATUS_TO_HTTP2_ERROR(GRPC_STATUS_UNKNOWN, GRPC_HTTP2_INTERNAL_ERROR);
@@ -65,7 +60,9 @@ int main(int argc, char** argv) {
GRPC_STATUS_TO_HTTP2_ERROR(GRPC_STATUS_UNAVAILABLE,
GRPC_HTTP2_REFUSED_STREAM);
GRPC_STATUS_TO_HTTP2_ERROR(GRPC_STATUS_DATA_LOSS, GRPC_HTTP2_INTERNAL_ERROR);
+}
+static void test_grpc_status_to_http2_status() {
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_OK, 200);
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_CANCELLED, 200);
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_UNKNOWN, 200);
@@ -83,7 +80,9 @@ int main(int argc, char** argv) {
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_INTERNAL, 200);
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_UNAVAILABLE, 200);
GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_DATA_LOSS, 200);
+}
+static void test_http2_error_to_grpc_status() {
const grpc_millis before_deadline = GRPC_MILLIS_INF_FUTURE;
HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_NO_ERROR, before_deadline,
GRPC_STATUS_INTERNAL);
@@ -144,7 +143,9 @@ int main(int argc, char** argv) {
GRPC_STATUS_RESOURCE_EXHAUSTED);
HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_INADEQUATE_SECURITY, after_deadline,
GRPC_STATUS_PERMISSION_DENIED);
+}
+static void test_http2_status_to_grpc_status() {
HTTP2_STATUS_TO_GRPC_STATUS(200, GRPC_STATUS_OK);
HTTP2_STATUS_TO_GRPC_STATUS(400, GRPC_STATUS_INVALID_ARGUMENT);
HTTP2_STATUS_TO_GRPC_STATUS(401, GRPC_STATUS_UNAUTHENTICATED);
@@ -157,6 +158,18 @@ int main(int argc, char** argv) {
HTTP2_STATUS_TO_GRPC_STATUS(500, GRPC_STATUS_UNKNOWN);
HTTP2_STATUS_TO_GRPC_STATUS(503, GRPC_STATUS_UNAVAILABLE);
HTTP2_STATUS_TO_GRPC_STATUS(504, GRPC_STATUS_DEADLINE_EXCEEDED);
+}
+
+int main(int argc, char** argv) {
+ int i;
+
+ grpc_test_init(argc, argv);
+ grpc_init();
+
+ test_grpc_status_to_http2_error();
+ test_grpc_status_to_http2_status();
+ test_http2_error_to_grpc_status();
+ test_http2_status_to_grpc_status();
/* check all status values can be converted */
for (i = 0; i <= 999; i++) {
diff --git a/test/core/tsi/alts/crypt/BUILD b/test/core/tsi/alts/crypt/BUILD
index cf9dbca316..abe1e83656 100644
--- a/test/core/tsi/alts/crypt/BUILD
+++ b/test/core/tsi/alts/crypt/BUILD
@@ -27,6 +27,7 @@ grpc_cc_test(
"//:alts_frame_protector",
"//:gpr",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
diff --git a/test/core/tsi/alts/frame_protector/BUILD b/test/core/tsi/alts/frame_protector/BUILD
index dd1966b379..6ff3015f4d 100644
--- a/test/core/tsi/alts/frame_protector/BUILD
+++ b/test/core/tsi/alts/frame_protector/BUILD
@@ -27,6 +27,7 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
@@ -39,6 +40,7 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
@@ -54,6 +56,7 @@ grpc_cc_test(
"//:tsi_interface",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
"//test/core/tsi:transport_security_test_lib",
+ "//test/core/util:gpr_test_util",
],
)
@@ -67,5 +70,6 @@ grpc_cc_test(
"//:gpr_base",
"//:grpc",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
diff --git a/test/core/tsi/alts/handshaker/BUILD b/test/core/tsi/alts/handshaker/BUILD
index 809742744c..3f1a681c1a 100644
--- a/test/core/tsi/alts/handshaker/BUILD
+++ b/test/core/tsi/alts/handshaker/BUILD
@@ -37,6 +37,7 @@ grpc_cc_test(
"//:tsi",
"//:tsi_interface",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
@@ -47,6 +48,7 @@ grpc_cc_test(
deps = [
":alts_handshaker_service_api_test_lib",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
@@ -60,6 +62,7 @@ grpc_cc_test(
"//:gpr_base",
"//:grpc",
"//:tsi",
+ "//test/core/util:gpr_test_util",
],
)
@@ -71,6 +74,7 @@ grpc_cc_test(
":alts_handshaker_service_api_test_lib",
"//:grpc",
"//:tsi",
+ "//test/core/util:gpr_test_util",
],
)
@@ -81,6 +85,7 @@ grpc_cc_test(
deps = [
"//:alts_util",
"//:grpc",
+ "//test/core/util:gpr_test_util",
],
)
diff --git a/test/core/tsi/alts/zero_copy_frame_protector/BUILD b/test/core/tsi/alts/zero_copy_frame_protector/BUILD
index 2b41dae043..a3b797327e 100644
--- a/test/core/tsi/alts/zero_copy_frame_protector/BUILD
+++ b/test/core/tsi/alts/zero_copy_frame_protector/BUILD
@@ -28,6 +28,7 @@ grpc_cc_test(
"//:grpc",
"//:grpc_base_c",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
@@ -40,6 +41,7 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
@@ -53,5 +55,6 @@ grpc_cc_test(
"//:grpc",
"//:grpc_base_c",
"//test/core/tsi/alts/crypt:alts_crypt_test_util",
+ "//test/core/util:gpr_test_util",
],
)
diff --git a/test/core/util/BUILD b/test/core/util/BUILD
index f52570cde5..be3e204777 100644
--- a/test/core/util/BUILD
+++ b/test/core/util/BUILD
@@ -32,6 +32,11 @@ grpc_cc_library(
"test_config.h",
],
deps = ["//:gpr"],
+ data = [
+ "//tools:lsan_suppressions.txt",
+ "//tools:tsan_suppressions.txt",
+ "//tools:ubsan_suppressions.txt",
+ ],
)
grpc_cc_library(