glib/tests
Simon McVittie cb98e37357 closures test: Avoid timeout on ARM64 CPUs
Closures use a 16-bit atomic reference count, which is really slow
on certain ARM64 CPUs such as the Cortex-A57 (glib#1316). This is
non-trivial to solve, since the public struct field cannot be enlarged
to 32-bit while preserving ABI, and 16-bit atomic operations would be new
(and rather niche) API.

Until this can be solved properly (hopefully in GLib 2.59.x), cut down
the number of signal emission cycles and bump up the timeout in the
Meson build system, so that builds won't time out. We can't just take
another zero off the number of signal emission cycles, as was done in the
original version of this patch in Debian, because if we do that it can
result in test failures when the main thread starves the other threads.

ARM64 CPUs are backwards-compatible with 32-bit ARM, and the same
slowdown can be seen when building and testing 32-bit code on these
CPUs, so check for both 32- and 64-bit ARM.

Bug-Debian: https://bugs.debian.org/880883
Co-authored-by: Iain Lane <laney@debian.org>
Signed-off-by: Simon McVittie <smcv@debian.org>
2018-11-06 13:48:34 +00:00
..
collate Add Collation tests. 2005-10-05 17:37:46 +00:00
gobject meson: Centralize test timeout values 2018-11-01 19:13:21 +00:00
refcount closures test: Avoid timeout on ARM64 CPUs 2018-11-06 13:48:34 +00:00
.gitignore build: Drop nmake/MSC build system for GLib 2017-07-10 11:22:40 +01:00
assert-msg-test.c Use (void) for no parameters, not () 2012-11-01 20:12:02 -04:00
assert-msg-test.gdb tests: Work around a gdb bug in assert-msg-test 2017-11-27 11:44:08 +00:00
asyncqueue-test.c tests: replace most g_print() with g_printerr() 2015-05-11 20:24:56 +01:00
atomic-test.c Remove deprecated atomic functions from tests 2011-06-06 00:30:02 -04:00
bit-test.c all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
casefold.txt unicode: Update test data files for unicode 11.0.0 2018-07-18 14:26:51 +02:00
casemap.txt unicode: Update test data files for unicode 11.0.0 2018-07-18 14:26:51 +02:00
child-test.c all: Remove trailing newlines from g_message()/g_warning()/g_error()s 2018-04-27 16:46:19 +01:00
completion-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
cxx-test.cpp Rename cxx-test.C to cxx-test.cpp 2018-09-21 08:45:54 -04:00
datetime.c Revert "gdatetime: Enable compile time check of g_date_time_format() format" 2018-11-01 16:12:32 +00:00
dirname-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
env-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
file-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
gen-casefold-txt.py tests: Port gen-casefold-txt.pl and gen-casemap-txt.pl to Python 3. See #1332 2018-06-12 22:18:03 +02:00
gen-casemap-txt.py tests: Port gen-casefold-txt.pl and gen-casemap-txt.pl to Python 3. See #1332 2018-06-12 22:18:03 +02:00
gio-test.c tests W32: Fix Windows values casting 2018-09-21 08:45:54 -04:00
iochannel-test-infile Modified Files: glib/ChangeLog glib/glib.def glib/glib/giochannel.c 2001-07-20 20:14:37 +00:00
iochannel-test.c iochannel-test: Fix leaks in test 2013-11-10 22:45:04 +01:00
libmoduletestplugin_a.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
libmoduletestplugin_b.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
mainloop-test.c mainloop-test: Fix race conditions 2018-10-30 00:55:14 +01:00
Makefile.am Rename cxx-test.C to cxx-test.cpp 2018-09-21 08:45:54 -04:00
mapping-test.c tests W32: ifdef a variable not used on Windows 2018-09-21 08:45:54 -04:00
memchunks.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
meson.build meson: Centralize test timeout values 2018-11-01 19:13:21 +00:00
module-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
onceinit.c Remove a bunch of lingering g_thread_init() 2013-05-31 23:03:19 -04:00
qsort-test.c win32: misc warning fixes 2012-11-15 14:19:06 -05:00
relation-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
run-assert-msg-test.sh tests: fix a few recently-broken tests 2013-05-21 11:21:36 -03:00
run-collate-tests.sh Silently skip tests if we can't set LC_COLLATE to en_US. (#336438) 2006-12-24 21:47:05 +00:00
slice-color.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
slice-concurrent.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
slice-test.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
slice-threadinit.c Fix make check 2011-05-01 17:10:04 -04:00
sources.c tests/: LGPLv2+ -> LGPLv2.1+ 2017-05-29 19:53:35 +02:00
spawn-test-win32-gui.c Consistently save errno immediately after the operation setting it 2017-08-03 10:21:13 +01:00
spawn-test.c Consistently save errno immediately after the operation setting it 2017-08-03 10:21:13 +01:00
testgdate.c Try to make the testgdate test hobble along a little longer 2013-06-17 12:40:47 -04:00
testgdateparser.c Use 'dumb quotes' rather than `really dumb quotes' 2013-05-21 11:23:22 -03:00
testglib.c test_paths: Reindent to avoid tripping -Wmisleading-indentation 2018-05-30 10:07:35 +01:00
thread-test.c thread-test: Fix leaks in tests 2013-11-10 22:44:12 +01:00
threadpool-test.c threadpool-test: Fix leaks in tests 2013-11-11 17:37:48 +01:00
timeloop-basic.c Replace all instances of ssize_t with gssize 2017-10-11 12:56:11 +01:00
timeloop.c Consistently save errno immediately after the operation setting it 2017-08-03 10:21:13 +01:00
type-test.c tests W32: ugly fix for sscanf() format 2018-09-21 08:45:54 -04:00
unicode-caseconv.c tests: Port gen-casefold-txt.pl and gen-casemap-txt.pl to Python 3. See #1332 2018-06-12 22:18:03 +02:00
unicode-collate.c build: Add missing "static" keyword where it should be used 2012-11-01 20:12:01 -04:00
unicode-encoding.c Tests: Mark printf wrappers with G_GNUC_PRINTF 2018-09-27 09:21:32 +01:00
unicode-normalize.c Update to reflect Unicode PR #29 (#348694, Nikolai Weibull) 2006-07-31 04:50:05 +00:00
utf8.txt More clean up for Unicode corrigendum #9 2013-03-18 23:28:27 -04:00