diff options
author | Dan Winship <danw@gnome.org> | 2014-05-27 09:39:46 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2014-05-27 09:42:50 -0400 |
commit | 84fd73b2fa098ff63656e7cbe1ef211f948123c2 (patch) | |
tree | 51da6fc8a5289e92f2025c7fbfa1e7613f98ee07 | |
parent | e93f7be60d6a45ca5ca76fd033be887f10e886a4 (diff) |
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.
-rw-r--r-- | gio/tests/network-address.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gio/tests/network-address.c b/gio/tests/network-address.c index ac4842c23..44b6990ee 100644 --- a/gio/tests/network-address.c +++ b/gio/tests/network-address.c @@ -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; } |