mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 16:06:16 +01:00
Merge branch 'arm-closures-timeout' into 'master'
closures test: Avoid timeout on ARM64 CPUs See merge request GNOME/glib!451 Reviewed-by: pwithnall
This commit is contained in:
commit
54549b7e43
@ -259,7 +259,19 @@ main (int argc,
|
||||
thread1 = g_thread_create (thread1_main, closure, TRUE, NULL);
|
||||
thread2 = g_thread_create (thread2_main, closure, TRUE, NULL);
|
||||
|
||||
/* The 16-bit compare-and-swap operations currently used for closure
|
||||
* refcounts are really slow on some ARM CPUs, notably Cortex-A57.
|
||||
* Reduce the number of iterations so that the test completes in a
|
||||
* finite time, but don't reduce it so much that the main thread
|
||||
* starves the other threads and causes a test failure.
|
||||
*
|
||||
* https://gitlab.gnome.org/GNOME/glib/issues/1316
|
||||
* aka https://bugs.debian.org/880883 */
|
||||
#if defined(__aarch64__) || defined(__arm__)
|
||||
for (i = 0; i < 100000; i++)
|
||||
#else
|
||||
for (i = 0; i < 1000000; i++)
|
||||
#endif
|
||||
{
|
||||
static guint count = 0;
|
||||
test_emissions (object);
|
||||
|
@ -54,6 +54,13 @@ foreach test_name, extra_args : refcount_tests
|
||||
|
||||
suite = ['refcount'] + extra_args.get('suite', [])
|
||||
timeout = suite.contains('slow') ? test_timeout_slow : test_timeout
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/glib/issues/1316
|
||||
# aka https://bugs.debian.org/880883
|
||||
if test_name == 'closures' and ['arm', 'aarch64'].contains(host_cpu_family)
|
||||
timeout = timeout * 10
|
||||
endif
|
||||
|
||||
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
||||
test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
|
||||
endforeach
|
||||
|
Loading…
Reference in New Issue
Block a user