blob: 3de5a2800d532013c8ab24f48ac9397396d9b79a [file] [log] [blame]
Craig Tiller0fe5ee72015-12-22 12:50:36 -08001
Craig Tiller0fe5ee72015-12-22 12:50:36 -08002/*
3 *
Craig Tiller6169d5f2016-03-31 07:46:18 -07004 * Copyright 2015, Google Inc.
Craig Tiller0fe5ee72015-12-22 12:50:36 -08005 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are
9 * met:
10 *
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following disclaimer
15 * in the documentation and/or other materials provided with the
16 * distribution.
17 * * Neither the name of Google Inc. nor the names of its
18 * contributors may be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *
33 */
34
Craig Tiller0fe5ee72015-12-22 12:50:36 -080035/* This file is auto-generated */
36
Craig Tillerf40df232016-03-25 13:38:14 -070037#include "test/core/end2end/end2end_tests.h"
Craig Tiller0fe5ee72015-12-22 12:50:36 -080038
Craig Tillerd1fce832016-03-21 15:33:47 -070039#include <string.h>
40
41#include <grpc/support/log.h>
42
Craig Tiller0fe5ee72015-12-22 12:50:36 -080043extern void bad_hostname(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070044extern void bad_hostname_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080045extern void binary_metadata(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070046extern void binary_metadata_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080047extern void cancel_after_accept(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070048extern void cancel_after_accept_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080049extern void cancel_after_client_done(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070050extern void cancel_after_client_done_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080051extern void cancel_after_invoke(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070052extern void cancel_after_invoke_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080053extern void cancel_before_invoke(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070054extern void cancel_before_invoke_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080055extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070056extern void cancel_in_a_vacuum_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080057extern void cancel_with_status(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070058extern void cancel_with_status_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080059extern void compressed_payload(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070060extern void compressed_payload_pre_init(void);
Craig Tiller521423c2016-02-22 22:22:22 -080061extern void connectivity(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070062extern void connectivity_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080063extern void default_host(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070064extern void default_host_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080065extern void disappearing_server(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070066extern void disappearing_server_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080067extern void empty_batch(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070068extern void empty_batch_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080069extern void graceful_server_shutdown(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070070extern void graceful_server_shutdown_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080071extern void high_initial_seqno(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070072extern void high_initial_seqno_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080073extern void hpack_size(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070074extern void hpack_size_pre_init(void);
Craig Tiller7885ea52016-03-10 06:53:29 -080075extern void idempotent_request(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070076extern void idempotent_request_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080077extern void invoke_large_request(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070078extern void invoke_large_request_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080079extern void large_metadata(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070080extern void large_metadata_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080081extern void max_concurrent_streams(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070082extern void max_concurrent_streams_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080083extern void max_message_length(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070084extern void max_message_length_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080085extern void negative_deadline(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070086extern void negative_deadline_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080087extern void no_op(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070088extern void no_op_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080089extern void payload(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070090extern void payload_pre_init(void);
Craig Tiller521423c2016-02-22 22:22:22 -080091extern void ping(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070092extern void ping_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080093extern void ping_pong_streaming(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070094extern void ping_pong_streaming_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080095extern void registered_call(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070096extern void registered_call_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080097extern void request_with_flags(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -070098extern void request_with_flags_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -080099extern void request_with_payload(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700100extern void request_with_payload_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800101extern void server_finishes_request(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700102extern void server_finishes_request_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800103extern void shutdown_finishes_calls(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700104extern void shutdown_finishes_calls_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800105extern void shutdown_finishes_tags(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700106extern void shutdown_finishes_tags_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800107extern void simple_delayed_request(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700108extern void simple_delayed_request_pre_init(void);
Craig Tiller521423c2016-02-22 22:22:22 -0800109extern void simple_metadata(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700110extern void simple_metadata_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800111extern void simple_request(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700112extern void simple_request_pre_init(void);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800113extern void trailing_metadata(grpc_end2end_test_config config);
Craig Tiller9e9edbc2016-04-04 10:38:49 -0700114extern void trailing_metadata_pre_init(void);
115
116void grpc_end2end_tests_pre_init(void) {
117 bad_hostname_pre_init();
118 binary_metadata_pre_init();
119 cancel_after_accept_pre_init();
120 cancel_after_client_done_pre_init();
121 cancel_after_invoke_pre_init();
122 cancel_before_invoke_pre_init();
123 cancel_in_a_vacuum_pre_init();
124 cancel_with_status_pre_init();
125 compressed_payload_pre_init();
126 connectivity_pre_init();
127 default_host_pre_init();
128 disappearing_server_pre_init();
129 empty_batch_pre_init();
130 graceful_server_shutdown_pre_init();
131 high_initial_seqno_pre_init();
132 hpack_size_pre_init();
133 idempotent_request_pre_init();
134 invoke_large_request_pre_init();
135 large_metadata_pre_init();
136 max_concurrent_streams_pre_init();
137 max_message_length_pre_init();
138 negative_deadline_pre_init();
139 no_op_pre_init();
140 payload_pre_init();
141 ping_pre_init();
142 ping_pong_streaming_pre_init();
143 registered_call_pre_init();
144 request_with_flags_pre_init();
145 request_with_payload_pre_init();
146 server_finishes_request_pre_init();
147 shutdown_finishes_calls_pre_init();
148 shutdown_finishes_tags_pre_init();
149 simple_delayed_request_pre_init();
150 simple_metadata_pre_init();
151 simple_request_pre_init();
152 trailing_metadata_pre_init();
153}
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800154
Craig Tillerbe52c6e2016-01-04 15:35:26 -0800155void grpc_end2end_tests(int argc, char **argv,
156 grpc_end2end_test_config config) {
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800157 int i;
158
159 if (argc <= 1) {
160 bad_hostname(config);
161 binary_metadata(config);
162 cancel_after_accept(config);
163 cancel_after_client_done(config);
164 cancel_after_invoke(config);
165 cancel_before_invoke(config);
166 cancel_in_a_vacuum(config);
167 cancel_with_status(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800168 compressed_payload(config);
Craig Tiller521423c2016-02-22 22:22:22 -0800169 connectivity(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800170 default_host(config);
171 disappearing_server(config);
172 empty_batch(config);
173 graceful_server_shutdown(config);
174 high_initial_seqno(config);
175 hpack_size(config);
Craig Tiller7885ea52016-03-10 06:53:29 -0800176 idempotent_request(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800177 invoke_large_request(config);
178 large_metadata(config);
179 max_concurrent_streams(config);
180 max_message_length(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800181 negative_deadline(config);
182 no_op(config);
183 payload(config);
Craig Tiller521423c2016-02-22 22:22:22 -0800184 ping(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800185 ping_pong_streaming(config);
186 registered_call(config);
187 request_with_flags(config);
188 request_with_payload(config);
189 server_finishes_request(config);
190 shutdown_finishes_calls(config);
191 shutdown_finishes_tags(config);
192 simple_delayed_request(config);
Craig Tiller521423c2016-02-22 22:22:22 -0800193 simple_metadata(config);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800194 simple_request(config);
195 trailing_metadata(config);
196 return;
197 }
198
199 for (i = 1; i < argc; i++) {
200 if (0 == strcmp("bad_hostname", argv[i])) {
201 bad_hostname(config);
202 continue;
203 }
204 if (0 == strcmp("binary_metadata", argv[i])) {
205 binary_metadata(config);
206 continue;
207 }
208 if (0 == strcmp("cancel_after_accept", argv[i])) {
209 cancel_after_accept(config);
210 continue;
211 }
212 if (0 == strcmp("cancel_after_client_done", argv[i])) {
213 cancel_after_client_done(config);
214 continue;
215 }
216 if (0 == strcmp("cancel_after_invoke", argv[i])) {
217 cancel_after_invoke(config);
218 continue;
219 }
220 if (0 == strcmp("cancel_before_invoke", argv[i])) {
221 cancel_before_invoke(config);
222 continue;
223 }
224 if (0 == strcmp("cancel_in_a_vacuum", argv[i])) {
225 cancel_in_a_vacuum(config);
226 continue;
227 }
228 if (0 == strcmp("cancel_with_status", argv[i])) {
229 cancel_with_status(config);
230 continue;
231 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800232 if (0 == strcmp("compressed_payload", argv[i])) {
233 compressed_payload(config);
234 continue;
235 }
Craig Tiller521423c2016-02-22 22:22:22 -0800236 if (0 == strcmp("connectivity", argv[i])) {
237 connectivity(config);
238 continue;
239 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800240 if (0 == strcmp("default_host", argv[i])) {
241 default_host(config);
242 continue;
243 }
244 if (0 == strcmp("disappearing_server", argv[i])) {
245 disappearing_server(config);
246 continue;
247 }
248 if (0 == strcmp("empty_batch", argv[i])) {
249 empty_batch(config);
250 continue;
251 }
252 if (0 == strcmp("graceful_server_shutdown", argv[i])) {
253 graceful_server_shutdown(config);
254 continue;
255 }
256 if (0 == strcmp("high_initial_seqno", argv[i])) {
257 high_initial_seqno(config);
258 continue;
259 }
260 if (0 == strcmp("hpack_size", argv[i])) {
261 hpack_size(config);
262 continue;
263 }
Craig Tiller7885ea52016-03-10 06:53:29 -0800264 if (0 == strcmp("idempotent_request", argv[i])) {
265 idempotent_request(config);
266 continue;
267 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800268 if (0 == strcmp("invoke_large_request", argv[i])) {
269 invoke_large_request(config);
270 continue;
271 }
272 if (0 == strcmp("large_metadata", argv[i])) {
273 large_metadata(config);
274 continue;
275 }
276 if (0 == strcmp("max_concurrent_streams", argv[i])) {
277 max_concurrent_streams(config);
278 continue;
279 }
280 if (0 == strcmp("max_message_length", argv[i])) {
281 max_message_length(config);
282 continue;
283 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800284 if (0 == strcmp("negative_deadline", argv[i])) {
285 negative_deadline(config);
286 continue;
287 }
288 if (0 == strcmp("no_op", argv[i])) {
289 no_op(config);
290 continue;
291 }
292 if (0 == strcmp("payload", argv[i])) {
293 payload(config);
294 continue;
295 }
Craig Tiller521423c2016-02-22 22:22:22 -0800296 if (0 == strcmp("ping", argv[i])) {
297 ping(config);
298 continue;
299 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800300 if (0 == strcmp("ping_pong_streaming", argv[i])) {
301 ping_pong_streaming(config);
302 continue;
303 }
304 if (0 == strcmp("registered_call", argv[i])) {
305 registered_call(config);
306 continue;
307 }
308 if (0 == strcmp("request_with_flags", argv[i])) {
309 request_with_flags(config);
310 continue;
311 }
312 if (0 == strcmp("request_with_payload", argv[i])) {
313 request_with_payload(config);
314 continue;
315 }
316 if (0 == strcmp("server_finishes_request", argv[i])) {
317 server_finishes_request(config);
318 continue;
319 }
320 if (0 == strcmp("shutdown_finishes_calls", argv[i])) {
321 shutdown_finishes_calls(config);
322 continue;
323 }
324 if (0 == strcmp("shutdown_finishes_tags", argv[i])) {
325 shutdown_finishes_tags(config);
326 continue;
327 }
328 if (0 == strcmp("simple_delayed_request", argv[i])) {
329 simple_delayed_request(config);
330 continue;
331 }
Craig Tiller521423c2016-02-22 22:22:22 -0800332 if (0 == strcmp("simple_metadata", argv[i])) {
333 simple_metadata(config);
334 continue;
335 }
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800336 if (0 == strcmp("simple_request", argv[i])) {
337 simple_request(config);
338 continue;
339 }
340 if (0 == strcmp("trailing_metadata", argv[i])) {
341 trailing_metadata(config);
342 continue;
343 }
Craig Tiller093193e2016-01-07 07:14:44 -0800344 gpr_log(GPR_DEBUG, "not a test: '%s'", argv[i]);
Craig Tiller0fe5ee72015-12-22 12:50:36 -0800345 abort();
346 }
347}