diff --git a/tests/unittests/torture_knownhosts_parsing.c b/tests/unittests/torture_knownhosts_parsing.c index c80bdbca..ac8d7f31 100644 --- a/tests/unittests/torture_knownhosts_parsing.c +++ b/tests/unittests/torture_knownhosts_parsing.c @@ -381,6 +381,7 @@ static void torture_knownhosts_host_exists(void **state) ssh_options_set(session, SSH_OPTIONS_HOST, "localhost"); ssh_options_set(session, SSH_OPTIONS_KNOWNHOSTS, knownhosts_file); + /* This makes sure the system's known_hosts are not used */ ssh_options_set(session, SSH_OPTIONS_GLOBAL_KNOWNHOSTS, "/dev/null"); @@ -388,6 +389,14 @@ static void torture_knownhosts_host_exists(void **state) assert_int_equal(found, SSH_KNOWN_HOSTS_OK); assert_true(found == SSH_KNOWN_HOSTS_OK); + /* This makes sure the check will not fail when the system's known_hosts is + * not accessible*/ + ssh_options_set(session, SSH_OPTIONS_GLOBAL_KNOWNHOSTS, "./unaccessible"); + + found = ssh_session_has_known_hosts_entry(session); + assert_int_equal(found, SSH_KNOWN_HOSTS_OK); + assert_true(found == SSH_KNOWN_HOSTS_OK); + ssh_options_set(session, SSH_OPTIONS_HOST, "wurstbrot"); found = ssh_session_has_known_hosts_entry(session); assert_true(found == SSH_KNOWN_HOSTS_UNKNOWN);