]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/librbd/test_main.cc
82b72b1ef7e85e424764faa89b8043e2ad9f958b
[ceph.git] / ceph / src / test / librbd / test_main.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #include "include/rados/librados.hpp"
5 #include "global/global_context.h"
6 #include "test/librados/test.h"
7 #include "test/librados/test_cxx.h"
8 #include "gtest/gtest.h"
9 #include <iostream>
10 #include <string>
11
12 extern void register_test_librbd();
13 #ifdef TEST_LIBRBD_INTERNALS
14 extern void register_test_deep_copy();
15 extern void register_test_groups();
16 extern void register_test_image_watcher();
17 extern void register_test_internal();
18 extern void register_test_journal_entries();
19 extern void register_test_journal_replay();
20 extern void register_test_journal_stress();
21 extern void register_test_migration();
22 extern void register_test_mirroring();
23 extern void register_test_mirroring_watcher();
24 extern void register_test_object_map();
25 extern void register_test_operations();
26 extern void register_test_trash();
27 #endif // TEST_LIBRBD_INTERNALS
28
29 int main(int argc, char **argv)
30 {
31 setenv("RBD_FORCE_ALLOW_V1","1",1);
32
33 register_test_librbd();
34 #ifdef TEST_LIBRBD_INTERNALS
35 register_test_deep_copy();
36 register_test_groups();
37 register_test_image_watcher();
38 register_test_internal();
39 register_test_journal_entries();
40 register_test_journal_replay();
41 register_test_journal_stress();
42 register_test_migration();
43 register_test_mirroring();
44 register_test_mirroring_watcher();
45 register_test_object_map();
46 register_test_operations();
47 register_test_trash();
48 #endif // TEST_LIBRBD_INTERNALS
49
50 ::testing::InitGoogleTest(&argc, argv);
51
52 librados::Rados rados;
53 std::string result = connect_cluster_pp(rados);
54 if (result != "" ) {
55 std::cerr << result << std::endl;
56 return 1;
57 }
58
59 #ifdef TEST_LIBRBD_INTERNALS
60 g_ceph_context = reinterpret_cast<CephContext*>(rados.cct());
61 #endif // TEST_LIBRBD_INTERNALS
62
63 int r = rados.conf_set("lockdep", "true");
64 if (r < 0) {
65 std::cerr << "warning: failed to enable lockdep" << std::endl;
66 }
67
68 int seed = getpid();
69 std::cout << "seed " << seed << std::endl;
70 srand(seed);
71
72 return RUN_ALL_TESTS();
73 }