diff options
author | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-03-09 14:52:52 +0100 |
---|---|---|
committer | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-03-27 16:31:58 +0200 |
commit | e7713214c85ded42112aefdd05bf7af37a80fd6e (patch) | |
tree | f755710da22336152cc7c9ffe5ab465b7b9ffe60 | |
parent | 1752685aa329e434d0410a8d865722c294efe137 (diff) | |
download | libproxy-git-e7713214c85ded42112aefdd05bf7af37a80fd6e.tar.gz |
Add config-option property (#68)
In order to reduce the number of environment manipulation for testing
purpose, introduce a new config-option property to set config files for
tests.
-rw-r--r-- | src/backend/plugins/config-env/config-env.c | 41 | ||||
-rw-r--r-- | src/backend/plugins/config-gnome/config-gnome.c | 43 | ||||
-rw-r--r-- | src/backend/plugins/config-kde/config-kde.c | 68 | ||||
-rw-r--r-- | src/backend/plugins/config-sysconfig/config-sysconfig.c | 69 | ||||
-rw-r--r-- | src/backend/px-manager.c | 38 | ||||
-rw-r--r-- | src/backend/px-manager.h | 2 | ||||
-rw-r--r-- | src/backend/px-plugin-config.c | 8 | ||||
-rw-r--r-- | tests/config-env-test.c | 2 | ||||
-rw-r--r-- | tests/config-gnome-test.c | 8 | ||||
-rw-r--r-- | tests/config-kde-test.c | 34 | ||||
-rw-r--r-- | tests/config-sysconfig-test.c | 7 | ||||
-rw-r--r-- | tests/px-manager-helper.c | 10 | ||||
-rw-r--r-- | tests/px-manager-helper.h | 2 | ||||
-rw-r--r-- | tests/px-manager-test.c | 14 |
14 files changed, 281 insertions, 65 deletions
diff --git a/src/backend/plugins/config-env/config-env.c b/src/backend/plugins/config-env/config-env.c index bec1d72..af13de6 100644 --- a/src/backend/plugins/config-env/config-env.c +++ b/src/backend/plugins/config-env/config-env.c @@ -43,6 +43,11 @@ G_DEFINE_FINAL_TYPE_WITH_CODE (PxConfigEnv, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (PX_TYPE_CONFIG, px_config_iface_init)) +enum { + PROP_0, + PROP_CONFIG_OPTION +}; + static void px_config_env_init (PxConfigEnv *self) { @@ -80,11 +85,47 @@ px_config_env_dispose (GObject *object) } static void +px_config_env_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (prop_id) { + case PROP_CONFIG_OPTION: + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +px_config_env_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + switch (prop_id) { + case PROP_CONFIG_OPTION: + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void px_config_env_class_init (PxConfigEnvClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = px_config_env_dispose; + object_class->set_property = px_config_env_set_property; + object_class->get_property = px_config_env_get_property; + + g_object_class_override_property (object_class, PROP_CONFIG_OPTION, "config-option"); } static gboolean diff --git a/src/backend/plugins/config-gnome/config-gnome.c b/src/backend/plugins/config-gnome/config-gnome.c index f5c8008..0041c1b 100644 --- a/src/backend/plugins/config-gnome/config-gnome.c +++ b/src/backend/plugins/config-gnome/config-gnome.c @@ -49,6 +49,11 @@ G_DEFINE_FINAL_TYPE_WITH_CODE (PxConfigGnome, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (PX_TYPE_CONFIG, px_config_iface_init)) +enum { + PROP_0, + PROP_CONFIG_OPTION +}; + static void px_config_gnome_init (PxConfigGnome *self) { @@ -74,8 +79,46 @@ px_config_gnome_init (PxConfigGnome *self) } static void +px_config_gnome_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (prop_id) { + case PROP_CONFIG_OPTION: + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +px_config_gnome_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + switch (prop_id) { + case PROP_CONFIG_OPTION: + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void px_config_gnome_class_init (PxConfigGnomeClass *klass) { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->set_property = px_config_gnome_set_property; + object_class->get_property = px_config_gnome_get_property; + + g_object_class_override_property (object_class, PROP_CONFIG_OPTION, "config-option"); } static gboolean diff --git a/src/backend/plugins/config-kde/config-kde.c b/src/backend/plugins/config-kde/config-kde.c index 3fb6d1c..24fb9e1 100644 --- a/src/backend/plugins/config-kde/config-kde.c +++ b/src/backend/plugins/config-kde/config-kde.c @@ -40,6 +40,7 @@ typedef enum { struct _PxConfigKde { GObject parent_instance; + char *config_option; gboolean available; char *no_proxy; @@ -56,6 +57,11 @@ G_DEFINE_FINAL_TYPE_WITH_CODE (PxConfigKde, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (PX_TYPE_CONFIG, px_config_iface_init)) +enum { + PROP_0, + PROP_CONFIG_OPTION +}; + static void px_config_kde_read_config (PxConfigKde *self, char *proxy_file) @@ -118,11 +124,17 @@ px_config_kde_read_config (PxConfigKde *self, } while (line); } -static void -px_config_kde_init (PxConfigKde *self) +static +void +px_config_kde_set_config_file (PxConfigKde *self, + const char *file) { - const char *test_file = g_getenv ("PX_CONFIG_KDE"); - g_autofree char *config = test_file ? g_strdup (test_file) : g_build_filename (g_get_user_config_dir (), "kioslaverc", NULL); + g_autofree char *config = NULL; + + g_clear_pointer (&self->config_option, g_free); + self->config_option = file ? g_strdup (file) : NULL; + + config = self->config_option ? g_strdup (self->config_option) : g_build_filename (g_get_user_config_dir (), "kioslaverc", NULL); self->available = g_file_test (config, G_FILE_TEST_EXISTS); if (self->available) @@ -130,17 +142,65 @@ px_config_kde_init (PxConfigKde *self) } static void +px_config_kde_init (PxConfigKde *self) +{ + px_config_kde_set_config_file (self, NULL); +} + +static void px_config_kde_dispose (GObject *object) { G_OBJECT_CLASS (px_config_kde_parent_class)->dispose (object); } static void +px_config_kde_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + PxConfigKde *config = PX_CONFIG_KDE (object); + + switch (prop_id) { + case PROP_CONFIG_OPTION: + px_config_kde_set_config_file (config, g_value_dup_string (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +px_config_kde_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + PxConfigKde *config = PX_CONFIG_KDE (object); + + switch (prop_id) { + case PROP_CONFIG_OPTION: + g_value_set_string (value, config->config_option); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void px_config_kde_class_init (PxConfigKdeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = px_config_kde_dispose; + object_class->set_property = px_config_kde_set_property; + object_class->get_property = px_config_kde_get_property; + + g_object_class_override_property (object_class, PROP_CONFIG_OPTION, "config-option"); } static gboolean diff --git a/src/backend/plugins/config-sysconfig/config-sysconfig.c b/src/backend/plugins/config-sysconfig/config-sysconfig.c index 77c7fe1..d7a1fa1 100644 --- a/src/backend/plugins/config-sysconfig/config-sysconfig.c +++ b/src/backend/plugins/config-sysconfig/config-sysconfig.c @@ -30,6 +30,7 @@ struct _PxConfigSysConfig { GObject parent_instance; char *proxy_file; + char *config_option; gboolean available; gboolean proxy_enabled; @@ -47,17 +48,27 @@ G_DEFINE_FINAL_TYPE_WITH_CODE (PxConfigSysConfig, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (PX_TYPE_CONFIG, px_config_iface_init)) -static void -px_config_sysconfig_init (PxConfigSysConfig *self) +enum { + PROP_0, + PROP_CONFIG_OPTION +}; + +static +void +px_config_sysconfig_set_config_file (PxConfigSysConfig *self, + const char *config_file) { + g_autofree char *config = NULL; g_autoptr (GFile) file = NULL; g_autoptr (GError) error = NULL; g_autoptr (GFileInputStream) istr = NULL; g_autoptr (GDataInputStream) dstr = NULL; - const char *test_file = g_getenv ("PX_CONFIG_SYSCONFIG"); char *line = NULL; - self->proxy_file = g_strdup (test_file ? test_file : "/etc/sysconfig/proxy"); + g_clear_pointer (&self->config_option, g_free); + self->config_option = config_file ? g_strdup (config_file) : NULL; + + self->proxy_file = g_strdup (self->config_option ? self->config_option : "/etc/sysconfig/proxy"); self->available = FALSE; file = g_file_new_for_path (self->proxy_file); @@ -110,8 +121,58 @@ px_config_sysconfig_init (PxConfigSysConfig *self) } static void +px_config_sysconfig_init (PxConfigSysConfig *self) +{ + px_config_sysconfig_set_config_file (self, NULL); +} + +static void +px_config_sysconfig_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + PxConfigSysConfig *config = PX_CONFIG_SYSCONFIG (object); + + switch (prop_id) { + case PROP_CONFIG_OPTION: + px_config_sysconfig_set_config_file (config, g_value_dup_string (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +px_config_sysconfig_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + PxConfigSysConfig *config = PX_CONFIG_SYSCONFIG (object); + + switch (prop_id) { + case PROP_CONFIG_OPTION: + g_value_set_string (value, config->config_option); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void px_config_sysconfig_class_init (PxConfigSysConfigClass *klass) { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->set_property = px_config_sysconfig_set_property; + object_class->get_property = px_config_sysconfig_get_property; + + g_object_class_override_property (object_class, PROP_CONFIG_OPTION, "config-option"); } static gboolean diff --git a/src/backend/px-manager.c b/src/backend/px-manager.c index 0eabf1b..f69dab3 100644 --- a/src/backend/px-manager.c +++ b/src/backend/px-manager.c @@ -32,6 +32,7 @@ enum { PROP_0, PROP_PLUGINS_DIR, PROP_CONFIG_PLUGIN, + PROP_CONFIG_OPTION, LAST_PROP }; @@ -55,6 +56,7 @@ struct _PxManager { GCancellable *cancellable; char *config_plugin; + char *config_option; gboolean online; gboolean wpad; @@ -106,7 +108,7 @@ px_manager_constructed (GObject *object) peas_engine_add_search_path (self->engine, self->plugins_dir, NULL); - self->config_set = peas_extension_set_new (self->engine, PX_TYPE_CONFIG, NULL); + self->config_set = peas_extension_set_new (self->engine, PX_TYPE_CONFIG, "config-option", self->config_option, NULL); self->pacrunner_set = peas_extension_set_new (self->engine, PX_TYPE_PACRUNNER, NULL); list = peas_engine_get_plugin_list (self->engine); @@ -183,6 +185,9 @@ px_manager_set_property (GObject *object, case PROP_CONFIG_PLUGIN: self->config_plugin = g_strdup (g_value_get_string (value)); break; + case PROP_CONFIG_OPTION: + self->config_option = g_strdup (g_value_get_string (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } @@ -227,6 +232,12 @@ px_manager_class_init (PxManagerClass *klass) NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CONFIG_OPTION] = g_param_spec_string ("config-option", + NULL, + NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, LAST_PROP, obj_properties); } @@ -236,6 +247,29 @@ px_manager_init (PxManager *self) } /** + * px_manager_new_with_options: + * @optname1: name of first property to set + * @...: value of @optname1, followed by additional property/value pairs + * + * Create a new `PxManager` with the specified options. + * + * Returns: the newly created `PxManager` + */ +PxManager * +px_manager_new_with_options (const char *optname1, + ...) +{ + PxManager *self; + va_list ap; + + va_start (ap, optname1); + self = (PxManager *)g_object_new_valist (PX_TYPE_MANAGER, optname1, ap); + va_end (ap); + + return self; +} + +/** * px_manager_new: * * Create a new `PxManager`. @@ -245,7 +279,7 @@ px_manager_init (PxManager *self) PxManager * px_manager_new (void) { - return g_object_new (PX_TYPE_MANAGER, "plugins-dir", PX_PLUGINS_DIR, NULL); + return px_manager_new_with_options ("plugins-dir", PX_PLUGINS_DIR, NULL); } static size_t diff --git a/src/backend/px-manager.h b/src/backend/px-manager.h index ca3c2fe..74c0584 100644 --- a/src/backend/px-manager.h +++ b/src/backend/px-manager.h @@ -49,6 +49,8 @@ typedef enum { PxManager *px_manager_new (void); +PxManager *px_manager_new_with_options (const char *optname1, ...); + char **px_manager_get_proxies_sync (PxManager *self, const char *url, GError **error); diff --git a/src/backend/px-plugin-config.c b/src/backend/px-plugin-config.c index 6f8c803..d71d49a 100644 --- a/src/backend/px-plugin-config.c +++ b/src/backend/px-plugin-config.c @@ -27,4 +27,12 @@ G_DEFINE_INTERFACE (PxConfig, px_config, G_TYPE_OBJECT) static void px_config_default_init (PxConfigInterface *iface) { + g_object_interface_install_property (iface, + g_param_spec_string ("config-option", + NULL, + NULL, + NULL, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } diff --git a/tests/config-env-test.c b/tests/config-env-test.c index 074f51b..2cfc3cb 100644 --- a/tests/config-env-test.c +++ b/tests/config-env-test.c @@ -75,7 +75,7 @@ test_config_env (void) g_setenv ("no_proxy", test.no_proxy, TRUE); } - manager = px_test_manager_new ("config-env"); + manager = px_test_manager_new ("config-env", NULL); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); diff --git a/tests/config-gnome-test.c b/tests/config-gnome-test.c index a7940d9..73602ad 100644 --- a/tests/config-gnome-test.c +++ b/tests/config-gnome-test.c @@ -96,7 +96,7 @@ test_config_gnome_manual (Fixture *self, g_settings_set_string (self->socks_proxy_settings, "host", test.proxy); g_settings_set_int (self->socks_proxy_settings, "port", test.proxy_port); - manager = px_test_manager_new ("config-gnome"); + manager = px_test_manager_new ("config-gnome", NULL); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); @@ -128,7 +128,7 @@ test_config_gnome_manual_auth (Fixture *self, g_settings_set_string (self->http_proxy_settings, "authentication-user", "test"); g_settings_set_string (self->http_proxy_settings, "authentication-password", "pwd"); - manager = px_test_manager_new ("config-gnome"); + manager = px_test_manager_new ("config-gnome", NULL); g_clear_error (&error); uri = g_uri_parse ("http://www.example.com", G_URI_FLAGS_PARSE_RELAXED, &error); @@ -146,7 +146,7 @@ test_config_gnome_auto (Fixture *self, g_auto (GStrv) config = NULL; g_autoptr (GUri) uri = NULL; - manager = px_test_manager_new ("config-gnome"); + manager = px_test_manager_new ("config-gnome", NULL); g_settings_set_enum (self->proxy_settings, "mode", GNOME_PROXY_MODE_AUTO); g_settings_set_string (self->proxy_settings, "autoconfig-url", ""); @@ -171,7 +171,7 @@ test_config_gnome_fail (Fixture *self, /* Disable GNOME support */ g_setenv ("XDG_CURRENT_DESKTOP", "unknown", TRUE); - manager = px_test_manager_new ("config-gnome"); + manager = px_test_manager_new ("config-gnome", NULL); g_settings_set_enum (self->proxy_settings, "mode", GNOME_PROXY_MODE_AUTO); g_settings_set_string (self->proxy_settings, "autoconfig-url", ""); diff --git a/tests/config-kde-test.c b/tests/config-kde-test.c index 371907d..c918afd 100644 --- a/tests/config-kde-test.c +++ b/tests/config-kde-test.c @@ -64,12 +64,7 @@ test_config_kde_disabled (void) ConfigKdeTest test = config_kde_manual_test_set[idx]; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-disabled", NULL); - if (!g_setenv ("PX_CONFIG_KDE", path, TRUE)) { - g_warning ("Failed to set kde environment"); - continue; - } - - manager = px_test_manager_new ("config-kde"); + manager = px_test_manager_new ("config-kde", path); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); @@ -98,12 +93,7 @@ test_config_kde_manual (void) ConfigKdeTest test = config_kde_manual_test_set[idx]; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-manual", NULL); - if (!g_setenv ("PX_CONFIG_KDE", path, TRUE)) { - g_warning ("Failed to set kde environment"); - continue; - } - - manager = px_test_manager_new ("config-kde"); + manager = px_test_manager_new ("config-kde", path); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); @@ -135,12 +125,7 @@ test_config_kde_wpad (void) ConfigKdeTest test = config_kde_wpad_test_set[idx]; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-wpad", NULL); - if (!g_setenv ("PX_CONFIG_KDE", path, TRUE)) { - g_warning ("Failed to set kde environment"); - continue; - } - - manager = px_test_manager_new ("config-kde"); + manager = px_test_manager_new ("config-kde", path); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); @@ -172,12 +157,7 @@ test_config_kde_pac (void) ConfigKdeTest test = config_kde_pac_test_set[idx]; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-pac", NULL); - if (!g_setenv ("PX_CONFIG_KDE", path, TRUE)) { - g_warning ("Failed to set kde environment"); - continue; - } - - manager = px_test_manager_new ("config-kde"); + manager = px_test_manager_new ("config-kde", path); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); @@ -205,14 +185,10 @@ test_config_kde_fail (void) g_auto (GStrv) config = NULL; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-pac", NULL); - if (!g_setenv ("PX_CONFIG_KDE", path, TRUE)) { - g_warning ("Failed to set kde environment"); - } - /* Disable KDE support */ g_unsetenv ("KDE_FULL_SESSION"); - manager = px_test_manager_new ("config-kde"); + manager = px_test_manager_new ("config-kde", path); uri = g_uri_parse ("https://www.example.com", G_URI_FLAGS_PARSE_RELAXED, &error); diff --git a/tests/config-sysconfig-test.c b/tests/config-sysconfig-test.c index e2d0571..40c0b92 100644 --- a/tests/config-sysconfig-test.c +++ b/tests/config-sysconfig-test.c @@ -49,12 +49,7 @@ test_config_sysconfig (void) ConfigSysConfigTest test = config_sysconfig_test_set[idx]; g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-sysconfig-proxy", NULL); - if (!g_setenv ("PX_CONFIG_SYSCONFIG", path, TRUE)) { - g_warning ("Failed to set sysconfig environment"); - continue; - } - - manager = px_test_manager_new ("config-sysconfig"); + manager = px_test_manager_new ("config-sysconfig", path); g_clear_error (&error); uri = g_uri_parse (test.url, G_URI_FLAGS_PARSE_RELAXED, &error); diff --git a/tests/px-manager-helper.c b/tests/px-manager-helper.c index 223ad62..c5e0b87 100644 --- a/tests/px-manager-helper.c +++ b/tests/px-manager-helper.c @@ -23,12 +23,12 @@ #include "px-manager-helper.h" PxManager * -px_test_manager_new (const char *config_plugin) +px_test_manager_new (const char *config_plugin, const char *config_option) { g_autofree char *path = g_test_build_filename (G_TEST_BUILT, "../src/backend/plugins", NULL); - return g_object_new (PX_TYPE_MANAGER, - "plugins-dir", path, - "config-plugin", config_plugin, - NULL); + return px_manager_new_with_options ("plugins-dir", path, + "config-plugin", config_plugin, + "config-option", config_option, + NULL); } diff --git a/tests/px-manager-helper.h b/tests/px-manager-helper.h index ad5d662..2717448 100644 --- a/tests/px-manager-helper.h +++ b/tests/px-manager-helper.h @@ -21,4 +21,4 @@ #pragma once -PxManager *px_test_manager_new (const char *config_plugin); +PxManager *px_test_manager_new (const char *config_plugin, const char *config_option); diff --git a/tests/px-manager-test.c b/tests/px-manager-test.c index ced1fbf..85936c8 100644 --- a/tests/px-manager-test.c +++ b/tests/px-manager-test.c @@ -59,24 +59,20 @@ static void fixture_setup (Fixture *fixture, gconstpointer data) { + g_autofree char *path = NULL; + fixture->loop = g_main_loop_new (NULL, FALSE); - if (data) { - g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", data, NULL); - if (!g_setenv ("PX_CONFIG_SYSCONFIG", path, TRUE)) { - g_warning ("Failed to set environment"); - return; - } - } + if (data) + path = g_test_build_filename (G_TEST_DIST, "data", data, NULL); - fixture->manager = px_test_manager_new ("config-sysconfig"); + fixture->manager = px_test_manager_new ("config-sysconfig", path); } static void fixture_teardown (Fixture *fixture, gconstpointer data) { - g_unsetenv ("PX_CONFIG_SYSCONFIG"); g_clear_object (&fixture->manager); } |