]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/test_workqueue.cc
buildsys: switch source download to quincy
[ceph.git] / ceph / src / test / test_workqueue.cc
CommitLineData
7c673cae
FG
1#include "gtest/gtest.h"
2
3#include "common/WorkQueue.h"
4#include "common/ceph_argparse.h"
5
6TEST(WorkQueue, StartStop)
7{
8 ThreadPool tp(g_ceph_context, "foo", "tp_foo", 10, "");
9
10 tp.start();
11 tp.pause();
12 tp.pause_new();
13 tp.unpause();
14 tp.unpause();
15 tp.drain();
16 tp.stop();
17}
18
19TEST(WorkQueue, Resize)
20{
11fdf7f2 21 ThreadPool tp(g_ceph_context, "bar", "tp_bar", 2, "filestore_op_threads");
7c673cae
FG
22
23 tp.start();
24
25 sleep(1);
26 ASSERT_EQ(2, tp.get_num_threads());
27
11fdf7f2
TL
28 g_conf().set_val("filestore op threads", "5");
29 g_conf().apply_changes(&cout);
7c673cae
FG
30 sleep(1);
31 ASSERT_EQ(5, tp.get_num_threads());
32
11fdf7f2
TL
33 g_conf().set_val("filestore op threads", "3");
34 g_conf().apply_changes(&cout);
7c673cae
FG
35 sleep(1);
36 ASSERT_EQ(3, tp.get_num_threads());
37
11fdf7f2
TL
38 g_conf().set_val("filestore op threads", "0");
39 g_conf().apply_changes(&cout);
7c673cae
FG
40 sleep(1);
41 ASSERT_EQ(0, tp.get_num_threads());
42
11fdf7f2
TL
43 g_conf().set_val("filestore op threads", "15");
44 g_conf().apply_changes(&cout);
7c673cae
FG
45 sleep(1);
46 ASSERT_EQ(15, tp.get_num_threads());
47
11fdf7f2
TL
48 g_conf().set_val("filestore op threads", "-1");
49 g_conf().apply_changes(&cout);
7c673cae
FG
50 sleep(1);
51 ASSERT_EQ(15, tp.get_num_threads());
52
53 sleep(1);
54 tp.stop();
55}