// // Copyright 2023 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // Unit tests for ContextMutex. // #include "gtest/gtest.h" #include "libANGLE/ContextMutex.h" namespace { template <class GetContextMutex> void runBasicContextMutexTest(bool expectToPass, GetContextMutex &&getContextMutex) { … } // Tests locking of single ContextMutex mutex. TEST(ContextMutexTest, SingleMutexLock) { … } // Tests locking of multiple merged ContextMutex mutexes. TEST(ContextMutexTest, MultipleMergedMutexLock) { … } // Tests locking of multiple unmerged ContextMutex mutexes. TEST(ContextMutexTest, MultipleUnmergedMutexLock) { … } // Creates 2N mutexes and 2 threads, then merges N mutex pairs in each thread. Merging order of // the first thread is reversed in the second thread. TEST(ContextMutexTest, TwoThreadsCrossMerge) { … } } // anonymous namespace