Fix the Mac build, and clean up some test-only code.
Change-Id: Ie0acf7ac5e99153d153a0d5f40e9b69cecb4942b
diff --git a/src/mutex_test.cc b/src/mutex_test.cc
index 2099951..b59b305 100644
--- a/src/mutex_test.cc
+++ b/src/mutex_test.cc
@@ -20,48 +20,56 @@
namespace art {
+#if !defined(__APPLE__)
+struct MutexTester {
+ static void AssertDepth(Mutex& mu, uint32_t expected_depth) {
+ ASSERT_EQ(expected_depth, mu.GetDepth());
+ }
+};
+
TEST(Mutex, LockUnlock) {
Mutex mu("test mutex");
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
mu.Lock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.Unlock();
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
}
TEST(Mutex, TryLockUnlock) {
Mutex mu("test mutex");
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
mu.TryLock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.Unlock();
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
}
TEST(Mutex, RecursiveLockUnlock) {
Mutex mu("test mutex");
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
mu.Lock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.Lock();
- mu.AssertDepth(2U);
+ MutexTester::AssertDepth(mu, 2U);
mu.Unlock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.Unlock();
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
}
TEST(Mutex, RecursiveTryLockUnlock) {
Mutex mu("test mutex");
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
mu.TryLock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.TryLock();
- mu.AssertDepth(2U);
+ MutexTester::AssertDepth(mu, 2U);
mu.Unlock();
- mu.AssertDepth(1U);
+ MutexTester::AssertDepth(mu, 1U);
mu.Unlock();
- mu.AssertDepth(0U);
+ MutexTester::AssertDepth(mu, 0U);
}
+#endif
} // namespace art