summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2015-08-26 13:16:12 -0400
committerJuan A. Suarez Romero <jasuarez@igalia.com>2015-09-06 16:03:58 +0200
commit1f37b00f6a05742074ff2f20bdeb56b69b8ef3dc (patch)
treef2a39689aaa734e4e9db04652936c112992bd5b0
parent449b29fb8ff1510e5a1d6ca1d410eff3bc108f59 (diff)
downloadgrilo-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.c40
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" : "",