gio/tests/network-address: fix when no network is available

GResolver doesn't do full validation of its inputs, so in some of
these tests, the fact that we were getting back
G_RESOLVER_ERROR_NOT_FOUND is because the junk string was getting
passed to an upstream DNS resolver, which returned NXDOMAIN. But if
there's no network on the machine then we'd get
G_RESOLVER_ERROR_INTERNAL instead in that case.
This commit is contained in:
Dan Winship 2014-05-27 09:39:46 -04:00
parent e93f7be60d
commit 84fd73b2fa

View File

@ -210,7 +210,24 @@ test_resolve_address_gresolver (gconstpointer d)
else
{
g_assert_false (test->valid_resolve);
g_assert_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND);
if (!test->valid_parse)
{
/* GResolver should have rejected the address internally, in
* which case we're guaranteed to get G_RESOLVER_ERROR_NOT_FOUND.
*/
g_assert_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND);
}
else
{
/* If GResolver didn't reject the string itself, then we
* might have attempted to send it over the network. If that
* attempt succeeded, we'd get back NOT_FOUND, but if
* there's no network available we might have gotten some
* other error instead.
*/
}
g_error_free (error);
return;
}