diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2010-08-12 12:18:50 +1000 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2010-08-12 12:18:50 +1000 |
commit | 51bf4c07c2700733588a843773db93003c86c35d (patch) | |
tree | 1ff76e54341588153c5f546fab4396a73ede1984 | |
parent | aabebba781b28909568f1b14da3bcc4500c8f27c (diff) | |
download | telepathy-logger-51bf4c07c2700733588a843773db93003c86c35d.tar.gz |
[conf] support a new env var TPL_TEST_MODE that doesn't enable GSettings
Use the env var to enable 'make check' to work.
-rw-r--r-- | telepathy-logger/conf.c | 35 | ||||
-rw-r--r-- | tests/Makefile.am | 5 |
2 files changed, 27 insertions, 13 deletions
diff --git a/telepathy-logger/conf.c b/telepathy-logger/conf.c index 9cf9908..2a9d035 100644 --- a/telepathy-logger/conf.c +++ b/telepathy-logger/conf.c @@ -40,8 +40,10 @@ G_DEFINE_TYPE (TplConf, _tpl_conf, G_TYPE_OBJECT) static TplConf *conf_singleton = NULL; -typedef struct { - GSettings *gsettings; +typedef struct +{ + gboolean test_mode; + GSettings *gsettings; } TplConfPriv; @@ -67,13 +69,11 @@ tpl_conf_get_property (GObject *self, GValue *value, GParamSpec *pspec) { - TplConfPriv *priv = GET_PRIV (self); - switch (prop_id) { case PROP_GLOBALLY_ENABLED: g_value_set_boolean (value, - g_settings_get_boolean (priv->gsettings, KEY_ENABLED)); + _tpl_conf_is_globally_enabled (TPL_CONF (self))); break; default: @@ -88,12 +88,10 @@ tpl_conf_set_property (GObject *self, const GValue *value, GParamSpec *pspec) { - TplConfPriv *priv = GET_PRIV (self); - switch (prop_id) { case PROP_GLOBALLY_ENABLED: - g_settings_set_boolean (priv->gsettings, KEY_ENABLED, + _tpl_conf_globally_enable (TPL_CONF (self), g_value_get_boolean (value)); break; @@ -170,10 +168,17 @@ _tpl_conf_init (TplConf *self) TplConfPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TPL_TYPE_CONF, TplConfPriv); - priv->gsettings = g_settings_new (GSETTINGS_SCHEMA); + if (g_getenv ("TPL_TEST_MODE") != NULL) + { + priv->test_mode = TRUE; + } + else + { + priv->gsettings = g_settings_new (GSETTINGS_SCHEMA); - g_signal_connect (priv->gsettings, "changed::" KEY_ENABLED, - G_CALLBACK (_notify_globally_enable), self); + g_signal_connect (priv->gsettings, "changed::" KEY_ENABLED, + G_CALLBACK (_notify_globally_enable), self); + } } @@ -209,7 +214,10 @@ _tpl_conf_is_globally_enabled (TplConf *self) { g_return_val_if_fail (TPL_IS_CONF (self), FALSE); - return g_settings_get_boolean (GET_PRIV (self)->gsettings, KEY_ENABLED); + if (GET_PRIV (self)->test_mode) + return TRUE; + else + return g_settings_get_boolean (GET_PRIV (self)->gsettings, KEY_ENABLED); } @@ -230,6 +238,9 @@ _tpl_conf_globally_enable (TplConf *self, { g_return_if_fail (TPL_IS_CONF (self)); + if (GET_PRIV (self)->test_mode) + return; + g_settings_set_boolean (GET_PRIV (self)->gsettings, KEY_ENABLED, enable); } diff --git a/tests/Makefile.am b/tests/Makefile.am index 47214ad..20af36a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -38,7 +38,10 @@ AM_CFLAGS = \ TESTS = $(noinst_PROGRAMS) -TESTS_ENVIRONMENT = G_DEBUG=fatal-warnings,fatal-criticals +TESTS_ENVIRONMENT = \ + G_DEBUG=fatal-warnings,fatal-criticals \ + TPL_TEST_MODE=true \ + $(NULL) check-valgrind: $(TESTS) G_SLICE=always-malloc \ |