diff options
-rw-r--r-- | tests/torture.c | 28 | ||||
-rw-r--r-- | tests/torture.h | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/torture.c b/tests/torture.c index 428a846..2097ae5 100644 --- a/tests/torture.c +++ b/tests/torture.c @@ -52,6 +52,34 @@ #define TORTURE_SOCKET_DIR "/tmp/test_socket_wrapper_XXXXXX" #define TORTURE_ECHO_SRV_PIDFILE "echo_srv.pid" +const char *torture_server_address(int family) +{ + switch (family) { + case AF_INET: { + const char *ip4 = getenv("TORTURE_SERVER_ADDRESS_IPV4"); + + if (ip4 != NULL && ip4[0] != '\0') { + return ip4; + } + + return TORTURE_ECHO_SRV_IPV4; + } + case AF_INET6: { + const char *ip6 = getenv("TORTURE_SERVER_ADDRESS_IPV6"); + + if (ip6 != NULL && ip6[0] != '\0') { + return ip6; + } + + return TORTURE_ECHO_SRV_IPV6; + } + default: + return NULL; + } + + return NULL; +} + void torture_setup_socket_dir(void **state) { struct torture_state *s; diff --git a/tests/torture.h b/tests/torture.h index fd4ffe6..be100f7 100644 --- a/tests/torture.h +++ b/tests/torture.h @@ -58,6 +58,8 @@ struct torture_state { #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x)) #endif +const char *torture_server_address(int domain); + void torture_setup_socket_dir(void **state); void torture_setup_echo_srv_udp_ipv4(void **state); void torture_setup_echo_srv_udp_ipv6(void **state); |