diff options
-rw-r--r-- | tests/torture.c | 24 | ||||
-rw-r--r-- | tests/torture.h | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/torture.c b/tests/torture.c index d510f040..2ac5297b 100644 --- a/tests/torture.c +++ b/tests/torture.c @@ -796,6 +796,30 @@ void torture_setup_socket_dir(void **state) *state = s; } +void torture_teardown_socket_dir(void **state) +{ + struct torture_state *s = *state; + char *env = getenv("TORTURE_SKIP_CLEANUP"); + int rc; + + if (env != NULL && env[0] == '1') { + fprintf(stderr, ">>> Skipping cleanup of %s\n", s->socket_dir); + } else { + rc = torture_rmdirs(s->socket_dir); + if (rc < 0) { + fprintf(stderr, + "torture_rmdirs(%s) failed: %s", + s->socket_dir, + strerror(errno)); + } + } + + free(s->socket_dir); + free(s->pcap_file); + free(s->srv_pidfile); + free(s); +} + int torture_libssh_verbosity(void){ return verbosity; } diff --git a/tests/torture.h b/tests/torture.h index f85c1513..9c4e8f23 100644 --- a/tests/torture.h +++ b/tests/torture.h @@ -109,6 +109,8 @@ int torture_server_port(void); void torture_setup_socket_dir(void **state); +void torture_teardown_socket_dir(void **state); + /* * This function must be defined in every unit test file. */ |