Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | From 2bbe20b4f69e84e7a18bc79d382486953f479328 Mon Sep 17 00:00:00 2001 |
| 2 | From: Jeremy Puhlman <jpuhlman@mvista.com> |
| 3 | Date: Thu, 26 Mar 2020 18:30:36 +0000 |
| 4 | Subject: [PATCH] Add option to disable timed dependant tests |
| 5 | |
| 6 | The disabled tests rely on timing to pass correctly. On a virtualized |
| 7 | system under heavy load, these tests randomly fail because they miss |
| 8 | a timer or other timing related issues. |
| 9 | |
| 10 | Upstream-Status: Pending |
| 11 | Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> |
| 12 | --- |
| 13 | configure.in | 6 ++++++ |
| 14 | include/apr.h.in | 1 + |
| 15 | test/testlock.c | 4 ++-- |
| 16 | 3 files changed, 9 insertions(+), 2 deletions(-) |
| 17 | |
| 18 | diff --git a/configure.in b/configure.in |
| 19 | index d9f32d6..f0c5661 100644 |
| 20 | --- a/configure.in |
| 21 | +++ b/configure.in |
| 22 | @@ -2886,6 +2886,12 @@ AC_ARG_ENABLE(timedlocks, |
| 23 | ) |
| 24 | AC_SUBST(apr_has_timedlocks) |
| 25 | |
| 26 | +AC_ARG_ENABLE(timed-tests, |
| 27 | + [ --disable-timed-tests Disable timed tests ], |
| 28 | + [apr_has_timedtests="0"], [apr_has_timedtests="1"] |
| 29 | +) |
| 30 | +AC_SUBST(apr_has_timedtests) |
| 31 | + |
| 32 | # hstrerror is only needed if IPv6 is not enabled, |
| 33 | # so getaddrinfo/gai_strerror are not used. |
| 34 | if test $have_ipv6 = 0; then |
| 35 | diff --git a/include/apr.h.in b/include/apr.h.in |
| 36 | index ee99def..c46a5f4 100644 |
| 37 | --- a/include/apr.h.in |
| 38 | +++ b/include/apr.h.in |
| 39 | @@ -298,6 +298,7 @@ extern "C" { |
| 40 | #define APR_HAS_XTHREAD_FILES @apr_has_xthread_files@ |
| 41 | #define APR_HAS_OS_UUID @osuuid@ |
| 42 | #define APR_HAS_TIMEDLOCKS @apr_has_timedlocks@ |
| 43 | +#define APR_HAVE_TIME_DEPENDANT_TESTS @apr_has_timedtests@ |
| 44 | |
| 45 | #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD @apr_procattr_user_set_requires_password@ |
| 46 | |
| 47 | diff --git a/test/testlock.c b/test/testlock.c |
| 48 | index a43f477..6233d0b 100644 |
| 49 | --- a/test/testlock.c |
| 50 | +++ b/test/testlock.c |
| 51 | @@ -396,13 +396,13 @@ abts_suite *testlock(abts_suite *suite) |
| 52 | abts_run_test(suite, threads_not_impl, NULL); |
| 53 | #else |
| 54 | abts_run_test(suite, test_thread_mutex, NULL); |
| 55 | -#if APR_HAS_TIMEDLOCKS |
| 56 | +#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS |
| 57 | abts_run_test(suite, test_thread_timedmutex, NULL); |
| 58 | #endif |
| 59 | abts_run_test(suite, test_thread_rwlock, NULL); |
| 60 | abts_run_test(suite, test_cond, NULL); |
| 61 | abts_run_test(suite, test_timeoutcond, NULL); |
| 62 | -#if APR_HAS_TIMEDLOCKS |
| 63 | +#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS |
| 64 | abts_run_test(suite, test_timeoutmutex, NULL); |
| 65 | #endif |
| 66 | #endif |
| 67 | -- |
| 68 | 2.23.0 |
| 69 | |