end2end_nosec_tests.cc 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789
  1. /*
  2. *
  3. * Copyright 2015 gRPC authors.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. *
  17. */
  18. /* This file is auto-generated */
  19. #include "test/core/end2end/end2end_tests.h"
  20. #include <stdbool.h>
  21. #include <string.h>
  22. #include <grpc/support/log.h>
  23. static bool g_pre_init_called = false;
  24. extern void authority_not_supported(grpc_end2end_test_config config);
  25. extern void authority_not_supported_pre_init(void);
  26. extern void bad_hostname(grpc_end2end_test_config config);
  27. extern void bad_hostname_pre_init(void);
  28. extern void bad_ping(grpc_end2end_test_config config);
  29. extern void bad_ping_pre_init(void);
  30. extern void binary_metadata(grpc_end2end_test_config config);
  31. extern void binary_metadata_pre_init(void);
  32. extern void call_host_override(grpc_end2end_test_config config);
  33. extern void call_host_override_pre_init(void);
  34. extern void cancel_after_accept(grpc_end2end_test_config config);
  35. extern void cancel_after_accept_pre_init(void);
  36. extern void cancel_after_client_done(grpc_end2end_test_config config);
  37. extern void cancel_after_client_done_pre_init(void);
  38. extern void cancel_after_invoke(grpc_end2end_test_config config);
  39. extern void cancel_after_invoke_pre_init(void);
  40. extern void cancel_after_round_trip(grpc_end2end_test_config config);
  41. extern void cancel_after_round_trip_pre_init(void);
  42. extern void cancel_before_invoke(grpc_end2end_test_config config);
  43. extern void cancel_before_invoke_pre_init(void);
  44. extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
  45. extern void cancel_in_a_vacuum_pre_init(void);
  46. extern void cancel_with_status(grpc_end2end_test_config config);
  47. extern void cancel_with_status_pre_init(void);
  48. extern void channelz(grpc_end2end_test_config config);
  49. extern void channelz_pre_init(void);
  50. extern void client_streaming(grpc_end2end_test_config config);
  51. extern void client_streaming_pre_init(void);
  52. extern void compressed_payload(grpc_end2end_test_config config);
  53. extern void compressed_payload_pre_init(void);
  54. extern void connectivity(grpc_end2end_test_config config);
  55. extern void connectivity_pre_init(void);
  56. extern void default_host(grpc_end2end_test_config config);
  57. extern void default_host_pre_init(void);
  58. extern void disappearing_server(grpc_end2end_test_config config);
  59. extern void disappearing_server_pre_init(void);
  60. extern void empty_batch(grpc_end2end_test_config config);
  61. extern void empty_batch_pre_init(void);
  62. extern void filter_causes_close(grpc_end2end_test_config config);
  63. extern void filter_causes_close_pre_init(void);
  64. extern void filter_context(grpc_end2end_test_config config);
  65. extern void filter_context_pre_init(void);
  66. extern void filter_init_fails(grpc_end2end_test_config config);
  67. extern void filter_init_fails_pre_init(void);
  68. extern void filter_latency(grpc_end2end_test_config config);
  69. extern void filter_latency_pre_init(void);
  70. extern void filter_status_code(grpc_end2end_test_config config);
  71. extern void filter_status_code_pre_init(void);
  72. extern void graceful_server_shutdown(grpc_end2end_test_config config);
  73. extern void graceful_server_shutdown_pre_init(void);
  74. extern void high_initial_seqno(grpc_end2end_test_config config);
  75. extern void high_initial_seqno_pre_init(void);
  76. extern void hpack_size(grpc_end2end_test_config config);
  77. extern void hpack_size_pre_init(void);
  78. extern void idempotent_request(grpc_end2end_test_config config);
  79. extern void idempotent_request_pre_init(void);
  80. extern void invoke_large_request(grpc_end2end_test_config config);
  81. extern void invoke_large_request_pre_init(void);
  82. extern void keepalive_timeout(grpc_end2end_test_config config);
  83. extern void keepalive_timeout_pre_init(void);
  84. extern void large_metadata(grpc_end2end_test_config config);
  85. extern void large_metadata_pre_init(void);
  86. extern void max_concurrent_streams(grpc_end2end_test_config config);
  87. extern void max_concurrent_streams_pre_init(void);
  88. extern void max_connection_age(grpc_end2end_test_config config);
  89. extern void max_connection_age_pre_init(void);
  90. extern void max_connection_idle(grpc_end2end_test_config config);
  91. extern void max_connection_idle_pre_init(void);
  92. extern void max_message_length(grpc_end2end_test_config config);
  93. extern void max_message_length_pre_init(void);
  94. extern void negative_deadline(grpc_end2end_test_config config);
  95. extern void negative_deadline_pre_init(void);
  96. extern void no_error_on_hotpath(grpc_end2end_test_config config);
  97. extern void no_error_on_hotpath_pre_init(void);
  98. extern void no_logging(grpc_end2end_test_config config);
  99. extern void no_logging_pre_init(void);
  100. extern void no_op(grpc_end2end_test_config config);
  101. extern void no_op_pre_init(void);
  102. extern void payload(grpc_end2end_test_config config);
  103. extern void payload_pre_init(void);
  104. extern void ping(grpc_end2end_test_config config);
  105. extern void ping_pre_init(void);
  106. extern void ping_pong_streaming(grpc_end2end_test_config config);
  107. extern void ping_pong_streaming_pre_init(void);
  108. extern void proxy_auth(grpc_end2end_test_config config);
  109. extern void proxy_auth_pre_init(void);
  110. extern void registered_call(grpc_end2end_test_config config);
  111. extern void registered_call_pre_init(void);
  112. extern void request_with_flags(grpc_end2end_test_config config);
  113. extern void request_with_flags_pre_init(void);
  114. extern void request_with_payload(grpc_end2end_test_config config);
  115. extern void request_with_payload_pre_init(void);
  116. extern void resource_quota_server(grpc_end2end_test_config config);
  117. extern void resource_quota_server_pre_init(void);
  118. extern void retry(grpc_end2end_test_config config);
  119. extern void retry_pre_init(void);
  120. extern void retry_cancel_after_first_attempt_starts(grpc_end2end_test_config config);
  121. extern void retry_cancel_after_first_attempt_starts_pre_init(void);
  122. extern void retry_cancel_during_delay(grpc_end2end_test_config config);
  123. extern void retry_cancel_during_delay_pre_init(void);
  124. extern void retry_cancel_with_multiple_send_batches(grpc_end2end_test_config config);
  125. extern void retry_cancel_with_multiple_send_batches_pre_init(void);
  126. extern void retry_cancellation(grpc_end2end_test_config config);
  127. extern void retry_cancellation_pre_init(void);
  128. extern void retry_disabled(grpc_end2end_test_config config);
  129. extern void retry_disabled_pre_init(void);
  130. extern void retry_exceeds_buffer_size_in_delay(grpc_end2end_test_config config);
  131. extern void retry_exceeds_buffer_size_in_delay_pre_init(void);
  132. extern void retry_exceeds_buffer_size_in_initial_batch(grpc_end2end_test_config config);
  133. extern void retry_exceeds_buffer_size_in_initial_batch_pre_init(void);
  134. extern void retry_exceeds_buffer_size_in_subsequent_batch(grpc_end2end_test_config config);
  135. extern void retry_exceeds_buffer_size_in_subsequent_batch_pre_init(void);
  136. extern void retry_lb_drop(grpc_end2end_test_config config);
  137. extern void retry_lb_drop_pre_init(void);
  138. extern void retry_lb_fail(grpc_end2end_test_config config);
  139. extern void retry_lb_fail_pre_init(void);
  140. extern void retry_non_retriable_status(grpc_end2end_test_config config);
  141. extern void retry_non_retriable_status_pre_init(void);
  142. extern void retry_non_retriable_status_before_recv_trailing_metadata_started(grpc_end2end_test_config config);
  143. extern void retry_non_retriable_status_before_recv_trailing_metadata_started_pre_init(void);
  144. extern void retry_per_attempt_recv_timeout(grpc_end2end_test_config config);
  145. extern void retry_per_attempt_recv_timeout_pre_init(void);
  146. extern void retry_per_attempt_recv_timeout_on_last_attempt(grpc_end2end_test_config config);
  147. extern void retry_per_attempt_recv_timeout_on_last_attempt_pre_init(void);
  148. extern void retry_recv_initial_metadata(grpc_end2end_test_config config);
  149. extern void retry_recv_initial_metadata_pre_init(void);
  150. extern void retry_recv_message(grpc_end2end_test_config config);
  151. extern void retry_recv_message_pre_init(void);
  152. extern void retry_recv_message_replay(grpc_end2end_test_config config);
  153. extern void retry_recv_message_replay_pre_init(void);
  154. extern void retry_recv_trailing_metadata_error(grpc_end2end_test_config config);
  155. extern void retry_recv_trailing_metadata_error_pre_init(void);
  156. extern void retry_send_initial_metadata_refs(grpc_end2end_test_config config);
  157. extern void retry_send_initial_metadata_refs_pre_init(void);
  158. extern void retry_send_op_fails(grpc_end2end_test_config config);
  159. extern void retry_send_op_fails_pre_init(void);
  160. extern void retry_server_pushback_delay(grpc_end2end_test_config config);
  161. extern void retry_server_pushback_delay_pre_init(void);
  162. extern void retry_server_pushback_disabled(grpc_end2end_test_config config);
  163. extern void retry_server_pushback_disabled_pre_init(void);
  164. extern void retry_streaming(grpc_end2end_test_config config);
  165. extern void retry_streaming_pre_init(void);
  166. extern void retry_streaming_after_commit(grpc_end2end_test_config config);
  167. extern void retry_streaming_after_commit_pre_init(void);
  168. extern void retry_streaming_succeeds_before_replay_finished(grpc_end2end_test_config config);
  169. extern void retry_streaming_succeeds_before_replay_finished_pre_init(void);
  170. extern void retry_throttled(grpc_end2end_test_config config);
  171. extern void retry_throttled_pre_init(void);
  172. extern void retry_too_many_attempts(grpc_end2end_test_config config);
  173. extern void retry_too_many_attempts_pre_init(void);
  174. extern void retry_transparent_goaway(grpc_end2end_test_config config);
  175. extern void retry_transparent_goaway_pre_init(void);
  176. extern void retry_transparent_max_concurrent_streams(grpc_end2end_test_config config);
  177. extern void retry_transparent_max_concurrent_streams_pre_init(void);
  178. extern void retry_transparent_not_sent_on_wire(grpc_end2end_test_config config);
  179. extern void retry_transparent_not_sent_on_wire_pre_init(void);
  180. extern void retry_unref_before_finish(grpc_end2end_test_config config);
  181. extern void retry_unref_before_finish_pre_init(void);
  182. extern void retry_unref_before_recv(grpc_end2end_test_config config);
  183. extern void retry_unref_before_recv_pre_init(void);
  184. extern void server_finishes_request(grpc_end2end_test_config config);
  185. extern void server_finishes_request_pre_init(void);
  186. extern void server_streaming(grpc_end2end_test_config config);
  187. extern void server_streaming_pre_init(void);
  188. extern void shutdown_finishes_calls(grpc_end2end_test_config config);
  189. extern void shutdown_finishes_calls_pre_init(void);
  190. extern void shutdown_finishes_tags(grpc_end2end_test_config config);
  191. extern void shutdown_finishes_tags_pre_init(void);
  192. extern void simple_cacheable_request(grpc_end2end_test_config config);
  193. extern void simple_cacheable_request_pre_init(void);
  194. extern void simple_delayed_request(grpc_end2end_test_config config);
  195. extern void simple_delayed_request_pre_init(void);
  196. extern void simple_metadata(grpc_end2end_test_config config);
  197. extern void simple_metadata_pre_init(void);
  198. extern void simple_request(grpc_end2end_test_config config);
  199. extern void simple_request_pre_init(void);
  200. extern void streaming_error_response(grpc_end2end_test_config config);
  201. extern void streaming_error_response_pre_init(void);
  202. extern void trailing_metadata(grpc_end2end_test_config config);
  203. extern void trailing_metadata_pre_init(void);
  204. extern void write_buffering(grpc_end2end_test_config config);
  205. extern void write_buffering_pre_init(void);
  206. extern void write_buffering_at_end(grpc_end2end_test_config config);
  207. extern void write_buffering_at_end_pre_init(void);
  208. void grpc_end2end_tests_pre_init(void) {
  209. GPR_ASSERT(!g_pre_init_called);
  210. g_pre_init_called = true;
  211. authority_not_supported_pre_init();
  212. bad_hostname_pre_init();
  213. bad_ping_pre_init();
  214. binary_metadata_pre_init();
  215. call_host_override_pre_init();
  216. cancel_after_accept_pre_init();
  217. cancel_after_client_done_pre_init();
  218. cancel_after_invoke_pre_init();
  219. cancel_after_round_trip_pre_init();
  220. cancel_before_invoke_pre_init();
  221. cancel_in_a_vacuum_pre_init();
  222. cancel_with_status_pre_init();
  223. channelz_pre_init();
  224. client_streaming_pre_init();
  225. compressed_payload_pre_init();
  226. connectivity_pre_init();
  227. default_host_pre_init();
  228. disappearing_server_pre_init();
  229. empty_batch_pre_init();
  230. filter_causes_close_pre_init();
  231. filter_context_pre_init();
  232. filter_init_fails_pre_init();
  233. filter_latency_pre_init();
  234. filter_status_code_pre_init();
  235. graceful_server_shutdown_pre_init();
  236. high_initial_seqno_pre_init();
  237. hpack_size_pre_init();
  238. idempotent_request_pre_init();
  239. invoke_large_request_pre_init();
  240. keepalive_timeout_pre_init();
  241. large_metadata_pre_init();
  242. max_concurrent_streams_pre_init();
  243. max_connection_age_pre_init();
  244. max_connection_idle_pre_init();
  245. max_message_length_pre_init();
  246. negative_deadline_pre_init();
  247. no_error_on_hotpath_pre_init();
  248. no_logging_pre_init();
  249. no_op_pre_init();
  250. payload_pre_init();
  251. ping_pre_init();
  252. ping_pong_streaming_pre_init();
  253. proxy_auth_pre_init();
  254. registered_call_pre_init();
  255. request_with_flags_pre_init();
  256. request_with_payload_pre_init();
  257. resource_quota_server_pre_init();
  258. retry_pre_init();
  259. retry_cancel_after_first_attempt_starts_pre_init();
  260. retry_cancel_during_delay_pre_init();
  261. retry_cancel_with_multiple_send_batches_pre_init();
  262. retry_cancellation_pre_init();
  263. retry_disabled_pre_init();
  264. retry_exceeds_buffer_size_in_delay_pre_init();
  265. retry_exceeds_buffer_size_in_initial_batch_pre_init();
  266. retry_exceeds_buffer_size_in_subsequent_batch_pre_init();
  267. retry_lb_drop_pre_init();
  268. retry_lb_fail_pre_init();
  269. retry_non_retriable_status_pre_init();
  270. retry_non_retriable_status_before_recv_trailing_metadata_started_pre_init();
  271. retry_per_attempt_recv_timeout_pre_init();
  272. retry_per_attempt_recv_timeout_on_last_attempt_pre_init();
  273. retry_recv_initial_metadata_pre_init();
  274. retry_recv_message_pre_init();
  275. retry_recv_message_replay_pre_init();
  276. retry_recv_trailing_metadata_error_pre_init();
  277. retry_send_initial_metadata_refs_pre_init();
  278. retry_send_op_fails_pre_init();
  279. retry_server_pushback_delay_pre_init();
  280. retry_server_pushback_disabled_pre_init();
  281. retry_streaming_pre_init();
  282. retry_streaming_after_commit_pre_init();
  283. retry_streaming_succeeds_before_replay_finished_pre_init();
  284. retry_throttled_pre_init();
  285. retry_too_many_attempts_pre_init();
  286. retry_transparent_goaway_pre_init();
  287. retry_transparent_max_concurrent_streams_pre_init();
  288. retry_transparent_not_sent_on_wire_pre_init();
  289. retry_unref_before_finish_pre_init();
  290. retry_unref_before_recv_pre_init();
  291. server_finishes_request_pre_init();
  292. server_streaming_pre_init();
  293. shutdown_finishes_calls_pre_init();
  294. shutdown_finishes_tags_pre_init();
  295. simple_cacheable_request_pre_init();
  296. simple_delayed_request_pre_init();
  297. simple_metadata_pre_init();
  298. simple_request_pre_init();
  299. streaming_error_response_pre_init();
  300. trailing_metadata_pre_init();
  301. write_buffering_pre_init();
  302. write_buffering_at_end_pre_init();
  303. }
  304. // NOLINTNEXTLINE(readability-function-size)
  305. void grpc_end2end_tests(int argc, char **argv,
  306. grpc_end2end_test_config config) {
  307. int i;
  308. GPR_ASSERT(g_pre_init_called);
  309. if (argc <= 1) {
  310. authority_not_supported(config);
  311. bad_hostname(config);
  312. bad_ping(config);
  313. binary_metadata(config);
  314. call_host_override(config);
  315. cancel_after_accept(config);
  316. cancel_after_client_done(config);
  317. cancel_after_invoke(config);
  318. cancel_after_round_trip(config);
  319. cancel_before_invoke(config);
  320. cancel_in_a_vacuum(config);
  321. cancel_with_status(config);
  322. channelz(config);
  323. client_streaming(config);
  324. compressed_payload(config);
  325. connectivity(config);
  326. default_host(config);
  327. disappearing_server(config);
  328. empty_batch(config);
  329. filter_causes_close(config);
  330. filter_context(config);
  331. filter_init_fails(config);
  332. filter_latency(config);
  333. filter_status_code(config);
  334. graceful_server_shutdown(config);
  335. high_initial_seqno(config);
  336. hpack_size(config);
  337. idempotent_request(config);
  338. invoke_large_request(config);
  339. keepalive_timeout(config);
  340. large_metadata(config);
  341. max_concurrent_streams(config);
  342. max_connection_age(config);
  343. max_connection_idle(config);
  344. max_message_length(config);
  345. negative_deadline(config);
  346. no_error_on_hotpath(config);
  347. no_logging(config);
  348. no_op(config);
  349. payload(config);
  350. ping(config);
  351. ping_pong_streaming(config);
  352. proxy_auth(config);
  353. registered_call(config);
  354. request_with_flags(config);
  355. request_with_payload(config);
  356. resource_quota_server(config);
  357. retry(config);
  358. retry_cancel_after_first_attempt_starts(config);
  359. retry_cancel_during_delay(config);
  360. retry_cancel_with_multiple_send_batches(config);
  361. retry_cancellation(config);
  362. retry_disabled(config);
  363. retry_exceeds_buffer_size_in_delay(config);
  364. retry_exceeds_buffer_size_in_initial_batch(config);
  365. retry_exceeds_buffer_size_in_subsequent_batch(config);
  366. retry_lb_drop(config);
  367. retry_lb_fail(config);
  368. retry_non_retriable_status(config);
  369. retry_non_retriable_status_before_recv_trailing_metadata_started(config);
  370. retry_per_attempt_recv_timeout(config);
  371. retry_per_attempt_recv_timeout_on_last_attempt(config);
  372. retry_recv_initial_metadata(config);
  373. retry_recv_message(config);
  374. retry_recv_message_replay(config);
  375. retry_recv_trailing_metadata_error(config);
  376. retry_send_initial_metadata_refs(config);
  377. retry_send_op_fails(config);
  378. retry_server_pushback_delay(config);
  379. retry_server_pushback_disabled(config);
  380. retry_streaming(config);
  381. retry_streaming_after_commit(config);
  382. retry_streaming_succeeds_before_replay_finished(config);
  383. retry_throttled(config);
  384. retry_too_many_attempts(config);
  385. retry_transparent_goaway(config);
  386. retry_transparent_max_concurrent_streams(config);
  387. retry_transparent_not_sent_on_wire(config);
  388. retry_unref_before_finish(config);
  389. retry_unref_before_recv(config);
  390. server_finishes_request(config);
  391. server_streaming(config);
  392. shutdown_finishes_calls(config);
  393. shutdown_finishes_tags(config);
  394. simple_cacheable_request(config);
  395. simple_delayed_request(config);
  396. simple_metadata(config);
  397. simple_request(config);
  398. streaming_error_response(config);
  399. trailing_metadata(config);
  400. write_buffering(config);
  401. write_buffering_at_end(config);
  402. return;
  403. }
  404. for (i = 1; i < argc; i++) {
  405. if (0 == strcmp("authority_not_supported", argv[i])) {
  406. authority_not_supported(config);
  407. continue;
  408. }
  409. if (0 == strcmp("bad_hostname", argv[i])) {
  410. bad_hostname(config);
  411. continue;
  412. }
  413. if (0 == strcmp("bad_ping", argv[i])) {
  414. bad_ping(config);
  415. continue;
  416. }
  417. if (0 == strcmp("binary_metadata", argv[i])) {
  418. binary_metadata(config);
  419. continue;
  420. }
  421. if (0 == strcmp("call_host_override", argv[i])) {
  422. call_host_override(config);
  423. continue;
  424. }
  425. if (0 == strcmp("cancel_after_accept", argv[i])) {
  426. cancel_after_accept(config);
  427. continue;
  428. }
  429. if (0 == strcmp("cancel_after_client_done", argv[i])) {
  430. cancel_after_client_done(config);
  431. continue;
  432. }
  433. if (0 == strcmp("cancel_after_invoke", argv[i])) {
  434. cancel_after_invoke(config);
  435. continue;
  436. }
  437. if (0 == strcmp("cancel_after_round_trip", argv[i])) {
  438. cancel_after_round_trip(config);
  439. continue;
  440. }
  441. if (0 == strcmp("cancel_before_invoke", argv[i])) {
  442. cancel_before_invoke(config);
  443. continue;
  444. }
  445. if (0 == strcmp("cancel_in_a_vacuum", argv[i])) {
  446. cancel_in_a_vacuum(config);
  447. continue;
  448. }
  449. if (0 == strcmp("cancel_with_status", argv[i])) {
  450. cancel_with_status(config);
  451. continue;
  452. }
  453. if (0 == strcmp("channelz", argv[i])) {
  454. channelz(config);
  455. continue;
  456. }
  457. if (0 == strcmp("client_streaming", argv[i])) {
  458. client_streaming(config);
  459. continue;
  460. }
  461. if (0 == strcmp("compressed_payload", argv[i])) {
  462. compressed_payload(config);
  463. continue;
  464. }
  465. if (0 == strcmp("connectivity", argv[i])) {
  466. connectivity(config);
  467. continue;
  468. }
  469. if (0 == strcmp("default_host", argv[i])) {
  470. default_host(config);
  471. continue;
  472. }
  473. if (0 == strcmp("disappearing_server", argv[i])) {
  474. disappearing_server(config);
  475. continue;
  476. }
  477. if (0 == strcmp("empty_batch", argv[i])) {
  478. empty_batch(config);
  479. continue;
  480. }
  481. if (0 == strcmp("filter_causes_close", argv[i])) {
  482. filter_causes_close(config);
  483. continue;
  484. }
  485. if (0 == strcmp("filter_context", argv[i])) {
  486. filter_context(config);
  487. continue;
  488. }
  489. if (0 == strcmp("filter_init_fails", argv[i])) {
  490. filter_init_fails(config);
  491. continue;
  492. }
  493. if (0 == strcmp("filter_latency", argv[i])) {
  494. filter_latency(config);
  495. continue;
  496. }
  497. if (0 == strcmp("filter_status_code", argv[i])) {
  498. filter_status_code(config);
  499. continue;
  500. }
  501. if (0 == strcmp("graceful_server_shutdown", argv[i])) {
  502. graceful_server_shutdown(config);
  503. continue;
  504. }
  505. if (0 == strcmp("high_initial_seqno", argv[i])) {
  506. high_initial_seqno(config);
  507. continue;
  508. }
  509. if (0 == strcmp("hpack_size", argv[i])) {
  510. hpack_size(config);
  511. continue;
  512. }
  513. if (0 == strcmp("idempotent_request", argv[i])) {
  514. idempotent_request(config);
  515. continue;
  516. }
  517. if (0 == strcmp("invoke_large_request", argv[i])) {
  518. invoke_large_request(config);
  519. continue;
  520. }
  521. if (0 == strcmp("keepalive_timeout", argv[i])) {
  522. keepalive_timeout(config);
  523. continue;
  524. }
  525. if (0 == strcmp("large_metadata", argv[i])) {
  526. large_metadata(config);
  527. continue;
  528. }
  529. if (0 == strcmp("max_concurrent_streams", argv[i])) {
  530. max_concurrent_streams(config);
  531. continue;
  532. }
  533. if (0 == strcmp("max_connection_age", argv[i])) {
  534. max_connection_age(config);
  535. continue;
  536. }
  537. if (0 == strcmp("max_connection_idle", argv[i])) {
  538. max_connection_idle(config);
  539. continue;
  540. }
  541. if (0 == strcmp("max_message_length", argv[i])) {
  542. max_message_length(config);
  543. continue;
  544. }
  545. if (0 == strcmp("negative_deadline", argv[i])) {
  546. negative_deadline(config);
  547. continue;
  548. }
  549. if (0 == strcmp("no_error_on_hotpath", argv[i])) {
  550. no_error_on_hotpath(config);
  551. continue;
  552. }
  553. if (0 == strcmp("no_logging", argv[i])) {
  554. no_logging(config);
  555. continue;
  556. }
  557. if (0 == strcmp("no_op", argv[i])) {
  558. no_op(config);
  559. continue;
  560. }
  561. if (0 == strcmp("payload", argv[i])) {
  562. payload(config);
  563. continue;
  564. }
  565. if (0 == strcmp("ping", argv[i])) {
  566. ping(config);
  567. continue;
  568. }
  569. if (0 == strcmp("ping_pong_streaming", argv[i])) {
  570. ping_pong_streaming(config);
  571. continue;
  572. }
  573. if (0 == strcmp("proxy_auth", argv[i])) {
  574. proxy_auth(config);
  575. continue;
  576. }
  577. if (0 == strcmp("registered_call", argv[i])) {
  578. registered_call(config);
  579. continue;
  580. }
  581. if (0 == strcmp("request_with_flags", argv[i])) {
  582. request_with_flags(config);
  583. continue;
  584. }
  585. if (0 == strcmp("request_with_payload", argv[i])) {
  586. request_with_payload(config);
  587. continue;
  588. }
  589. if (0 == strcmp("resource_quota_server", argv[i])) {
  590. resource_quota_server(config);
  591. continue;
  592. }
  593. if (0 == strcmp("retry", argv[i])) {
  594. retry(config);
  595. continue;
  596. }
  597. if (0 == strcmp("retry_cancel_after_first_attempt_starts", argv[i])) {
  598. retry_cancel_after_first_attempt_starts(config);
  599. continue;
  600. }
  601. if (0 == strcmp("retry_cancel_during_delay", argv[i])) {
  602. retry_cancel_during_delay(config);
  603. continue;
  604. }
  605. if (0 == strcmp("retry_cancel_with_multiple_send_batches", argv[i])) {
  606. retry_cancel_with_multiple_send_batches(config);
  607. continue;
  608. }
  609. if (0 == strcmp("retry_cancellation", argv[i])) {
  610. retry_cancellation(config);
  611. continue;
  612. }
  613. if (0 == strcmp("retry_disabled", argv[i])) {
  614. retry_disabled(config);
  615. continue;
  616. }
  617. if (0 == strcmp("retry_exceeds_buffer_size_in_delay", argv[i])) {
  618. retry_exceeds_buffer_size_in_delay(config);
  619. continue;
  620. }
  621. if (0 == strcmp("retry_exceeds_buffer_size_in_initial_batch", argv[i])) {
  622. retry_exceeds_buffer_size_in_initial_batch(config);
  623. continue;
  624. }
  625. if (0 == strcmp("retry_exceeds_buffer_size_in_subsequent_batch", argv[i])) {
  626. retry_exceeds_buffer_size_in_subsequent_batch(config);
  627. continue;
  628. }
  629. if (0 == strcmp("retry_lb_drop", argv[i])) {
  630. retry_lb_drop(config);
  631. continue;
  632. }
  633. if (0 == strcmp("retry_lb_fail", argv[i])) {
  634. retry_lb_fail(config);
  635. continue;
  636. }
  637. if (0 == strcmp("retry_non_retriable_status", argv[i])) {
  638. retry_non_retriable_status(config);
  639. continue;
  640. }
  641. if (0 == strcmp("retry_non_retriable_status_before_recv_trailing_metadata_started", argv[i])) {
  642. retry_non_retriable_status_before_recv_trailing_metadata_started(config);
  643. continue;
  644. }
  645. if (0 == strcmp("retry_per_attempt_recv_timeout", argv[i])) {
  646. retry_per_attempt_recv_timeout(config);
  647. continue;
  648. }
  649. if (0 == strcmp("retry_per_attempt_recv_timeout_on_last_attempt", argv[i])) {
  650. retry_per_attempt_recv_timeout_on_last_attempt(config);
  651. continue;
  652. }
  653. if (0 == strcmp("retry_recv_initial_metadata", argv[i])) {
  654. retry_recv_initial_metadata(config);
  655. continue;
  656. }
  657. if (0 == strcmp("retry_recv_message", argv[i])) {
  658. retry_recv_message(config);
  659. continue;
  660. }
  661. if (0 == strcmp("retry_recv_message_replay", argv[i])) {
  662. retry_recv_message_replay(config);
  663. continue;
  664. }
  665. if (0 == strcmp("retry_recv_trailing_metadata_error", argv[i])) {
  666. retry_recv_trailing_metadata_error(config);
  667. continue;
  668. }
  669. if (0 == strcmp("retry_send_initial_metadata_refs", argv[i])) {
  670. retry_send_initial_metadata_refs(config);
  671. continue;
  672. }
  673. if (0 == strcmp("retry_send_op_fails", argv[i])) {
  674. retry_send_op_fails(config);
  675. continue;
  676. }
  677. if (0 == strcmp("retry_server_pushback_delay", argv[i])) {
  678. retry_server_pushback_delay(config);
  679. continue;
  680. }
  681. if (0 == strcmp("retry_server_pushback_disabled", argv[i])) {
  682. retry_server_pushback_disabled(config);
  683. continue;
  684. }
  685. if (0 == strcmp("retry_streaming", argv[i])) {
  686. retry_streaming(config);
  687. continue;
  688. }
  689. if (0 == strcmp("retry_streaming_after_commit", argv[i])) {
  690. retry_streaming_after_commit(config);
  691. continue;
  692. }
  693. if (0 == strcmp("retry_streaming_succeeds_before_replay_finished", argv[i])) {
  694. retry_streaming_succeeds_before_replay_finished(config);
  695. continue;
  696. }
  697. if (0 == strcmp("retry_throttled", argv[i])) {
  698. retry_throttled(config);
  699. continue;
  700. }
  701. if (0 == strcmp("retry_too_many_attempts", argv[i])) {
  702. retry_too_many_attempts(config);
  703. continue;
  704. }
  705. if (0 == strcmp("retry_transparent_goaway", argv[i])) {
  706. retry_transparent_goaway(config);
  707. continue;
  708. }
  709. if (0 == strcmp("retry_transparent_max_concurrent_streams", argv[i])) {
  710. retry_transparent_max_concurrent_streams(config);
  711. continue;
  712. }
  713. if (0 == strcmp("retry_transparent_not_sent_on_wire", argv[i])) {
  714. retry_transparent_not_sent_on_wire(config);
  715. continue;
  716. }
  717. if (0 == strcmp("retry_unref_before_finish", argv[i])) {
  718. retry_unref_before_finish(config);
  719. continue;
  720. }
  721. if (0 == strcmp("retry_unref_before_recv", argv[i])) {
  722. retry_unref_before_recv(config);
  723. continue;
  724. }
  725. if (0 == strcmp("server_finishes_request", argv[i])) {
  726. server_finishes_request(config);
  727. continue;
  728. }
  729. if (0 == strcmp("server_streaming", argv[i])) {
  730. server_streaming(config);
  731. continue;
  732. }
  733. if (0 == strcmp("shutdown_finishes_calls", argv[i])) {
  734. shutdown_finishes_calls(config);
  735. continue;
  736. }
  737. if (0 == strcmp("shutdown_finishes_tags", argv[i])) {
  738. shutdown_finishes_tags(config);
  739. continue;
  740. }
  741. if (0 == strcmp("simple_cacheable_request", argv[i])) {
  742. simple_cacheable_request(config);
  743. continue;
  744. }
  745. if (0 == strcmp("simple_delayed_request", argv[i])) {
  746. simple_delayed_request(config);
  747. continue;
  748. }
  749. if (0 == strcmp("simple_metadata", argv[i])) {
  750. simple_metadata(config);
  751. continue;
  752. }
  753. if (0 == strcmp("simple_request", argv[i])) {
  754. simple_request(config);
  755. continue;
  756. }
  757. if (0 == strcmp("streaming_error_response", argv[i])) {
  758. streaming_error_response(config);
  759. continue;
  760. }
  761. if (0 == strcmp("trailing_metadata", argv[i])) {
  762. trailing_metadata(config);
  763. continue;
  764. }
  765. if (0 == strcmp("write_buffering", argv[i])) {
  766. write_buffering(config);
  767. continue;
  768. }
  769. if (0 == strcmp("write_buffering_at_end", argv[i])) {
  770. write_buffering_at_end(config);
  771. continue;
  772. }
  773. gpr_log(GPR_DEBUG, "not a test: '%s'", argv[i]);
  774. abort();
  775. }
  776. }