summaryrefslogtreecommitdiff
path: root/tests/glib.supp
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2016-05-11 15:54:48 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2016-06-09 21:10:35 +0000
commit70af1d26b1de686373733f02c4c01151910619e9 (patch)
treee636dc1a6046731389cdbd547fcc8faf5d0d7a9f /tests/glib.supp
parentc015fe13fb5e887a6aa62a3a2830affb6fe17e50 (diff)
downloadostree-70af1d26b1de686373733f02c4c01151910619e9.tar.gz
tests: Modernize valgrind infrastructure
The recent memleak fixes motivated me to look at the bitrotted code to run invocations of `ostree` in the test suite underneath valgrind. There are a few things here. First, update suppressions file from libhif, since I recently worked on it. When running *uninstalled* as we now support, we need `libtool --mode=execute` in the mix so it expands out to the uninstalled binary and we don't valgrind the intermediate shell. However, it's harder than that because we chdir into a tmpdir, which defeats the libtool logic. AFAICS, the only fix for this is to determine the realbin path before we chdir, and then unfortunately we need to change every use of `ostree` to `${OSTREE}` =( Then this immediately breaks for me on RHEL7 because my ancient copy of `valgrind-3.10.0-16.el7.x86_64` is unaware of syscall 306, i.e. `syncfs`. But let's do this first before I dive into that. Closes: #292 Approved by: krnowak
Diffstat (limited to 'tests/glib.supp')
-rw-r--r--tests/glib.supp535
1 files changed, 535 insertions, 0 deletions
diff --git a/tests/glib.supp b/tests/glib.supp
new file mode 100644
index 00000000..33449070
--- /dev/null
+++ b/tests/glib.supp
@@ -0,0 +1,535 @@
+# This GLib suppressions file is known to be used at least by:
+#
+# - rpm-software-management/libhif
+#
+# Please use the upstream verison in libhif for changes.
+{
+ gobject_init_1
+ Memcheck:Leak
+ ...
+ fun:gobject_init
+}
+{
+ g_type_register_static_1
+ Memcheck:Leak
+ ...
+ fun:g_type_register_static
+}
+{
+ g_type_register_fundamental
+ Memcheck:Leak
+ ...
+ fun:g_type_register_fundamental
+}
+{
+ g_type_init_with_debug_flags
+ Memcheck:Leak
+ ...
+ fun:g_type_init_with_debug_flags
+}
+{
+ g_type_class_ref_1
+ Memcheck:Leak
+ ...
+ fun:type_iface_vtable_base_init_Wm
+ ...
+ fun:g_type_class_ref
+}
+{
+ g_type_class_ref_2
+ Memcheck:Leak
+ ...
+ fun:type_class_init_Wm
+ ...
+ fun:g_type_class_ref
+}
+{
+ g_type_add_interface_static
+ Memcheck:Leak
+ ...
+ fun:g_type_add_interface_static
+}
+{
+ g_param_spec_internal
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ fun:g_type_create_instance
+ fun:g_param_spec_internal
+}
+{
+ g_param_spec_enum
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ fun:g_param_spec_enum
+}
+{
+ g_param_spec_flags
+ Memcheck:Leak
+ ...
+ fun:g_type_class_ref
+ fun:g_param_spec_flags
+}
+{
+ g_quark_from_static_string
+ Memcheck:Leak
+ ...
+ fun:g_quark_from_static_string
+}
+{
+ g_quark_from_string
+ Memcheck:Leak
+ ...
+ fun:g_quark_from_string
+}
+{
+ g_value_register_transform_func
+ Memcheck:Leak
+ ...
+ fun:g_value_register_transform_func
+}
+{
+ test_run_seed
+ Memcheck:Leak
+ ...
+ fun:g_rand_new_with_seed_array
+ fun:test_run_seed
+ ...
+ fun:g_test_run_suite
+}
+{
+ g_test_init
+ Memcheck:Leak
+ ...
+ fun:g_rand_new_with_seed_array
+ ...
+ fun:g_test_init
+}
+{
+ g_intern_static_string
+ Memcheck:Leak
+ ...
+ fun:g_intern_static_string
+}
+{
+ g_main_context_push_thread_default
+ Memcheck:Leak
+ ...
+ fun:g_queue_new
+ fun:g_main_context_push_thread_default
+}
+{
+ g_main_context_push_thread_default_inlined
+ Memcheck:Leak
+ ...
+ fun:g_slice_alloc0
+ fun:g_main_context_push_thread_default
+}
+{
+ g_dbus_error_register_error
+ Memcheck:Leak
+ ...
+ fun:g_dbus_error_register_error
+}
+{
+ g_param_spec_pool_insert
+ Memcheck:Leak
+ ...
+ fun:g_param_spec_pool_insert
+}
+{
+ g_main_context_default
+ Memcheck:Leak
+ ...
+ fun:g_main_context_default
+}
+{
+ g_main_context_check
+ Memcheck:Leak
+ ...
+ fun:g_ptr_array_add
+ fun:g_main_context_check
+}
+{
+ g_test_run_suite
+ Memcheck:Leak
+ ...
+ fun:g_slist_copy
+ fun:g_test_run_suite_internal
+ fun:g_test_run_suite
+}
+{
+ g_dbus_interface_info_cache_build
+ Memcheck:Leak
+ ...
+ fun:g_dbus_interface_info_cache_build
+}
+{
+ g_cancellable_push_current
+ Memcheck:Leak
+ ...
+ fun:thread_memory_from_self
+ ...
+ fun:g_cancellable_push_current
+}
+{
+ _g_io_module_get_default
+ Memcheck:Leak
+ ...
+ fun:g_io_module_new
+ fun:g_io_modules_scan_all_in_directory_with_scope
+ fun:_g_io_modules_ensure_loaded
+ fun:_g_io_module_get_default
+}
+{
+ g_io_scheduler_push_job
+ Memcheck:Leak
+ ...
+ fun:init_scheduler
+ fun:g_once_impl
+ fun:g_io_scheduler_push_job
+}
+{
+ g_io_scheduler_push_job_2
+ Memcheck:Leak
+ ...
+ fun:g_system_thread_new
+ ...
+ fun:g_io_scheduler_push_job
+}
+{
+ g_bus_get_sync__available_connections
+ Memcheck:Leak
+ ...
+ fun:g_hash_table_new
+ fun:initable_init
+ fun:g_initable_init
+ fun:g_bus_get_sync
+}
+{
+ g_socket_connection_factory_register_type
+ Memcheck:Leak
+ ...
+ fun:g_socket_connection_factory_register_type
+}
+{
+ g_test_add_vtable
+ Memcheck:Leak
+ ...
+ fun:g_test_add_vtable
+}
+{
+ g_mutex_lock
+ Memcheck:Leak
+ ...
+ fun:g_mutex_impl_new
+ fun:g_mutex_get_impl
+ fun:g_mutex_lock
+}
+{
+ g_thread_self
+ Memcheck:Leak
+ ...
+ fun:g_thread_self
+}
+{
+ g_rec_mutex_lock
+ Memcheck:Leak
+ ...
+ fun:g_rec_mutex_impl_new
+ fun:g_rec_mutex_get_impl
+ fun:g_rec_mutex_lock
+}
+{
+ test_case_run
+ Memcheck:Leak
+ ...
+ fun:g_malloc0
+ fun:test_case_run
+ ...
+ fun:g_test_run_suite
+}
+{
+ g_get_charset
+ Memcheck:Leak
+ ...
+ fun:g_get_charset
+}
+{
+ g_test_run_suite__timer_new
+ Memcheck:Leak
+ ...
+ fun:g_timer_new
+ fun:test_case_run
+ ...
+ fun:g_test_run_suite
+}
+{
+ g_test_run_suite__timer_new2
+ Memcheck:Leak
+ ...
+ fun:g_timer_new
+ fun:test_case_run_suite_internal
+ ...
+ fun:g_test_run_suite
+}
+{
+ g_test_run_suite__strconcat
+ Memcheck:Leak
+ ...
+ fun:g_strconcat
+ fun:test_case_run
+ ...
+ fun:g_test_run_suite
+ fun:g_test_run
+}
+{
+ g_type_interface_add_prerequisite
+ Memcheck:Leak
+ ...
+ fun:g_type_interface_add_prerequisite
+}
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ ...
+ fun:g_slist_copy
+ fun:g_test_run_suite_internal
+ ...
+ fun:g_test_run_suite
+}
+{
+ g_set_prgname
+ Memcheck:Leak
+ ...
+ fun:g_set_prgname
+}
+{
+ g_test_run_suite__strconcat_2
+ Memcheck:Leak
+ ...
+ fun:g_strconcat
+ fun:g_test_run_suite_internal
+}
+{
+ g_test_run_suite__strdup
+ Memcheck:Leak
+ ...
+ fun:g_strdup
+ fun:g_test_run_suite_internal
+}
+{
+ g_private_get
+ Memcheck:Leak
+ ...
+ fun:g_private_get
+}
+{
+ g_private_set
+ Memcheck:Leak
+ ...
+ fun:g_private_set
+}
+{
+ g_static_mutex_get_mutex_impl
+ Memcheck:Leak
+ ...
+ fun:g_static_mutex_get_mutex_impl
+}
+{
+ g_variant_type_info_unref
+ Memcheck:Leak
+ ...
+ fun:g_hash_table_remove
+ fun:g_variant_type_info_unref
+}
+{
+ g_rw_lock_reader_lock
+ Memcheck:Leak
+ ...
+ fun:g_rw_lock_impl_new
+ fun:g_rw_lock_get_impl
+ fun:g_rw_lock_reader_lock
+}
+{
+ g_child_watch_finalize__rt_sigaction
+ Memcheck:Param
+ rt_sigaction(act->sa_flags)
+ fun:__libc_sigaction
+ ...
+ fun:g_child_watch_finalize
+}
+{
+ g_dbus_worker_new
+ Memcheck:Leak
+ fun:calloc
+ ...
+ fun:_g_dbus_worker_new
+}
+{
+ gdbus_shared_thread_func
+ Memcheck:Leak
+ match-leak-kinds: definite
+ ...
+ fun:g_malloc
+ ...
+ fun:gdbus_shared_thread_func
+}
+{
+ g_task_start_task_thread
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ fun:g_slice_alloc
+ fun:g_slice_alloc0
+ ...
+ fun:g_thread_pool_push
+ fun:g_task_start_task_thread
+}
+{
+ g_get_language_names
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:calloc
+ fun:g_malloc0
+ fun:g_get_language_names
+}
+{
+ g_get_filename_charsets
+ Memcheck:Leak
+ match-leak-kinds: definite
+ ...
+ fun:g_get_filename_charsets
+ fun:g_filename_display_name
+}
+{
+ g_main_current_source
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ ...
+ fun:g_main_current_source
+ fun:g_task_return
+ fun:g_task_thread_pool_thread
+}
+{
+ g_once_init_enter
+ Memcheck:Leak
+ match-leak-kinds: definite
+ ...
+ fun:g_once_init_enter
+}
+{
+ g_child_watch_source_new
+ Memcheck:Leak
+ match-leak-kinds: definite
+ ...
+ fun:g_thread_new
+ ...
+ fun:g_child_watch_source_new
+}
+{
+ continue_writing_in_idle_cb
+ Memcheck:Leak
+ match-leak-kinds: definite
+ ...
+ fun:g_task_new
+ ...
+ fun:continue_writing_in_idle_cb
+ fun:g_main_context_dispatch
+}
+{
+ g_main_current_source
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ ...
+ fun:g_main_current_source
+}
+{
+ g_thread_pool_push
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ ...
+ fun:g_thread_pool_push
+}
+{
+ leak_test_dbus_dispose
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ ...
+ fun:g_main_loop_run
+ fun:g_test_dbus_down
+}
+{
+ leak_test_dbus_down
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:calloc
+ fun:g_malloc0
+ fun:g_main_loop_new
+ fun:g_test_dbus_down
+}
+{
+ leak_socket_client_connect
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ fun:g_slice_alloc
+ fun:g_slice_alloc0
+ fun:g_socket_client_connect_async
+ fun:g_socket_client_connect_to_uri_async
+}
+{
+ leak_signal_handlers_disconnect_matched
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:calloc
+ fun:g_malloc0
+ ...
+ fun:g_slice_alloc
+ ...
+ fun:g_signal_handlers_disconnect_matched
+}
+{
+ g_tls_connection_gnutls_init_priorities
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ fun:g_strdup
+ fun:g_tls_connection_gnutls_init_priorities
+}
+{
+ g_tls_connection_gnutls_heisenbug_likely_same_as_above
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ fun:g_strdup
+ ...
+ fun:g_tls_client_connection_new
+}
+{
+ g_unix_signal_add_full
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:g_malloc
+ ...
+ fun:g_thread_new
+ ...
+ fun:g_unix_signal_add_full
+}
+{
+ glib_worker_1
+ Memcheck:Leak
+ ...
+ fun:glib_worker_main
+}