diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2015-09-10 15:07:12 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-01-14 08:04:49 +0100 |
commit | be25b58380d8dc7106864102059da58e6c5899e9 (patch) | |
tree | 7d3bee38d4d53594042b1033d49a1b2e1052dfc4 | |
parent | 66f51df9df6c8008b2c51ffb69f4aa9a726a84f8 (diff) | |
download | libssh-be25b58380d8dc7106864102059da58e6c5899e9.tar.gz libssh-be25b58380d8dc7106864102059da58e6c5899e9.tar.xz libssh-be25b58380d8dc7106864102059da58e6c5899e9.zip |
tests: Migrate torture_forward to a cwrap test
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r-- | tests/client/CMakeLists.txt | 4 | ||||
-rw-r--r-- | tests/client/torture_forward.c | 64 |
2 files changed, 34 insertions, 34 deletions
diff --git a/tests/client/CMakeLists.txt b/tests/client/CMakeLists.txt index 54c2e262..d8111d0c 100644 --- a/tests/client/CMakeLists.txt +++ b/tests/client/CMakeLists.txt @@ -5,7 +5,6 @@ find_package(socket_wrapper) add_cmocka_test(torture_knownhosts torture_knownhosts.c ${TORTURE_LIBRARY}) add_cmocka_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY}) add_cmocka_test(torture_session torture_session.c ${TORTURE_LIBRARY}) -add_cmocka_test(torture_forward torture_forward.c ${TORTURE_LIBRARY}) add_cmocka_test(torture_request_env torture_request_env.c ${TORTURE_LIBRARY}) if (WITH_SFTP) add_cmocka_test(torture_sftp_static torture_sftp_static.c ${TORTURE_LIBRARY}) @@ -16,7 +15,8 @@ endif (WITH_SFTP) set(LIBSSH_CLIENT_TESTS torture_algorithms torture_connect - torture_auth) + torture_auth + torture_forward) foreach(_CLI_TEST ${LIBSSH_CLIENT_TESTS}) add_cmocka_test(${_CLI_TEST} ${_CLI_TEST}.c ${TORTURE_LIBRARY}) diff --git a/tests/client/torture_forward.c b/tests/client/torture_forward.c index 608a9d8f..21a93be7 100644 --- a/tests/client/torture_forward.c +++ b/tests/client/torture_forward.c @@ -24,75 +24,75 @@ #include "torture.h" #include <libssh/libssh.h> -static int setup(void **state) +static int sshd_setup(void **state) { - ssh_session session; - const char *host; - const char *user; - const char *password; + torture_setup_sshd_server(state); - host = getenv("TORTURE_HOST"); - if (host == NULL) { - host = "localhost"; - } + return 0; +} - user = getenv("TORTURE_USER"); - password = getenv("TORTURE_PASSWORD"); +static int sshd_teardown(void **state) { + torture_teardown_sshd_server(state); - session = torture_ssh_session(host, NULL, user, password); + return 0; +} - assert_non_null(session); - *state = session; +static int session_setup(void **state) +{ + struct torture_state *s = *state; + + s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, + NULL, + TORTURE_SSH_USER_ALICE, + NULL); + assert_non_null(s->ssh.session); return 0; } -static int teardown(void **state) +static int session_teardown(void **state) { - ssh_session session = (ssh_session) *state; - - assert_non_null(session); + struct torture_state *s = *state; - if (ssh_is_connected(session)) { - ssh_disconnect(session); - } - ssh_free(session); + ssh_disconnect(s->ssh.session); + ssh_free(s->ssh.session); return 0; } static void torture_ssh_forward(void **state) { - ssh_session session = (ssh_session) *state; -#if 0 + struct torture_state *s = *state; + ssh_session session = s->ssh.session; ssh_channel c; -#endif + int dport; int bound_port; int rc; - rc = ssh_channel_listen_forward(session, "127.0.0.1", 8080, &bound_port); + rc = ssh_channel_listen_forward(session, "127.0.0.21", 8080, &bound_port); assert_int_equal(rc, SSH_OK); -#if 0 - c = ssh_forward_accept(session, 60000); - assert_non_null(c); + c = ssh_channel_accept_forward(session, 10, &dport); + /* We do not get a listener and run into the timeout here */ + assert_null(c); ssh_channel_send_eof(c); ssh_channel_close(c); -#endif } int torture_run_tests(void) { int rc; struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(torture_ssh_forward, setup, teardown), + cmocka_unit_test_setup_teardown(torture_ssh_forward, + session_setup, + session_teardown), }; ssh_init(); torture_filter_tests(tests); - rc = cmocka_run_group_tests(tests, NULL, NULL); + rc = cmocka_run_group_tests(tests, sshd_setup, sshd_teardown); ssh_finalize(); return rc; |