diff options
Diffstat (limited to 'tests/unittests/torture_options.c')
-rw-r--r-- | tests/unittests/torture_options.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/unittests/torture_options.c b/tests/unittests/torture_options.c index 6f5df1bb..471c387a 100644 --- a/tests/unittests/torture_options.c +++ b/tests/unittests/torture_options.c @@ -193,6 +193,34 @@ static void torture_options_proxycommand(void **state) { assert_null(session->opts.ProxyCommand); } +static void torture_options_config_host(void **state) { + ssh_session session = *state; + FILE *config; + int rc; + + /* create a new config file */ + config = fopen("test_config", "w"); + assert_non_null(config); + fputs("Host testhost1\nPort 42\nHost testhost2,testhost3\nPort 43\n", config); + fclose(config); + + ssh_options_set(session, SSH_OPTIONS_HOST, "testhost1"); + ssh_options_parse_config(session, "test_config"); + + assert_int_equal(session->opts.port, 42); + + ssh_options_set(session, SSH_OPTIONS_HOST, "testhost2"); + ssh_options_parse_config(session, "test_config"); + assert_int_equal(session->opts.port, 43); + + session->opts.port = 0; + + ssh_options_set(session, SSH_OPTIONS_HOST, "testhost3"); + ssh_options_parse_config(session, "test_config"); + assert_int_equal(session->opts.port, 43); + +} + int torture_run_tests(void) { int rc; const UnitTest tests[] = { @@ -206,6 +234,7 @@ int torture_run_tests(void) { unit_test_setup_teardown(torture_options_set_identity, setup, teardown), unit_test_setup_teardown(torture_options_get_identity, setup, teardown), unit_test_setup_teardown(torture_options_proxycommand, setup, teardown), + unit_test_setup_teardown(torture_options_config_host, setup, teardown) }; ssh_init(); |