diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2014-04-15 21:15:25 +0200 |
---|---|---|
committer | Fabiano FidĂȘncio <fidencio@redhat.com> | 2015-10-12 13:47:09 +0200 |
commit | db984fde970deffdaa3e6565694d503771ae7e80 (patch) | |
tree | 83ff53779dabf0c8b2f867a0a553c7aeca3947ef | |
parent | 1e58b7d75bf9b58abd42824d93b016841b6df5b3 (diff) | |
download | libssh-db984fde970deffdaa3e6565694d503771ae7e80.tar.gz libssh-db984fde970deffdaa3e6565694d503771ae7e80.tar.xz libssh-db984fde970deffdaa3e6565694d503771ae7e80.zip |
torture: Add server to get address and port.
-rw-r--r-- | tests/torture.c | 48 | ||||
-rw-r--r-- | tests/torture.h | 3 |
2 files changed, 51 insertions, 0 deletions
diff --git a/tests/torture.c b/tests/torture.c index 89206bbf..ef77c2f8 100644 --- a/tests/torture.c +++ b/tests/torture.c @@ -42,6 +42,11 @@ /* for pattern matching */ #include "match.c" +#define TORTURE_SSHD_SRV_IPV4 "127.0.0.10" +/* socket wrapper IPv6 prefix fd00::5357:5fxx */ +#define TORTURE_SSHD_SRV_IPV6 "fd00::5357:5f0a" +#define TORTURE_SSHD_SRV_PORT 22 + static const char torture_rsa_testkey[] = "-----BEGIN RSA PRIVATE KEY-----\n" "MIIEowIBAAKCAQEArAOREUWlBXJAKZ5hABYyxnRayDZP1bJeLbPVK+npxemrhHyZ\n" @@ -706,6 +711,49 @@ const char *torture_get_testkey_passphrase(void) return TORTURE_TESTKEY_PASSWORD; } +int torture_server_port(void) +{ + char *env = getenv("TORTURE_SERVER_PORT"); + + if (env != NULL && env[0] != '\0' && strlen(env) < 6) { + int port = atoi(env); + + if (port > 0 && port < 65536) { + return port; + } + } + + return TORTURE_SSHD_SRV_PORT; +} + +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_SSHD_SRV_IPV4; + } + case AF_INET6: { + const char *ip6 = getenv("TORTURE_SERVER_ADDRESS_IPV6"); + + if (ip6 != NULL && ip6[0] != '\0') { + return ip6; + } + + return TORTURE_SSHD_SRV_IPV6; + } + default: + return NULL; + } + + return NULL; +} + int torture_libssh_verbosity(void){ return verbosity; } diff --git a/tests/torture.h b/tests/torture.h index 2c38212f..6b6e0cbf 100644 --- a/tests/torture.h +++ b/tests/torture.h @@ -94,6 +94,9 @@ void torture_write_file(const char *filename, const char *data); #define torture_filter_tests(tests) _torture_filter_tests(tests, sizeof(tests) / sizeof(tests)[0]) void _torture_filter_tests(struct CMUnitTest *tests, size_t ntests); +const char *torture_server_address(int domain); +int torture_server_port(void); + /* * This function must be defined in every unit test file. */ |