Commit 34f7aa27 authored by Matthias Clasen's avatar Matthias Clasen

Merge branch 'asan-fixes' into 'master'

Asan fixes

See merge request !238
parents 8f198233 867151e1
Pipeline #213316 passed with stages
in 2 minutes and 34 seconds
......@@ -6,6 +6,9 @@ set +e
srcdir=$( pwd )
builddir=$1
# Ignore memory leaks lower in dependencies
export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp
meson test -C ${builddir} \
--print-errorlogs \
--suite=pango
......
leak:g_quark_init
leak:libc.so
leak:libfontconfig.so
leak:libcairo.so
leak:libpixman-1.so
leak:libthai.so
leak:libdatrie.so
......@@ -62,7 +62,6 @@ test_file (const gchar *filename, GString *string)
length = strlen (test);
len = g_utf8_strlen (test, -1) + 1;
attrs = g_new (PangoLogAttr, len);
pango_parse_markup (test, -1, 0, &attributes, &text, NULL, &error);
g_assert_no_error (error);
......@@ -79,6 +78,10 @@ test_file (const gchar *filename, GString *string)
g_test_skip (msg);
g_free (msg);
#endif
g_free (contents);
g_object_unref (layout);
pango_attr_list_unref (attributes);
g_free (text);
return FALSE;
}
......@@ -225,6 +228,7 @@ test_file (const gchar *filename, GString *string)
g_object_unref (layout);
g_free (attrs);
g_free (contents);
g_free (text);
pango_attr_list_unref (attributes);
return TRUE;
......@@ -255,7 +259,7 @@ test_break (gconstpointer d)
GString *dump;
gchar *diff;
const char *old_locale = setlocale (LC_ALL, NULL);
char *old_locale = g_strdup (setlocale (LC_ALL, NULL));
setlocale (LC_ALL, "en_US.utf8");
if (strstr (setlocale (LC_ALL, NULL), "en_US") == NULL)
{
......@@ -265,20 +269,26 @@ test_break (gconstpointer d)
g_test_skip (msg);
g_free (msg);
#endif
g_free (old_locale);
return;
}
expected_file = get_expected_filename (filename);
dump = g_string_sized_new (0);
if (!test_file (filename, dump))
return;
{
g_free (old_locale);
g_string_free (dump, TRUE);
return;
}
expected_file = get_expected_filename (filename);
diff = diff_with_file (expected_file, dump->str, dump->len, &error);
g_assert_no_error (error);
setlocale (LC_ALL, old_locale);
g_free (old_locale);
if (diff && diff[0])
{
......@@ -294,9 +304,9 @@ test_break (gconstpointer d)
g_test_fail ();
g_strfreev (lines);
g_free (diff);
}
g_free (diff);
g_string_free (dump, TRUE);
g_free (expected_file);
}
......
......@@ -277,9 +277,9 @@ test_itemize (gconstpointer d)
g_test_fail ();
g_strfreev (lines);
g_free (diff);
}
g_free (diff);
g_string_free (dump, TRUE);
g_free (expected_file);
}
......
......@@ -238,6 +238,9 @@ test_file (const gchar *filename, GString *string)
PangoWrapMode wrap = PANGO_WRAP_WORD;
PangoFontDescription *desc;
if (context == NULL)
context = pango_font_map_create_context (pango_cairo_font_map_get_default ());
g_file_get_contents (filename, &contents, &length, &error);
g_assert_no_error (error);
......@@ -344,9 +347,9 @@ test_layout (gconstpointer d)
g_test_fail ();
g_strfreev (lines);
g_free (diff);
}
g_free (diff);
g_string_free (dump, TRUE);
g_free (expected_file);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment