From 63d88ed5bfcf81964e0c3492d28440f92ca01ee3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Tue, 9 Aug 2022 13:51:33 +0300 Subject: [PATCH] [libcxx] [test] Split the TEST_HAS_SANITIZERS define into TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT This makes its role clearer. It's plausible that one may want to manually define TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT when running the tests in some environments - in particular, it seems to be necessary to use the higher tolerance timeouts if running the tests on Windows runners on Github Actions. Also add the descriptive comment in one file where it was missing. Differential Revision: https://reviews.llvm.org/D131484 --- .../thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp | 2 +- .../thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp | 2 +- .../thread.shared_mutex.class/lock.pass.cpp | 2 +- .../thread.shared_mutex.class/lock_shared.pass.cpp | 2 +- .../thread.sharedtimedmutex.class/try_lock_for.pass.cpp | 2 +- .../thread.sharedtimedmutex.class/try_lock_shared.pass.cpp | 5 ++++- .../thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp | 2 +- .../thread.sharedtimedmutex.class/try_lock_until.pass.cpp | 2 +- libcxx/test/support/test_macros.h | 1 + 9 files changed, 12 insertions(+), 8 deletions(-) diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp index 09bdb83..c5536d8 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp @@ -42,7 +42,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp index e633251..1bc131a 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp @@ -41,7 +41,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(25); #else ms Tolerance = ms(25 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp index 08257e4..24a52ae 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp @@ -41,7 +41,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp index c838773..3f5a064 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp @@ -42,7 +42,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp index f4a610c..fd08a2e 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp @@ -42,7 +42,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp index fdf5899..5b0b6dc 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp @@ -38,7 +38,10 @@ typedef std::chrono::milliseconds ms; typedef std::chrono::nanoseconds ns; -#if !defined(TEST_HAS_SANITIZERS) +// Thread sanitizer causes more overhead and will sometimes cause this test +// to fail. To prevent this we give Thread sanitizer more time to complete the +// test. +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(200); #else ms Tolerance = ms(200 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp index 2cfaa79..c652e20 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp @@ -43,7 +43,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp index 19d03a8..5ac3cfb 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp @@ -43,7 +43,7 @@ ms WaitTime = ms(250); // Thread sanitizer causes more overhead and will sometimes cause this test // to fail. To prevent this we give Thread sanitizer more time to complete the // test. -#if !defined(TEST_HAS_SANITIZERS) +#if !defined(TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT) ms Tolerance = ms(50); #else ms Tolerance = ms(50 * 5); diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h index 8162f0f..e3d1590 100644 --- a/libcxx/test/support/test_macros.h +++ b/libcxx/test/support/test_macros.h @@ -193,6 +193,7 @@ #if TEST_HAS_FEATURE(address_sanitizer) || TEST_HAS_FEATURE(hwaddress_sanitizer) || \ TEST_HAS_FEATURE(memory_sanitizer) || TEST_HAS_FEATURE(thread_sanitizer) #define TEST_HAS_SANITIZERS +#define TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT #endif #if defined(_LIBCPP_NORETURN) -- 2.7.4