diff options
author | Yuchen Zeng <zyc@google.com> | 2017-08-02 16:09:08 -0700 |
---|---|---|
committer | Yuchen Zeng <zyc@google.com> | 2017-08-02 16:09:08 -0700 |
commit | 32c0153f8181feb89e0abf2ef47c02fb63f70063 (patch) | |
tree | 23631a8616afa29478e4cb4d88a3caa47acb86e7 | |
parent | e1653dec3e360fd02cd15d87e9cf78f7cb02bfa5 (diff) |
Make port picking functions overridable
-rw-r--r-- | test/core/util/port.c | 12 | ||||
-rw-r--r-- | test/core/util/port.h | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/test/core/util/port.c b/test/core/util/port.c index f430c543bd..4df7572f27 100644 --- a/test/core/util/port.c +++ b/test/core/util/port.c @@ -79,7 +79,7 @@ static void chose_port(int port) { chosen_ports[num_chosen_ports - 1] = port; } -int grpc_pick_unused_port(void) { +static int grpc_pick_unused_port_impl(void) { int port = grpc_pick_port_using_server(); if (port != 0) { chose_port(port); @@ -88,7 +88,7 @@ int grpc_pick_unused_port(void) { return port; } -int grpc_pick_unused_port_or_die(void) { +static int grpc_pick_unused_port_or_die_impl(void) { int port = grpc_pick_unused_port(); if (port == 0) { fprintf(stderr, @@ -101,6 +101,12 @@ int grpc_pick_unused_port_or_die(void) { return port; } -void grpc_recycle_unused_port(int port) { GPR_ASSERT(free_chosen_port(port)); } +static void grpc_recycle_unused_port_impl(int port) { + GPR_ASSERT(free_chosen_port(port)); +} + +int (*grpc_pick_unused_port)(void) = grpc_pick_unused_port_impl; +int (*grpc_pick_unused_port_or_die)(void) = grpc_pick_unused_port_or_die_impl; +void (*grpc_recycle_unused_port)(int port) = grpc_recycle_unused_port_impl; #endif /* GRPC_TEST_PICK_PORT */ diff --git a/test/core/util/port.h b/test/core/util/port.h index 154e8f830c..0e15f397a5 100644 --- a/test/core/util/port.h +++ b/test/core/util/port.h @@ -25,16 +25,16 @@ extern "C" { /* pick a port number that is currently unused by either tcp or udp. return 0 on failure. */ -int grpc_pick_unused_port(void); +extern int (*grpc_pick_unused_port)(void); /* pick a port number that is currently unused by either tcp or udp. abort on failure. */ -int grpc_pick_unused_port_or_die(void); +extern int (*grpc_pick_unused_port_or_die)(void); /* Return a port which was previously returned by grpc_pick_unused_port(). * Implementations of grpc_pick_unused_port() backed by a portserver may limit * the total number of ports available; this lets a binary return its allocated * ports back to the server if it is going to allocate a large number. */ -void grpc_recycle_unused_port(int port); +extern void (*grpc_recycle_unused_port)(int port); #ifdef __cplusplus } |