fling_stream_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 <stdio.h>
20 #include <string.h>
21 
22 #include <string>
23 
24 #include "absl/strings/str_cat.h"
25 
27 #include "test/core/util/port.h"
29 
30 int main(int /*argc*/, char** argv) {
31  char* me = argv[0];
32  char* lslash = strrchr(me, '/');
33  char root[1024];
35  char* args[10];
36  int status;
37  gpr_subprocess *svr, *cli;
38  /* figure out where we are */
39  if (lslash) {
40  memcpy(root, me, static_cast<size_t>(lslash - me));
41  root[lslash - me] = 0;
42  } else {
43  strcpy(root, ".");
44  }
45  /* start the server */
48  args[0] = const_cast<char*>(command.c_str());
49  args[1] = const_cast<char*>("--bind");
51  args[2] = const_cast<char*>(joined.c_str());
52  args[3] = const_cast<char*>("--no-secure");
53  svr = gpr_subprocess_create(4, const_cast<const char**>(args));
54 
55  /* start the client */
56  command =
58  args[0] = const_cast<char*>(command.c_str());
59  args[1] = const_cast<char*>("--target");
60  joined = grpc_core::JoinHostPort("127.0.0.1", port);
61  args[2] = const_cast<char*>(joined.c_str());
62  args[3] = const_cast<char*>("--scenario=ping-pong-stream");
63  args[4] = const_cast<char*>("--no-secure");
64  args[5] = nullptr;
65  cli = gpr_subprocess_create(6, const_cast<const char**>(args));
66 
67  /* wait for completion */
68  printf("waiting for client\n");
69  if ((status = gpr_subprocess_join(cli))) {
72  return status;
73  }
75 
79  return status;
80 }
port.h
absl::StrCat
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
Definition: abseil-cpp/absl/strings/str_cat.cc:98
string.h
printf
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
Definition: cs_driver.c:91
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
gpr_subprocess_binary_extension
const char * gpr_subprocess_binary_extension()
status
absl::Status status
Definition: rls.cc:251
gpr_subprocess_interrupt
void gpr_subprocess_interrupt(gpr_subprocess *p)
memcpy
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
root
RefCountedPtr< grpc_tls_certificate_provider > root
Definition: xds_server_config_fetcher.cc:223
grpc_core::JoinHostPort
std::string JoinHostPort(absl::string_view host, int port)
Definition: host_port.cc:32
host_port.h
grpc_pick_unused_port_or_die
int grpc_pick_unused_port_or_die(void)
gpr_subprocess
struct gpr_subprocess gpr_subprocess
Definition: test/core/util/subprocess.h:24
subprocess.h
tests.unit._exit_scenarios.port
port
Definition: _exit_scenarios.py:179
gpr_subprocess_create
gpr_subprocess * gpr_subprocess_create(int argc, const char **argv)
gpr_subprocess_join
int gpr_subprocess_join(gpr_subprocess *p)
gpr_subprocess_destroy
void gpr_subprocess_destroy(gpr_subprocess *p)
main
int main(int, char **argv)
Definition: fling_stream_test.cc:30
command
const char * command
Definition: grpc_tool.cc:247


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:24