aboutsummaryrefslogtreecommitdiff
path: root/tests/torture.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2014-04-15 21:22:05 +0200
committerAndreas Schneider <asn@cryptomilk.org>2016-01-14 08:04:49 +0100
commit13f68fc2d5e3a2b0dee0c9d69680196f79592146 (patch)
treea2173bf21633548166b88eb21feed4d6d2a5d9e5 /tests/torture.c
parent7a523597ad8f5a95ad8769b6cfbc655c331ccf4a (diff)
downloadlibssh-13f68fc2d5e3a2b0dee0c9d69680196f79592146.tar.gz
libssh-13f68fc2d5e3a2b0dee0c9d69680196f79592146.tar.xz
libssh-13f68fc2d5e3a2b0dee0c9d69680196f79592146.zip
torture: Add torture_setup_socket_dir().
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests/torture.c')
-rw-r--r--tests/torture.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/torture.c b/tests/torture.c
index ef77c2f8..d510f040 100644
--- a/tests/torture.c
+++ b/tests/torture.c
@@ -279,6 +279,10 @@ static const char torture_ed25519_testkey_pp[]=
"Y3GsmYTDstmicanQ==\n"
"-----END OPENSSH PRIVATE KEY-----\n";
+#define TORTURE_SOCKET_DIR "/tmp/test_socket_wrapper_XXXXXX"
+#define TORTURE_SSHD_PIDFILE "sshd.pid"
+#define TORTURE_PCAP_FILE "socket_trace.pcap"
+
static int verbosity = 0;
static const char *pattern = NULL;
@@ -754,6 +758,44 @@ const char *torture_server_address(int family)
return NULL;
}
+void torture_setup_socket_dir(void **state)
+{
+ struct torture_state *s;
+ const char *p;
+ size_t len;
+
+ s = malloc(sizeof(struct torture_state));
+ assert_non_null(s);
+
+ s->socket_dir = strdup(TORTURE_SOCKET_DIR);
+ assert_non_null(s->socket_dir);
+
+ p = mkdtemp(s->socket_dir);
+ assert_non_null(p);
+
+ /* pcap file */
+ len = strlen(p) + 1 + strlen(TORTURE_PCAP_FILE) + 1;
+
+ s->pcap_file = malloc(len);
+ assert_non_null(s->pcap_file);
+
+ snprintf(s->pcap_file, len, "%s/%s", p, TORTURE_PCAP_FILE);
+
+ /* pid file */
+ len = strlen(p) + 1 + strlen(TORTURE_SSHD_PIDFILE) + 1;
+
+ s->srv_pidfile = malloc(len);
+ assert_non_null(s->srv_pidfile);
+
+ snprintf(s->srv_pidfile, len, "%s/%s", p, TORTURE_SSHD_PIDFILE);
+
+ setenv("SOCKET_WRAPPER_DIR", p, 1);
+ setenv("SOCKET_WRAPPER_DEFAULT_IFACE", "170", 1);
+ setenv("SOCKET_WRAPPER_PCAP_FILE", s->pcap_file, 1);
+
+ *state = s;
+}
+
int torture_libssh_verbosity(void){
return verbosity;
}