MCPcopy Create free account
hub / github.com/apache/brpc / TEST_F

Function TEST_F

test/bvar_status_unittest.cpp:41–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39};
40
41TEST_F(StatusTest, status) {
42 bvar::Status<std::string> st1;
43 st1.set_value("hello %d", 9);
44#ifdef BAIDU_INTERNAL
45 boost::any v1;
46 st1.get_value(&v1);
47 ASSERT_EQ("hello 9", boost::any_cast<std::string>(v1));
48#endif
49 ASSERT_EQ(0, st1.expose("var1"));
50 ASSERT_EQ("hello 9", bvar::Variable::describe_exposed("var1"));
51 ASSERT_EQ("\"hello 9\"", bvar::Variable::describe_exposed("var1", true));
52 std::vector<std::string> vars;
53 bvar::Variable::list_exposed(&vars);
54 ASSERT_EQ(1UL, vars.size());
55 ASSERT_EQ("var1", vars[0]);
56 ASSERT_EQ(1UL, bvar::Variable::count_exposed());
57
58 bvar::Status<std::string> st2;
59 st2.set_value("world %d", 10);
60 ASSERT_EQ(-1, st2.expose("var1"));
61 ASSERT_EQ(1UL, bvar::Variable::count_exposed());
62 ASSERT_EQ("world 10", st2.get_description());
63 ASSERT_EQ("hello 9", bvar::Variable::describe_exposed("var1"));
64 ASSERT_EQ(1UL, bvar::Variable::count_exposed());
65
66 ASSERT_TRUE(st1.hide());
67 ASSERT_EQ(0UL, bvar::Variable::count_exposed());
68 ASSERT_EQ("", bvar::Variable::describe_exposed("var1"));
69 ASSERT_EQ(0, st1.expose("var1"));
70 ASSERT_EQ(1UL, bvar::Variable::count_exposed());
71 ASSERT_EQ("hello 9",
72 bvar::Variable::describe_exposed("var1"));
73
74 ASSERT_EQ(0, st2.expose("var2"));
75 ASSERT_EQ(2UL, bvar::Variable::count_exposed());
76 ASSERT_EQ("hello 9", bvar::Variable::describe_exposed("var1"));
77 ASSERT_EQ("world 10", bvar::Variable::describe_exposed("var2"));
78 bvar::Variable::list_exposed(&vars);
79 ASSERT_EQ(2UL, vars.size());
80 ASSERT_EQ("var1", vars[0]);
81 ASSERT_EQ("var2", vars[1]);
82
83 ASSERT_TRUE(st2.hide());
84 ASSERT_EQ(1UL, bvar::Variable::count_exposed());
85 ASSERT_EQ("", bvar::Variable::describe_exposed("var2"));
86 bvar::Variable::list_exposed(&vars);
87 ASSERT_EQ(1UL, vars.size());
88 ASSERT_EQ("var1", vars[0]);
89
90 st2.expose("var2 again");
91 ASSERT_EQ("world 10", bvar::Variable::describe_exposed("var2_again"));
92 bvar::Variable::list_exposed(&vars);
93 ASSERT_EQ(2UL, vars.size());
94 ASSERT_EQ("var1", vars[0]);
95 ASSERT_EQ("var2_again", vars[1]);
96 ASSERT_EQ(2UL, bvar::Variable::count_exposed());
97
98 bvar::Status<std::string> st3("var3", "foobar");

Callers

nothing calls this directly

Calls 8

FooClass · 0.70
set_valueMethod · 0.45
get_valueMethod · 0.45
exposeMethod · 0.45
sizeMethod · 0.45
get_descriptionMethod · 0.45
hideMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected