build: Mark all the failing and flacky tests with thread sanitizer

Sadly many tests don't pass with thread sanitizer, but better to
mark them as such to try to fix them in the future

See also: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
This commit is contained in:
Marco Trevisan (Treviño) 2024-05-10 07:44:51 +02:00
parent bec8cd3375
commit a7ab382d90
5 changed files with 211 additions and 46 deletions

View File

@ -52,14 +52,22 @@ gio_tests = {
'appmonitor' : { 'appmonitor' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system in ['darwin', 'gnu'], 'can_fail' : host_system in ['darwin', 'gnu']
}, },
'async-close-output-stream' : {}, 'async-close-output-stream' : {},
'async-splice-output-stream' : {}, 'async-splice-output-stream' : {},
'buffered-input-stream' : {}, 'buffered-input-stream' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'buffered-output-stream' : {}, 'buffered-output-stream' : {},
'cancellable' : {}, 'cancellable' : {
'contexts' : {}, 'can_fail': 'thread' in glib_sanitizers,
},
'contexts' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'contenttype' : {}, 'contenttype' : {},
'converter-stream' : { 'converter-stream' : {
# musl: charset tests fail due to missing collation support in musl libc # musl: charset tests fail due to missing collation support in musl libc
@ -74,13 +82,18 @@ gio_tests = {
'error': {}, 'error': {},
'file-thumbnail' : {}, 'file-thumbnail' : {},
'fileattributematcher' : {}, 'fileattributematcher' : {},
'filter-streams' : {}, 'filter-streams' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'giomodule' : { 'giomodule' : {
'depends' : glib_build_shared ? [libtestmodulea, libtestmoduleb] : [], 'depends' : glib_build_shared ? [libtestmodulea, libtestmoduleb] : [],
}, },
'gsubprocess' : { 'gsubprocess' : {
'suite': host_system == 'windows' ? ['flaky'] : [], 'suite': host_system == 'windows' ? ['flaky'] : [],
'extra_programs': ['gsubprocess-testprog'], 'extra_programs': ['gsubprocess-testprog'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'g-file' : {}, 'g-file' : {},
'g-file-info' : { 'g-file-info' : {
@ -96,7 +109,9 @@ gio_tests = {
'install_rpath' : installed_tests_execdir, 'install_rpath' : installed_tests_execdir,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system in ['darwin', 'windows', 'gnu'], 'can_fail' : host_system in ['darwin', 'windows', 'gnu'] or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
}, },
'inet-address' : {}, 'inet-address' : {},
'io-stream' : {}, 'io-stream' : {},
@ -107,8 +122,14 @@ gio_tests = {
'memory-settings-backend' : {}, 'memory-settings-backend' : {},
'mount-operation' : {}, 'mount-operation' : {},
'network-address' : {'extra_sources': ['mock-resolver.c']}, 'network-address' : {'extra_sources': ['mock-resolver.c']},
'network-monitor' : {}, 'network-monitor' : {
'network-monitor-race' : {}, # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'network-monitor-race' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'null-settings-backend' : {}, 'null-settings-backend' : {},
'permission' : {}, 'permission' : {},
'pollable' : {'dependencies' : [libutil_dep]}, 'pollable' : {'dependencies' : [libutil_dep]},
@ -130,7 +151,10 @@ gio_tests = {
'socket-listener' : {}, 'socket-listener' : {},
'socket-service' : {}, 'socket-service' : {},
'srvtarget' : {}, 'srvtarget' : {},
'task' : {}, 'task' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'vfs' : {}, 'vfs' : {},
'volumemonitor' : {}, 'volumemonitor' : {},
'glistmodel' : {}, 'glistmodel' : {},
@ -230,19 +254,27 @@ if dbus1_dep.found()
}, },
'gdbus-server-auth' : { 'gdbus-server-auth' : {
'dependencies' : [dbus1_dep], 'dependencies' : [dbus1_dep],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
} }
else else
# We can build a cut-down version of this test without libdbus # We can build a cut-down version of this test without libdbus
gio_tests += { gio_tests += {
'gdbus-server-auth' : {}, 'gdbus-server-auth' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
} }
endif endif
have_dbus_daemon = find_program('dbus-daemon', required : false).found() have_dbus_daemon = find_program('dbus-daemon', required : false).found()
if have_dbus_daemon if have_dbus_daemon
gio_tests += { gio_tests += {
'debugcontroller' : {}, 'debugcontroller' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'defaultvalue' : {'extra_sources' : [giotypefuncs_inc]}, 'defaultvalue' : {'extra_sources' : [giotypefuncs_inc]},
} }
endif endif
@ -252,10 +284,18 @@ if host_machine.system() != 'windows'
gio_tests += { gio_tests += {
'file' : { 'file' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu' or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
},
'gdbus-peer-object-manager' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'gdbus-sasl' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-peer-object-manager' : {},
'gdbus-sasl' : {},
'live-g-file' : {}, 'live-g-file' : {},
'portal-support-flatpak-none' : { 'portal-support-flatpak-none' : {
'extra_sources': ['../gportalsupport.c', '../gsandbox.c', 'portal-support-utils.c'], 'extra_sources': ['../gportalsupport.c', '../gsandbox.c', 'portal-support-utils.c'],
@ -305,10 +345,12 @@ if host_machine.system() != 'windows'
'unix-mounts' : {}, 'unix-mounts' : {},
'unix-streams' : {}, 'unix-streams' : {},
'g-file-info-filesystem-readonly' : {}, 'g-file-info-filesystem-readonly' : {},
'gschema-compile' : {'install' : false}, 'gschema-compile' : {
'install' : false,
},
'trash' : { 'trash' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3069 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3069
'can_fail' : host_system == 'darwin', 'can_fail' : host_system == 'darwin'
}, },
} }
@ -343,13 +385,15 @@ if host_machine.system() != 'windows'
'appinfo' : { 'appinfo' : {
'install' : false, 'install' : false,
'extra_programs' : ['appinfo-test'], 'extra_programs' : ['appinfo-test'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'desktop-app-info' : { 'desktop-app-info' : {
'install' : false, 'install' : false,
'depends' : gio_launch_desktop, 'depends' : gio_launch_desktop,
'extra_programs' : ['apps', 'appinfo-test'], 'extra_programs' : ['apps', 'appinfo-test'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu'
}, },
} }
endif endif
@ -445,75 +489,124 @@ if host_machine.system() != 'windows'
'actions' : { 'actions' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'suite' : ['slow'], 'suite' : ['slow'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'fdo-notification-backend': {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'gdbus-auth' : {
'extra_sources' : extra_sources,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'fdo-notification-backend': {},
'gdbus-auth' : {'extra_sources' : extra_sources},
'gdbus-bz627724' : {'extra_sources' : extra_sources}, 'gdbus-bz627724' : {'extra_sources' : extra_sources},
'gdbus-close-pending' : {'extra_sources' : extra_sources}, 'gdbus-close-pending' : {
'extra_sources' : extra_sources,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'gdbus-connection' : { 'gdbus-connection' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-connection-loss' : { 'gdbus-connection-loss' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-connection-slow' : { 'gdbus-connection-slow' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs + ['gdbus-connection-flush-helper'], 'extra_programs': extra_programs + ['gdbus-connection-flush-helper'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu' or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
}, },
'gdbus-error' : {'extra_sources' : extra_sources}, 'gdbus-error' : {'extra_sources' : extra_sources},
'gdbus-exit-on-close' : {'extra_sources' : extra_sources}, 'gdbus-exit-on-close' : {
'extra_sources' : extra_sources,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'gdbus-export' : { 'gdbus-export' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
'suite' : ['slow'], 'suite' : ['slow'],
}, },
'gdbus-introspection' : { 'gdbus-introspection' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'gdbus-method-invocation' : {
'extra_sources' : extra_sources,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-method-invocation' : {'extra_sources' : extra_sources},
'gdbus-names' : { 'gdbus-names' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs' : ['fake-service-name'], 'extra_programs' : ['fake-service-name'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-proxy' : { 'gdbus-proxy' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-proxy-threads' : { 'gdbus-proxy-threads' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'dependencies' : [dbus1_dep], 'dependencies' : [dbus1_dep],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu' or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
}, },
'gdbus-proxy-unique-name' : { 'gdbus-proxy-unique-name' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-proxy-well-known-name' : { 'gdbus-proxy-well-known-name' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-subscribe' : { 'gdbus-subscribe' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-test-codegen' : { 'gdbus-test-codegen' : {
'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info], 'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info],
'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'], 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'],
'suite': ['gdbus-codegen'], 'suite': ['gdbus-codegen'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-threading' : { 'gdbus-threading' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': extra_programs, 'extra_programs': extra_programs,
'suite' : ['slow'], 'suite' : ['slow'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gmenumodel' : { 'gmenumodel' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'suite' : ['slow'], 'suite' : ['slow'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gnotification' : { 'gnotification' : {
'extra_sources' : [extra_sources, 'gnotification-server.c'], 'extra_sources' : [extra_sources, 'gnotification-server.c'],
@ -524,16 +617,22 @@ if host_machine.system() != 'windows'
'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36', 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36',
'-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36'], '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36'],
'suite': ['gdbus-codegen'], 'suite': ['gdbus-codegen'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-test-codegen-min-required-2-64' : { 'gdbus-test-codegen-min-required-2-64' : {
'source' : 'gdbus-test-codegen.c', 'source' : 'gdbus-test-codegen.c',
'extra_sources' : [extra_sources, gdbus_test_codegen_generated_min_required_2_64, gdbus_test_codegen_generated_interface_info], 'extra_sources' : [extra_sources, gdbus_test_codegen_generated_min_required_2_64, gdbus_test_codegen_generated_interface_info],
'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_64'], 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_64'],
'suite': ['gdbus-codegen'], 'suite': ['gdbus-codegen'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gapplication' : { 'gapplication' : {
'extra_sources' : extra_sources, 'extra_sources' : extra_sources,
'extra_programs': ['basic-application'], 'extra_programs': ['basic-application'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
} }
@ -585,6 +684,7 @@ if host_machine.system() != 'windows'
'fake-desktop-portal.c', 'fake-desktop-portal.c',
fake_openuri_portal_generated, fake_openuri_portal_generated,
fake_request_portal_generated], fake_request_portal_generated],
'can_fail': 'thread' in glib_sanitizers,
}, },
} }
endif endif
@ -605,9 +705,13 @@ if host_machine.system() != 'windows'
gio_tests += { gio_tests += {
'gdbus-connection-flush' : { 'gdbus-connection-flush' : {
'extra_sources' : ['test-io-stream.c', 'test-pipe-unix.c'], 'extra_sources' : ['test-io-stream.c', 'test-pipe-unix.c'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'gdbus-non-socket' : { 'gdbus-non-socket' : {
'extra_sources' : ['gdbus-tests.c', 'test-io-stream.c', 'test-pipe-unix.c'], 'extra_sources' : ['gdbus-tests.c', 'test-io-stream.c', 'test-pipe-unix.c'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
} }
@ -623,7 +727,7 @@ if host_machine.system() != 'windows'
'install' : false, 'install' : false,
'depends' : glib_compile_schemas, 'depends' : glib_compile_schemas,
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu'
}, },
} }
endif endif

View File

@ -21,9 +21,12 @@ gi_gen_env_variables = environment()
# Use currently built libraries to run g-ir-scanner and the various tools # Use currently built libraries to run g-ir-scanner and the various tools
# this may not happen if we don't set the library paths. # this may not happen if we don't set the library paths.
gi_gen_env_variables.prepend(glib_exec_var_library_path, # This seems to break thread sanitizer though, so let's ignore it for now.
fs.parent(libglib.full_path()), fs.parent(libgobject.full_path()), if 'thread' not in glib_sanitizers
fs.parent(libgmodule.full_path()), fs.parent(libgio.full_path())) gi_gen_env_variables.prepend(glib_exec_var_library_path,
fs.parent(libglib.full_path()), fs.parent(libgobject.full_path()),
fs.parent(libgmodule.full_path()), fs.parent(libgio.full_path()))
endif
if 'address' in glib_sanitizers if 'address' in glib_sanitizers
gi_gen_env_variables.append('ASAN_OPTIONS', gi_gen_env_variables.append('ASAN_OPTIONS',

View File

@ -81,9 +81,15 @@ glib_tests = {
'link_args' : cc.get_id() == 'gcc' and cc.version().version_compare('> 6') 'link_args' : cc.get_id() == 'gcc' and cc.version().version_compare('> 6')
? ['-Wno-alloc-size-larger-than'] : [], ? ['-Wno-alloc-size-larger-than'] : [],
}, },
'mutex' : {}, 'mutex' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'node' : {}, 'node' : {},
'once' : {}, 'once' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'onceinit' : {}, 'onceinit' : {},
'option-context' : { 'option-context' : {
# musl: /option/arg/repetition/locale should be skipped but it's not. The # musl: /option/arg/repetition/locale should be skipped but it's not. The
@ -103,7 +109,10 @@ glib_tests = {
'queue' : {}, 'queue' : {},
'rand' : {}, 'rand' : {},
'rcbox' : {}, 'rcbox' : {},
'rec-mutex' : {}, 'rec-mutex' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'refcount' : {}, 'refcount' : {},
'refcount-macro' : { 'refcount-macro' : {
'source' : 'refcount.c', 'source' : 'refcount.c',
@ -126,7 +135,9 @@ glib_tests = {
'slist' : {}, 'slist' : {},
'sort' : {}, 'sort' : {},
'spawn-multithreaded' : { 'spawn-multithreaded' : {
'can_fail': glib_build_static and host_system == 'windows', 'can_fail': glib_build_static and host_system == 'windows' or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
'suite': host_system == 'windows' ? ['flaky'] : [], 'suite': host_system == 'windows' ? ['flaky'] : [],
'extra_programs' : ['test-spawn-echo'] + ( 'extra_programs' : ['test-spawn-echo'] + (
host_machine.system() == 'windows' ? ['test-spawn-sleep'] : []), host_machine.system() == 'windows' ? ['test-spawn-sleep'] : []),
@ -162,9 +173,15 @@ glib_tests = {
'testing-nonfatal' : { 'testing-nonfatal' : {
'protocol' : 'exitcode' 'protocol' : 'exitcode'
}, },
'test-printf' : {}, 'test-printf' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'thread' : {}, 'thread' : {},
'thread-deprecated' : {}, 'thread-deprecated' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'thread-pool' : {}, 'thread-pool' : {},
'thread-pool-slow' : {'suite' : ['slow']}, 'thread-pool-slow' : {'suite' : ['slow']},
'timeout' : {}, 'timeout' : {},
@ -185,12 +202,17 @@ glib_tests = {
'unicode-encoding' : {}, 'unicode-encoding' : {},
'unicode-normalize': {}, 'unicode-normalize': {},
'uri' : {}, 'uri' : {},
'1bit-mutex' : {}, '1bit-mutex' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'1bit-emufutex' : { '1bit-emufutex' : {
'source' : '1bit-mutex.c', 'source' : '1bit-mutex.c',
'c_args' : ['-DTEST_EMULATED_FUTEX'], 'c_args' : ['-DTEST_EMULATED_FUTEX'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3359 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3359
'can_fail': 'undefined' in glib_sanitizers, 'can_fail': 'undefined' in glib_sanitizers or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
'install' : false, 'install' : false,
'suite' : ['slow'], 'suite' : ['slow'],
}, },
@ -525,6 +547,8 @@ if 'messages-low-memory' in test_extra_programs
python_tests += { python_tests += {
'messages-low-memory.py' : { 'messages-low-memory.py' : {
'extra_programs': ['messages-low-memory'], 'extra_programs': ['messages-low-memory'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
} }
endif endif

View File

@ -57,7 +57,10 @@ gobject_tests = {
'custom-dispatch' : { 'custom-dispatch' : {
'extra_objs' : extra_custom_dispatch_objs, 'extra_objs' : extra_custom_dispatch_objs,
}, },
'qdata' : {}, 'qdata' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'accumulator' : { 'accumulator' : {
'source' : ['accumulator.c', marshalers_h, marshalers_c], 'source' : ['accumulator.c', marshalers_h, marshalers_c],
}, },
@ -78,15 +81,29 @@ gobject_tests = {
'references' : {}, 'references' : {},
'basic-signals' : {}, 'basic-signals' : {},
'singleton' : {}, 'singleton' : {},
'threadtests' : {}, 'threadtests' : {
'dynamictests' : {}, # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'binding' : {}, 'can_fail': 'thread' in glib_sanitizers,
},
'dynamictests' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'binding' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'bindinggroup' : {}, 'bindinggroup' : {},
'properties' : {}, 'properties' : {},
'properties-introspection' : {}, 'properties-introspection' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'reference' : { 'reference' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
'can_fail' : host_system == 'gnu', 'can_fail' : host_system == 'gnu' or
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'thread' in glib_sanitizers,
}, },
'flags' : {}, 'flags' : {},
'value' : {}, 'value' : {},
@ -95,7 +112,11 @@ gobject_tests = {
'source' : 'private.c', 'source' : 'private.c',
}, },
'closure' : {}, 'closure' : {},
'closure-refcount' : { 'suite': ['slow'] }, 'closure-refcount' : {
'suite': ['slow'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'object' : {}, 'object' : {},
'signal-handler' : {}, 'signal-handler' : {},
'ifaceproperties' : {}, 'ifaceproperties' : {},
@ -113,17 +134,28 @@ gobject_tests = {
]), ]),
}, },
'objects-refcount2' : {'suite' : ['slow']}, 'objects-refcount2' : {'suite' : ['slow']},
'properties-refcount1' : {}, 'properties-refcount1' : {
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'properties-refcount2' : {'suite' : ['slow']}, 'properties-refcount2' : {'suite' : ['slow']},
'properties-refcount3' : {'suite' : ['slow']}, 'properties-refcount3' : {
'suite' : ['slow'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
},
'properties-refcount4' : {}, 'properties-refcount4' : {},
'signals-refcount1' : { 'signals-refcount1' : {
'source' : 'signals-refcount.c', 'source' : 'signals-refcount.c',
'c_args' : ['-DTESTNUM=1'], 'c_args' : ['-DTESTNUM=1'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'signals-refcount2' : { 'signals-refcount2' : {
'source' : 'signals-refcount.c', 'source' : 'signals-refcount.c',
'c_args' : ['-DTESTNUM=2'], 'c_args' : ['-DTESTNUM=2'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
'signals-refcount3' : { 'signals-refcount3' : {
'source' : 'signals-refcount.c', 'source' : 'signals-refcount.c',
@ -132,6 +164,8 @@ gobject_tests = {
'signals-refcount4' : { 'signals-refcount4' : {
'source' : 'signals-refcount.c', 'source' : 'signals-refcount.c',
'c_args' : ['-DTESTNUM=4'], 'c_args' : ['-DTESTNUM=4'],
# FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1672
'can_fail': 'thread' in glib_sanitizers,
}, },
} }

View File

@ -30,6 +30,6 @@ test(
python, python,
args : ['-B', files('check-missing-install-tag.py')], args : ['-B', files('check-missing-install-tag.py')],
env : test_env, env : test_env,
suite : ['lint', 'no-valgrind'], suite : ['lint', 'no-valgrind', 'no-tsan'],
protocol : 'tap', protocol : 'tap',
) )