pidgin/pidgin

Parents a9085b52de8b
Children c9b476c9c9d2
Clean up setting handling for the credential manager and make its unit tests don't mess up the others

Testing Done:
removed `build/libpurple/tests/config` and ran the unit tests. the `purple path` tests are still failing, but that's unrelated.

Reviewed at https://reviews.imfreedom.org/r/1826/
--- a/libpurple/purplecredentialmanager.c Thu Sep 22 20:25:37 2022 -0500
+++ b/libpurple/purplecredentialmanager.c Thu Sep 22 22:26:57 2022 -0500
@@ -409,6 +409,7 @@
const gchar *id, GError **error)
{
PurpleCredentialProvider *previous = NULL, *provider = NULL;
+ GSettings *settings = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE);
@@ -443,14 +444,14 @@
g_clear_object(&previous);
/* Finally update the preference. */
+ settings = g_settings_new_with_backend("im.pidgin.Purple.Credentials",
+ purple_core_get_settings_backend());
if(id != NULL) {
- GSettings *settings = NULL;
-
- settings = g_settings_new_with_backend("im.pidgin.Purple.Credentials",
- purple_core_get_settings_backend());
g_settings_set_string(settings, "active-provider", id);
- g_object_unref(settings);
+ } else {
+ g_settings_reset(settings, "active-provider");
}
+ g_object_unref(settings);
purple_debug_info("credential-manager", "set active provider to '%s'", id);
--- a/libpurple/tests/meson.build Thu Sep 22 20:25:37 2022 -0500
+++ b/libpurple/tests/meson.build Thu Sep 22 22:26:57 2022 -0500
@@ -3,7 +3,6 @@
'account_manager',
'authorization_request',
'circular_buffer',
- 'credential_manager',
'credential_provider',
'history_adapter',
'history_manager',
@@ -48,3 +47,12 @@
env: testenv,
)
endforeach
+
+e = executable('test_credential_manager', 'test_credential_manager.c',
+ c_args : [
+ '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir())
+ ],
+ dependencies : [libpurple_dep, glib],
+ link_with: test_ui,
+)
+test('credential_manager', e, env: testenv, is_parallel : false)
\ No newline at end of file