blob: a274f3a16e3c8233e3d032e87a84279950383545 [file] [log] [blame]
Patrick Williams864cc432023-02-09 14:54:44 -06001From 225abf37cd0b49960664b59f08e515a4c4ea5ad0 Mon Sep 17 00:00:00 2001
Andrew Geissler82c905d2020-04-13 13:39:40 -05002From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Thu, 26 Mar 2020 18:30:36 +0000
4Subject: [PATCH] Add option to disable timed dependant tests
5
Patrick Williams864cc432023-02-09 14:54:44 -06006The disabled tests rely on timing to pass correctly. On a virtualized
Andrew Geissler82c905d2020-04-13 13:39:40 -05007system under heavy load, these tests randomly fail because they miss
8a timer or other timing related issues.
9
10Upstream-Status: Pending
11Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Patrick Williams864cc432023-02-09 14:54:44 -060012
Andrew Geissler82c905d2020-04-13 13:39:40 -050013---
14 configure.in | 6 ++++++
15 include/apr.h.in | 1 +
16 test/testlock.c | 4 ++--
17 3 files changed, 9 insertions(+), 2 deletions(-)
18
19diff --git a/configure.in b/configure.in
Patrick Williams864cc432023-02-09 14:54:44 -060020index bfd488b..3663220 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -050021--- a/configure.in
22+++ b/configure.in
Patrick Williams864cc432023-02-09 14:54:44 -060023@@ -3023,6 +3023,12 @@ AC_ARG_ENABLE(timedlocks,
Andrew Geissler82c905d2020-04-13 13:39:40 -050024 )
25 AC_SUBST(apr_has_timedlocks)
26
27+AC_ARG_ENABLE(timed-tests,
28+ [ --disable-timed-tests Disable timed tests ],
29+ [apr_has_timedtests="0"], [apr_has_timedtests="1"]
30+)
31+AC_SUBST(apr_has_timedtests)
32+
33 # hstrerror is only needed if IPv6 is not enabled,
34 # so getaddrinfo/gai_strerror are not used.
35 if test $have_ipv6 = 0; then
36diff --git a/include/apr.h.in b/include/apr.h.in
37index ee99def..c46a5f4 100644
38--- a/include/apr.h.in
39+++ b/include/apr.h.in
40@@ -298,6 +298,7 @@ extern "C" {
41 #define APR_HAS_XTHREAD_FILES @apr_has_xthread_files@
42 #define APR_HAS_OS_UUID @osuuid@
43 #define APR_HAS_TIMEDLOCKS @apr_has_timedlocks@
44+#define APR_HAVE_TIME_DEPENDANT_TESTS @apr_has_timedtests@
45
46 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD @apr_procattr_user_set_requires_password@
47
48diff --git a/test/testlock.c b/test/testlock.c
Patrick Williams864cc432023-02-09 14:54:44 -060049index e3437c1..04e01b9 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -050050--- a/test/testlock.c
51+++ b/test/testlock.c
Patrick Williams864cc432023-02-09 14:54:44 -060052@@ -535,7 +535,7 @@ abts_suite *testlock(abts_suite *suite)
Andrew Geissler82c905d2020-04-13 13:39:40 -050053 abts_run_test(suite, threads_not_impl, NULL);
54 #else
55 abts_run_test(suite, test_thread_mutex, NULL);
56-#if APR_HAS_TIMEDLOCKS
57+#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS
58 abts_run_test(suite, test_thread_timedmutex, NULL);
59 #endif
Patrick Williams864cc432023-02-09 14:54:44 -060060 abts_run_test(suite, test_thread_nestedmutex, NULL);
61@@ -543,7 +543,7 @@ abts_suite *testlock(abts_suite *suite)
Andrew Geissler82c905d2020-04-13 13:39:40 -050062 abts_run_test(suite, test_thread_rwlock, NULL);
63 abts_run_test(suite, test_cond, NULL);
64 abts_run_test(suite, test_timeoutcond, NULL);
65-#if APR_HAS_TIMEDLOCKS
66+#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS
67 abts_run_test(suite, test_timeoutmutex, NULL);
68 #endif
Patrick Williams864cc432023-02-09 14:54:44 -060069 #ifdef WIN32