server_chttp2_test.cc
Go to the documentation of this file.
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 
19 #include <gtest/gtest.h>
20 
21 #include <grpc/grpc.h>
22 #include <grpc/grpc_security.h>
23 #include <grpc/support/alloc.h>
24 #include <grpc/support/log.h>
25 #include <grpc/support/time.h>
26 
31 #include "test/core/util/port.h"
33 
34 TEST(ServerChttp2, UnparseableTarget) {
35  grpc_channel_args args = {0, nullptr};
37  grpc_server_credentials* server_creds =
39  int port = grpc_server_add_http2_port(server, "[", server_creds);
40  grpc_server_credentials_release(server_creds);
41  EXPECT_EQ(port, 0);
43 }
44 
45 TEST(ServerChttp2, AddSamePortTwice) {
47  const_cast<char*>(GRPC_ARG_ALLOW_REUSEPORT), 0);
48  grpc_channel_args args = {1, &a};
49 
53  grpc_server_credentials* fake_creds =
56  EXPECT_EQ(grpc_server_add_http2_port(server, addr.c_str(), fake_creds), port);
57  EXPECT_EQ(grpc_server_add_http2_port(server, addr.c_str(), fake_creds), 0);
58 
62  nullptr);
65 }
66 
67 int main(int argc, char** argv) {
69  ::testing::InitGoogleTest(&argc, argv);
70  grpc_init();
71  int ret = RUN_ALL_TESTS();
72  grpc_shutdown();
73  return ret;
74 }
grpc_arg
Definition: grpc_types.h:103
fake_credentials.h
log.h
port.h
generate.env
env
Definition: generate.py:37
grpc_completion_queue_create_for_pluck
GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_pluck(void *reserved)
Definition: completion_queue_factory.cc:69
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
grpc_server_create
GRPCAPI grpc_server * grpc_server_create(const grpc_channel_args *args, void *reserved)
Definition: src/core/lib/surface/server.cc:1456
gpr_inf_future
GPRAPI gpr_timespec gpr_inf_future(gpr_clock_type type)
Definition: src/core/lib/gpr/time.cc:55
time.h
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
grpc_security.h
credentials.h
grpc_channel_args
Definition: grpc_types.h:132
GRPC_ARG_ALLOW_REUSEPORT
#define GRPC_ARG_ALLOW_REUSEPORT
Definition: grpc_types.h:295
EXPECT_EQ
#define EXPECT_EQ(a, b)
Definition: iomgr/time_averaged_stats_test.cc:27
grpc_insecure_server_credentials_create
GRPCAPI grpc_server_credentials * grpc_insecure_server_credentials_create()
Definition: core/lib/security/credentials/insecure/insecure_credentials.cc:71
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
grpc_server_credentials_release
GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)
Definition: credentials.cc:95
grpc_server_add_http2_port
GRPCAPI int grpc_server_add_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
Definition: chttp2_server.cc:1029
grpc_completion_queue
Definition: completion_queue.cc:347
grpc.h
grpc_core::JoinHostPort
std::string JoinHostPort(absl::string_view host, int port)
Definition: host_port.cc:32
grpc_server
struct grpc_server grpc_server
Definition: grpc_types.h:65
grpc_fake_transport_security_server_credentials_create
grpc_server_credentials * grpc_fake_transport_security_server_credentials_create()
Definition: fake_credentials.cc:84
grpc_server_destroy
GRPCAPI void grpc_server_destroy(grpc_server *server)
Definition: src/core/lib/surface/server.cc:1519
host_port.h
RUN_ALL_TESTS
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:2471
grpc_pick_unused_port_or_die
int grpc_pick_unused_port_or_die(void)
TEST
TEST(ServerChttp2, UnparseableTarget)
Definition: server_chttp2_test.cc:34
tests.unit._exit_scenarios.port
port
Definition: _exit_scenarios.py:179
test_config.h
grpc_server_credentials
Definition: src/core/lib/security/credentials/credentials.h:259
grpc_completion_queue_pluck
GRPCAPI grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved)
Definition: completion_queue.cc:1328
testing::InitGoogleTest
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
Definition: bloaty/third_party/googletest/googletest/src/gtest.cc:6106
grpc_channel_arg_integer_create
grpc_arg grpc_channel_arg_integer_create(char *name, int value)
Definition: channel_args.cc:484
server
Definition: examples/python/async_streaming/server.py:1
grpc_completion_queue_destroy
GRPCAPI void grpc_completion_queue_destroy(grpc_completion_queue *cq)
Definition: completion_queue.cc:1424
ret
UniquePtr< SSL_SESSION > ret
Definition: ssl_x509.cc:1029
alloc.h
grpc::testing::TestEnvironment
Definition: test/core/util/test_config.h:54
grpc_server_shutdown_and_notify
GRPCAPI void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)
Definition: src/core/lib/surface/server.cc:1503
main
int main(int argc, char **argv)
Definition: server_chttp2_test.cc:67
grpc_init
GRPCAPI void grpc_init(void)
Definition: init.cc:146
GPR_CLOCK_REALTIME
@ GPR_CLOCK_REALTIME
Definition: gpr_types.h:39
fake_transport_security.h
grpc_shutdown
GRPCAPI void grpc_shutdown(void)
Definition: init.cc:209
addr
struct sockaddr_in addr
Definition: libuv/docs/code/tcp-echo-server/main.c:10
cq
static grpc_completion_queue * cq
Definition: test/core/fling/client.cc:37


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:17