From 2b16bc465624e1c337cac15200539bcb21d6fee8 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 30 Jan 2015 04:39:06 +0100 Subject: [PATCH] Fixing echo test. --- test/core/echo/echo_test.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/test/core/echo/echo_test.c b/test/core/echo/echo_test.c index 6449b2414f3..83b83ab7ff7 100644 --- a/test/core/echo/echo_test.c +++ b/test/core/echo/echo_test.c @@ -49,18 +49,19 @@ #include "test/core/util/port.h" int test_client(const char *root, const char *host, int port) { - char *args[3]; int status; pid_t cli; cli = fork(); if (cli == 0) { - gpr_asprintf(&args[0], "%s/echo_client", root); - gpr_join_host_port(&args[1], host, port); - args[2] = 0; - execv(args[0], args); + char *binary_path; + char *binding; + gpr_asprintf(&binary_path, "%s/echo_client", root); + gpr_join_host_port(&binding, host, port); - gpr_free(args[0]); - gpr_free(args[1]); + execl(binary_path, binary_path, binding, NULL); + + gpr_free(binary_path); + gpr_free(binding); return 1; } /* wait for client */ @@ -76,7 +77,6 @@ int main(int argc, char **argv) { char *lslash = strrchr(me, '/'); char root[1024]; int port = grpc_pick_unused_port_or_die(); - char *args[3]; int status; pid_t svr; int ret; @@ -98,13 +98,15 @@ int main(int argc, char **argv) { /* start the server */ svr = fork(); if (svr == 0) { - gpr_asprintf(&args[0], "%s/echo_server", root); - gpr_join_host_port(&args[1], "::", port); - args[2] = 0; - execv(args[0], args); + char *binary_path; + char *binding; + gpr_asprintf(&binary_path, "%s/echo_server", root); + gpr_join_host_port(&binding, "::", port); + + execl(binary_path, binary_path, "-bind", binding, NULL); - gpr_free(args[0]); - gpr_free(args[1]); + gpr_free(binary_path); + gpr_free(binding); return 1; } /* wait a little */