summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2014-04-15 21:15:25 +0200
committerFabiano FidĂȘncio <fidencio@redhat.com>2015-10-12 13:47:09 +0200
commitdb984fde970deffdaa3e6565694d503771ae7e80 (patch)
tree83ff53779dabf0c8b2f867a0a553c7aeca3947ef
parent1e58b7d75bf9b58abd42824d93b016841b6df5b3 (diff)
downloadlibssh-db984fde970deffdaa3e6565694d503771ae7e80.tar.gz
libssh-db984fde970deffdaa3e6565694d503771ae7e80.tar.xz
libssh-db984fde970deffdaa3e6565694d503771ae7e80.zip
torture: Add server to get address and port.
-rw-r--r--tests/torture.c48
-rw-r--r--tests/torture.h3
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.
*/