summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/tests/sanitizer_mutex_test.cc
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-03-11 15:45:20 +0000
committerAlexey Samsonov <samsonov@google.com>2013-03-11 15:45:20 +0000
commitce700979f644c790c2d9d80f5cc2a1ada0380284 (patch)
treed6976fafd76beffd00e29ec8005fa20377e51132 /lib/sanitizer_common/tests/sanitizer_mutex_test.cc
parentc1b73e84db2f9f62633ee52b13cd1f83ef2fbe99 (diff)
[Sanitizer] Implement BlockingMutex::CheckLocked()
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176805 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/tests/sanitizer_mutex_test.cc')
-rw-r--r--lib/sanitizer_common/tests/sanitizer_mutex_test.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/sanitizer_common/tests/sanitizer_mutex_test.cc b/lib/sanitizer_common/tests/sanitizer_mutex_test.cc
index 6bb2ae29a..1dc9bef20 100644
--- a/lib/sanitizer_common/tests/sanitizer_mutex_test.cc
+++ b/lib/sanitizer_common/tests/sanitizer_mutex_test.cc
@@ -92,6 +92,12 @@ static void *try_thread(void *param) {
return 0;
}
+template<typename MutexType>
+static void check_locked(MutexType *mtx) {
+ GenericScopedLock<MutexType> l(mtx);
+ mtx->CheckLocked();
+}
+
TEST(SanitizerCommon, SpinMutex) {
SpinMutex mtx;
mtx.Init();
@@ -123,6 +129,7 @@ TEST(SanitizerCommon, BlockingMutex) {
pthread_create(&threads[i], 0, lock_thread<BlockingMutex>, &data);
for (int i = 0; i < kThreads; i++)
pthread_join(threads[i], 0);
+ check_locked(mtx);
}
} // namespace __sanitizer