]>
git.proxmox.com Git - ceph.git/blob - ceph/src/test/common/test_mutex.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph - scalable distributed file system
8 #include <common/Mutex.h>
9 #include "gtest/gtest.h"
10 #include "common/ceph_context.h"
11 #include "common/config.h"
12 #include "include/coredumpctl.h"
14 static CephContext
* cct
;
16 static void do_init() {
18 cct
= new CephContext(0);
19 lockdep_register_ceph_context(cct
);
23 static void disable_lockdep() {
25 lockdep_unregister_ceph_context(cct
);
31 TEST(Mutex
, NormalAsserts
) {
32 Mutex
* m
= new Mutex("Normal",false);
34 testing::GTEST_FLAG(death_test_style
) = "threadsafe";
35 EXPECT_DEATH(m
->Lock(), ".*");
38 TEST(Mutex
, RecursiveWithLockdep
) {
40 Mutex
* m
= new Mutex("Recursive1",true);
48 TEST(Mutex
, RecursiveWithoutLockdep
) {
50 Mutex
* m
= new Mutex("Recursive2",true);
58 TEST(Mutex
, DeleteLocked
) {
59 Mutex
* m
= new Mutex("Recursive3",false);
62 EXPECT_DEATH(delete m
,".*");