diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2015-08-26 13:16:12 -0400 |
---|---|---|
committer | Juan A. Suarez Romero <jasuarez@igalia.com> | 2015-09-06 16:03:58 +0200 |
commit | 1f37b00f6a05742074ff2f20bdeb56b69b8ef3dc (patch) | |
tree | f2a39689aaa734e4e9db04652936c112992bd5b0 | |
parent | 449b29fb8ff1510e5a1d6ca1d410eff3bc108f59 (diff) | |
download | grilo-1f37b00f6a05742074ff2f20bdeb56b69b8ef3dc.tar.gz |
registry: Fix plugin tests running with mocked network
Unit tests from grilo-plugins sets GRL_NET_MOCKED env variable
to mock network, so we shouldn't hide those plugins if the host
has no internet connectivity. This can happen on build bots for
example.
https://bugzilla.gnome.org/show_bug.cgi?id=754093
-rw-r--r-- | src/grl-registry.c | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/src/grl-registry.c b/src/grl-registry.c index 8421ac4..c70caaa 100644 --- a/src/grl-registry.c +++ b/src/grl-registry.c @@ -211,6 +211,30 @@ grl_registry_class_init (GrlRegistryClass *klass) #ifdef HAVE_GIO_WITH_NETMON static void +get_connectivity (GrlRegistry *registry, + GNetworkConnectivity *connectivity, + gboolean *network_available) +{ + g_assert (connectivity != NULL); + g_assert (network_available != NULL); + + if (g_getenv("GRL_NET_MOCKED") != NULL) { + GRL_DEBUG ("Mocked network, assuming network is available and connectivity " + "level is FULL"); + *connectivity = G_NETWORK_CONNECTIVITY_FULL; + *network_available = TRUE; + } else { + g_object_get (G_OBJECT (registry->priv->netmon), + "connectivity", connectivity, + "network-available", network_available, + NULL); + + GRL_DEBUG ("Connectivity level is %d, Network is %s", + *connectivity, *network_available ? "available" : "unavailable"); + } +} + +static void network_changed_cb (GObject *gobject, GParamSpec *pspec, GrlRegistry *registry) @@ -221,14 +245,7 @@ network_changed_cb (GObject *gobject, GrlSource *current_source; GRL_DEBUG ("Network availability changed"); - - g_object_get (G_OBJECT (registry->priv->netmon), - "connectivity", &connectivity, - "network-available", &network_available, - NULL); - - GRL_DEBUG ("Connectivity level is %d, Network is %s", - connectivity, network_available ? "available" : "unavailable"); + get_connectivity (registry, &connectivity, &network_available); if (!network_available) { g_hash_table_iter_init (&iter, registry->priv->sources); @@ -359,13 +376,8 @@ update_source_visibility (GrlRegistry *registry, !needs_inet) return; - g_object_get (G_OBJECT (registry->priv->netmon), - "connectivity", &connectivity, - "network-available", &network_available, - NULL); + get_connectivity (registry, &connectivity, &network_available); - GRL_DEBUG ("Connectivity level is %d, Network is %s", - connectivity, network_available ? "available" : "unavailable"); GRL_DEBUG ("Source %s needs %s %s%s", grl_source_get_id (source), needs_local ? "local network" : "", |