The suppression file makes valgrind output more readable by hiding
reports of memory leaks for GObject-related initialization functions in
Pango and Cairo.
if ($args{valgrind}) {
$i3cmd =
qq|valgrind -v --log-file="$outdir/valgrind-for-$test.log" | .
+ qq|--suppressions="./valgrind.supp" | .
qq|--leak-check=full --track-origins=yes --num-callers=20 | .
qq|--tool=memcheck -- $i3cmd|;
}
--- /dev/null
+#
+# Valgrind suppression file for i3 testcases
+#
+# Format specification:
+# http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress
+#
+
+#
+# GLib
+#
+{
+ Ignore fundamental GType registration
+ Memcheck:Leak
+ ...
+ fun:g_type_register_fundamental
+ ...
+}
+
+{
+ Ignore static GType registration
+ Memcheck:Leak
+ match-leak-kinds: possible
+ ...
+ fun:g_type_register_static
+ ...
+}
+
+{
+ Ignore GObject init function
+ Memcheck:Leak
+ match-leak-kinds: possible
+ ...
+ obj:/usr/lib/libgobject-2.0*
+ ...
+ fun:call_init.part.0
+ ...
+}