CLEANFILES=
-SUPPRESSIONS=valgrind.supp dlopen.supp
+SUPPRESSIONS=tp-glib.supp dlopen.supp
EXTRA_DIST = \
test.manager \
--- /dev/null
+# Valgrind error suppression file
+
+# ============================= libc ==================================
+
+{
+ ld.so initialization + selinux
+ Memcheck:Leak
+ ...
+ fun:_dl_init
+ obj:/lib/ld-*.so
+}
+
+{
+ dlopen initialization, triggered by handle-leak-debug code
+ Memcheck:Leak
+ ...
+ fun:__libc_dlopen_mode
+ fun:init
+ fun:backtrace
+ fun:handle_leak_debug_bt
+ fun:dynamic_ensure_handle
+ fun:tp_handle_ensure
+}
+
+{
+ ld.so initialization on glibc 2.9
+ Memcheck:Cond
+ fun:_dl_relocate_object
+ fun:dl_main
+ fun:_dl_sysdep_start
+ fun:_dl_start
+ obj:/lib/ld-2.9.so
+}
+
+{
+ ld.so initialization on glibc 2.9
+ Memcheck:Cond
+ fun:strlen
+ fun:_dl_init_paths
+ fun:dl_main
+ fun:_dl_sysdep_start
+ fun:_dl_start
+ obj:/lib/ld-2.9.so
+}
+
+{
+ selinux, we just don't know
+ Memcheck:Leak
+ fun:malloc
+ fun:getdelim
+ obj:/lib/libselinux.so.1
+}
+
+# ============================= GLib ==================================
+
+{
+ g_set_prgname copies its argument
+ Memcheck:Leak
+ ...
+ fun:g_set_prgname
+}
+
+{
+ one g_get_charset per child^Wprocess
+ Memcheck:Leak
+ ...
+ fun:g_get_charset
+}
+
+{
+ GQuarks can't be freed
+ Memcheck:Leak
+ ...
+ fun:g_quark_from_static_string
+}
+
+{
+ GQuarks can't be freed
+ Memcheck:Leak
+ ...
+ fun:g_quark_from_string
+}
+
+{
+ interned strings can't be freed
+ Memcheck:Leak
+ ...
+ fun:g_intern_string
+}
+
+{
+ interned strings can't be freed
+ Memcheck:Leak
+ ...
+ fun:g_intern_static_string
+}
+
+{
+ shared global default g_main_context
+ Memcheck:Leak
+ ...
+ fun:g_main_context_new
+ fun:g_main_context_default
+}
+
+{
+ GTest initialization
+ Memcheck:Leak
+ ...
+ fun:g_test_init
+ fun:main
+}
+
+{
+ GTest admin
+ Memcheck:Leak
+ ...
+ fun:g_test_add_vtable
+}
+
+{
+ GTest pseudorandomness
+ Memcheck:Leak
+ ...
+ fun:g_rand_new_with_seed_array
+ fun:test_run_seed
+ ...
+ fun:g_test_run
+}
+
+{
+ GSLice initialization
+ Memcheck:Leak
+ ...
+ fun:g_malloc0
+ fun:g_slice_init_nomessage
+ fun:g_slice_alloc
+}
+
+# ============================= GObject ===============================
+
+{
+ g_type_init
+ Memcheck:Leak
+ ...
+ fun:g_type_init
+}
+
+{
+ g_type_init_with_debug_flags
+ Memcheck:Leak
+ ...
+ fun:g_type_init_with_debug_flags
+}
+
+{
+ g_type_register_static
+ Memcheck:Leak
+ ...
+ fun:g_type_register_static
+}
+
+{
+ g_type_add_interface_static
+ Memcheck:Leak
+ ...
+ fun:g_type_add_interface_static
+}
+
+# ============================= GIO ===================================
+
+{
+ g_simple_async_result class
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_simple_async_result_new
+}
+
+# ============================= dbus-glib =============================
+
+{
+ dbus-glib, https://bugs.freedesktop.org/show_bug.cgi?id=14125
+ Memcheck:Addr4
+ fun:g_hash_table_foreach
+ obj:/usr/lib/libdbus-glib-1.so.2.1.0
+ fun:g_object_run_dispose
+}
+
+{
+ registering marshallers is permanent
+ Memcheck:Leak
+ ...
+ fun:dbus_g_object_register_marshaller_array
+ fun:dbus_g_object_register_marshaller
+}
+
+{
+ dbus-glib specialized GTypes are permanent
+ Memcheck:Leak
+ ...
+ fun:dbus_g_type_specialized_init
+}
+
+{
+ libdbus shared connection
+ Memcheck:Leak
+ ...
+ fun:dbus_g_bus_get
+}
+
+{
+ dbus-gobject registrations aren't freed unless we fall off the bus
+ Memcheck:Leak
+ ...
+ fun:g_slist_append
+ fun:dbus_g_connection_register_g_object
+}
+
+{
+ DBusGProxy slots aren't freed unless we fall off the bus
+ Memcheck:Leak
+ ...
+ fun:dbus_connection_allocate_data_slot
+ ...
+ fun:dbus_g_proxy_constructor
+}
+
+{
+ error registrations are for life, not just for Christmas
+ Memcheck:Leak
+ ...
+ fun:dbus_g_error_domain_register
+}
+
+# ============================= telepathy-glib ========================
+
+{
+ tp_dbus_daemon_constructor @daemons once per DBusConnection
+ Memcheck:Leak
+ ...
+ fun:g_slice_alloc
+ fun:tp_dbus_daemon_constructor
+}
+
+{
+ tp_proxy_subclass_add_error_mapping refs the enum
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ fun:tp_proxy_subclass_add_error_mapping
+}
+
+{
+ tp_proxy_or_subclass_hook_on_interface_add never frees its list
+ Memcheck:Leak
+ ...
+ fun:tp_proxy_or_subclass_hook_on_interface_add
+}
+
+{
+ tp_dbus_daemon_constructor filter not freed til we fall off the bus
+ Memcheck:Leak
+ ...
+ fun:dbus_connection_add_filter
+ fun:tp_dbus_daemon_constructor
+}
+
+{
+ tp_g_socket_address_from_variant reffing GNIO types
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:tp_g_socket_address_from_variant
+}
+
+{
+ creating classes for DBusGProxy
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_object_new
+ ...
+ fun:tp_proxy_borrow_interface_by_id
+}
+
+{
+ creating classes for tp_dbus_daemon_new
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_object_new
+ ...
+ fun:tp_dbus_daemon_new
+}
+
+{
+ creating classes for TpCHannel
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_object_new
+ ...
+ fun:tp_channel_new
+}
+
+{
+ creating a boxed type to use in TpCapabilities
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_param_spec_boxed
+ fun:tp_capabilities_class_intern_init
+}
+
+# ============================= questionable ==========================
+
+{
+ creating classes for instances (this is a pretty big hammer)
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ ...
+ fun:g_type_create_instance
+ ...
+ fun:g_param_spec_string
+}
+++ /dev/null
-# Valgrind error suppression file
-
-# ============================= libc ==================================
-
-{
- ld.so initialization + selinux
- Memcheck:Leak
- ...
- fun:_dl_init
- obj:/lib/ld-*.so
-}
-
-{
- dlopen initialization, triggered by handle-leak-debug code
- Memcheck:Leak
- ...
- fun:__libc_dlopen_mode
- fun:init
- fun:backtrace
- fun:handle_leak_debug_bt
- fun:dynamic_ensure_handle
- fun:tp_handle_ensure
-}
-
-{
- ld.so initialization on glibc 2.9
- Memcheck:Cond
- fun:_dl_relocate_object
- fun:dl_main
- fun:_dl_sysdep_start
- fun:_dl_start
- obj:/lib/ld-2.9.so
-}
-
-{
- ld.so initialization on glibc 2.9
- Memcheck:Cond
- fun:strlen
- fun:_dl_init_paths
- fun:dl_main
- fun:_dl_sysdep_start
- fun:_dl_start
- obj:/lib/ld-2.9.so
-}
-
-{
- selinux, we just don't know
- Memcheck:Leak
- fun:malloc
- fun:getdelim
- obj:/lib/libselinux.so.1
-}
-
-# ============================= GLib ==================================
-
-{
- g_set_prgname copies its argument
- Memcheck:Leak
- ...
- fun:g_set_prgname
-}
-
-{
- one g_get_charset per child^Wprocess
- Memcheck:Leak
- ...
- fun:g_get_charset
-}
-
-{
- GQuarks can't be freed
- Memcheck:Leak
- ...
- fun:g_quark_from_static_string
-}
-
-{
- GQuarks can't be freed
- Memcheck:Leak
- ...
- fun:g_quark_from_string
-}
-
-{
- interned strings can't be freed
- Memcheck:Leak
- ...
- fun:g_intern_string
-}
-
-{
- interned strings can't be freed
- Memcheck:Leak
- ...
- fun:g_intern_static_string
-}
-
-{
- shared global default g_main_context
- Memcheck:Leak
- ...
- fun:g_main_context_new
- fun:g_main_context_default
-}
-
-{
- GTest initialization
- Memcheck:Leak
- ...
- fun:g_test_init
- fun:main
-}
-
-{
- GTest admin
- Memcheck:Leak
- ...
- fun:g_test_add_vtable
-}
-
-{
- GTest pseudorandomness
- Memcheck:Leak
- ...
- fun:g_rand_new_with_seed_array
- fun:test_run_seed
- ...
- fun:g_test_run
-}
-
-{
- GSLice initialization
- Memcheck:Leak
- ...
- fun:g_malloc0
- fun:g_slice_init_nomessage
- fun:g_slice_alloc
-}
-
-# ============================= GObject ===============================
-
-{
- g_type_init
- Memcheck:Leak
- ...
- fun:g_type_init
-}
-
-{
- g_type_init_with_debug_flags
- Memcheck:Leak
- ...
- fun:g_type_init_with_debug_flags
-}
-
-{
- g_type_register_static
- Memcheck:Leak
- ...
- fun:g_type_register_static
-}
-
-{
- g_type_add_interface_static
- Memcheck:Leak
- ...
- fun:g_type_add_interface_static
-}
-
-# ============================= GIO ===================================
-
-{
- g_simple_async_result class
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_simple_async_result_new
-}
-
-# ============================= dbus-glib =============================
-
-{
- dbus-glib, https://bugs.freedesktop.org/show_bug.cgi?id=14125
- Memcheck:Addr4
- fun:g_hash_table_foreach
- obj:/usr/lib/libdbus-glib-1.so.2.1.0
- fun:g_object_run_dispose
-}
-
-{
- registering marshallers is permanent
- Memcheck:Leak
- ...
- fun:dbus_g_object_register_marshaller_array
- fun:dbus_g_object_register_marshaller
-}
-
-{
- dbus-glib specialized GTypes are permanent
- Memcheck:Leak
- ...
- fun:dbus_g_type_specialized_init
-}
-
-{
- libdbus shared connection
- Memcheck:Leak
- ...
- fun:dbus_g_bus_get
-}
-
-{
- dbus-gobject registrations aren't freed unless we fall off the bus
- Memcheck:Leak
- ...
- fun:g_slist_append
- fun:dbus_g_connection_register_g_object
-}
-
-{
- DBusGProxy slots aren't freed unless we fall off the bus
- Memcheck:Leak
- ...
- fun:dbus_connection_allocate_data_slot
- ...
- fun:dbus_g_proxy_constructor
-}
-
-{
- error registrations are for life, not just for Christmas
- Memcheck:Leak
- ...
- fun:dbus_g_error_domain_register
-}
-
-# ============================= telepathy-glib ========================
-
-{
- tp_dbus_daemon_constructor @daemons once per DBusConnection
- Memcheck:Leak
- ...
- fun:g_slice_alloc
- fun:tp_dbus_daemon_constructor
-}
-
-{
- tp_proxy_subclass_add_error_mapping refs the enum
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- fun:tp_proxy_subclass_add_error_mapping
-}
-
-{
- tp_proxy_or_subclass_hook_on_interface_add never frees its list
- Memcheck:Leak
- ...
- fun:tp_proxy_or_subclass_hook_on_interface_add
-}
-
-{
- tp_dbus_daemon_constructor filter not freed til we fall off the bus
- Memcheck:Leak
- ...
- fun:dbus_connection_add_filter
- fun:tp_dbus_daemon_constructor
-}
-
-{
- tp_g_socket_address_from_variant reffing GNIO types
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:tp_g_socket_address_from_variant
-}
-
-{
- creating classes for DBusGProxy
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_object_new
- ...
- fun:tp_proxy_borrow_interface_by_id
-}
-
-{
- creating classes for tp_dbus_daemon_new
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_object_new
- ...
- fun:tp_dbus_daemon_new
-}
-
-{
- creating classes for TpCHannel
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_object_new
- ...
- fun:tp_channel_new
-}
-
-{
- creating a boxed type to use in TpCapabilities
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_param_spec_boxed
- fun:tp_capabilities_class_intern_init
-}
-
-# ============================= questionable ==========================
-
-{
- creating classes for instances (this is a pretty big hammer)
- Memcheck:Leak
- ...
- fun:g_type_class_ref
- ...
- fun:g_type_create_instance
- ...
- fun:g_param_spec_string
-}