mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-28 08:26:14 +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);
|
thread1 = g_thread_create (thread1_main, closure, TRUE, NULL);
|
||||||
thread2 = g_thread_create (thread2_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++)
|
for (i = 0; i < 1000000; i++)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
static guint count = 0;
|
static guint count = 0;
|
||||||
test_emissions (object);
|
test_emissions (object);
|
||||||
|
@ -54,6 +54,13 @@ foreach test_name, extra_args : refcount_tests
|
|||||||
|
|
||||||
suite = ['refcount'] + extra_args.get('suite', [])
|
suite = ['refcount'] + extra_args.get('suite', [])
|
||||||
timeout = suite.contains('slow') ? test_timeout_slow : test_timeout
|
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
|
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
||||||
test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
|
test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
|
||||||
endforeach
|
endforeach
|
||||||
|
Loading…
Reference in New Issue
Block a user