summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2010-06-07 20:17:36 +0200
committerDan Winship <danw@gnome.org>2010-06-08 11:51:52 -0400
commit3bf2d2b7dbf803afe5599fc39787df34e28bbfbb (patch)
treeaae70d6cdb98b0d8951a1d0d694289793a9cd0cf
parent25bfd5cbcfb93b94efc7c0f6f0d4bbfa51244e42 (diff)
downloadlibsoup-3bf2d2b7dbf803afe5599fc39787df34e28bbfbb.tar.gz
sniffing-test: be robust against slightly-broken jhbuild configs
previously if you jhbuilt glib and libsoup, but not shared-mime-info, then this test would fail. Fix that. https://bugzilla.gnome.org/show_bug.cgi?id=612706
-rw-r--r--tests/sniffing-test.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/sniffing-test.c b/tests/sniffing-test.c
index b2296bec..1bab24c4 100644
--- a/tests/sniffing-test.c
+++ b/tests/sniffing-test.c
@@ -445,6 +445,24 @@ test_disabled (const char *path)
g_main_loop_unref (loop);
}
+/* Fix up XDG_DATA_DIRS for jhbuild runs so that it still works even
+ * if you didn't install shared-mime-info.
+ */
+static void
+fixup_xdg_dirs (void)
+{
+ const char *xdg_data_dirs = g_getenv ("XDG_DATA_DIRS");
+ char *new_data_dirs;
+
+ if (xdg_data_dirs &&
+ !g_str_has_prefix (xdg_data_dirs, "/usr/share") &&
+ !strstr (xdg_data_dirs, ":/usr/share")) {
+ new_data_dirs = g_strdup_printf ("%s:/usr/share", xdg_data_dirs);
+ g_setenv ("XDG_DATA_DIRS", new_data_dirs, TRUE);
+ g_free (new_data_dirs);
+ }
+}
+
int
main (int argc, char **argv)
{
@@ -452,6 +470,8 @@ main (int argc, char **argv)
test_init (argc, argv, NULL);
+ fixup_xdg_dirs ();
+
server = soup_test_server_new (TRUE);
soup_server_add_handler (server, NULL, server_callback, NULL, NULL);
base_uri = soup_uri_new ("http://127.0.0.1/");