tests: Re-enable contenttype tests under AddressSanitizer

This is a partial revert of commit
f378352051, as the previous commits have
silenced the AddressSanitizer warnings for `GContentType`.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2310
This commit is contained in:
Philip Withnall 2021-09-27 13:11:21 +01:00
parent c2562bdf58
commit f31e5e6c66

View File

@ -1,8 +1,6 @@
#include <gio/gio.h> #include <gio/gio.h>
#include <string.h> #include <string.h>
#include "glib/glib-private.h"
#define g_assert_content_type_equals(s1, s2) \ #define g_assert_content_type_equals(s1, s2) \
do { \ do { \
const char *__s1 = (s1), *__s2 = (s2); \ const char *__s1 = (s1), *__s2 = (s2); \
@ -18,9 +16,6 @@
static void static void
test_guess (void) test_guess (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *res; gchar *res;
gchar *expected; gchar *expected;
gchar *existing_directory; gchar *existing_directory;
@ -131,15 +126,11 @@ test_guess (void)
g_assert_false (uncertain); g_assert_false (uncertain);
g_free (res); g_free (res);
g_free (expected); g_free (expected);
#endif
} }
static void static void
test_unknown (void) test_unknown (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *unknown; gchar *unknown;
gchar *str; gchar *str;
@ -149,15 +140,11 @@ test_unknown (void)
g_assert_cmpstr (str, ==, "application/octet-stream"); g_assert_cmpstr (str, ==, "application/octet-stream");
g_free (str); g_free (str);
g_free (unknown); g_free (unknown);
#endif
} }
static void static void
test_subtype (void) test_subtype (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *plain; gchar *plain;
gchar *xml; gchar *xml;
@ -169,7 +156,6 @@ test_subtype (void)
g_free (plain); g_free (plain);
g_free (xml); g_free (xml);
#endif
} }
static gint static gint
@ -183,10 +169,6 @@ find_mime (gconstpointer a, gconstpointer b)
static void static void
test_list (void) test_list (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
(void) find_mime;
#else
GList *types; GList *types;
gchar *plain; gchar *plain;
gchar *xml; gchar *xml;
@ -211,15 +193,11 @@ test_list (void)
g_free (plain); g_free (plain);
g_free (xml); g_free (xml);
#endif
} }
static void static void
test_executable (void) test_executable (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *type; gchar *type;
type = g_content_type_from_mime_type ("application/x-executable"); type = g_content_type_from_mime_type ("application/x-executable");
@ -233,15 +211,11 @@ test_executable (void)
type = g_content_type_from_mime_type ("image/png"); type = g_content_type_from_mime_type ("image/png");
g_assert_false (g_content_type_can_be_executable (type)); g_assert_false (g_content_type_can_be_executable (type));
g_free (type); g_free (type);
#endif
} }
static void static void
test_description (void) test_description (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *type; gchar *type;
gchar *desc; gchar *desc;
@ -251,15 +225,11 @@ test_description (void)
g_free (desc); g_free (desc);
g_free (type); g_free (type);
#endif
} }
static void static void
test_icon (void) test_icon (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gchar *type; gchar *type;
GIcon *icon; GIcon *icon;
@ -296,15 +266,12 @@ test_icon (void)
} }
g_object_unref (icon); g_object_unref (icon);
g_free (type); g_free (type);
#endif
} }
static void static void
test_symbolic_icon (void) test_symbolic_icon (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER #ifndef G_OS_WIN32
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#elif !defined(G_OS_WIN32)
gchar *type; gchar *type;
GIcon *icon; GIcon *icon;
@ -352,9 +319,6 @@ test_symbolic_icon (void)
static void static void
test_tree (void) test_tree (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
const gchar *tests[] = { const gchar *tests[] = {
"x-content/image-dcf", "x-content/image-dcf",
"x-content/unix-software", "x-content/unix-software",
@ -379,15 +343,11 @@ test_tree (void)
g_strfreev (types); g_strfreev (types);
g_object_unref (file); g_object_unref (file);
} }
#endif
} }
static void static void
test_type_is_a_special_case (void) test_type_is_a_special_case (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
gboolean res; gboolean res;
g_test_bug ("https://bugzilla.gnome.org/show_bug.cgi?id=782311"); g_test_bug ("https://bugzilla.gnome.org/show_bug.cgi?id=782311");
@ -399,15 +359,11 @@ test_type_is_a_special_case (void)
res = g_content_type_is_a ("anything", "application/octet-stream"); res = g_content_type_is_a ("anything", "application/octet-stream");
g_assert_true (res); g_assert_true (res);
#endif #endif
#endif
} }
static void static void
test_guess_svg_from_data (void) test_guess_svg_from_data (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#else
const gchar svgfilecontent[] = "<svg xmlns=\"http://www.w3.org/2000/svg\"\ const gchar svgfilecontent[] = "<svg xmlns=\"http://www.w3.org/2000/svg\"\
xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n\ xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n\
<rect x=\"10\" y=\"10\" height=\"100\" width=\"100\"\n\ <rect x=\"10\" y=\"10\" height=\"100\" width=\"100\"\n\
@ -426,15 +382,12 @@ test_guess_svg_from_data (void)
#endif #endif
g_assert_false (uncertain); g_assert_false (uncertain);
g_free (res); g_free (res);
#endif
} }
static void static void
test_mime_from_content (void) test_mime_from_content (void)
{ {
#ifdef _GLIB_ADDRESS_SANITIZER #ifdef __APPLE__
g_test_incomplete ("FIXME: Leaks xdgmime internal data, see glib#2310");
#elif defined(__APPLE__)
gchar *mime_type; gchar *mime_type;
mime_type = g_content_type_get_mime_type ("com.microsoft.bmp"); mime_type = g_content_type_get_mime_type ("com.microsoft.bmp");
g_assert_cmpstr (mime_type, ==, "image/bmp"); g_assert_cmpstr (mime_type, ==, "image/bmp");