MCPcopy Create free account
hub / github.com/NetSys/bess / TEST

Function TEST

core/module_test.cc:159–191  ·  view source on GitHub ↗

Check that new module classes are actually created correctly and stored in the table of module classes

Source from the content-addressed store, hash-verified

157// Check that new module classes are actually created correctly and stored in
158// the table of module classes
159TEST(ModuleBuilderTest, RegisterModuleClass) {
160 ASSERT_EQ(0, ModuleBuilder::all_module_builders().count("AcmeModule"));
161
162 AcmeModule_class AcmeModule_singleton;
163 ASSERT_EQ(1, ModuleBuilder::all_module_builders().count("AcmeModule"));
164
165 const ModuleBuilder &builder =
166 ModuleBuilder::all_module_builders().find("AcmeModule")->second;
167
168 EXPECT_EQ("AcmeModule", builder.class_name());
169 EXPECT_EQ("acme_module", builder.name_template());
170 EXPECT_EQ("foo bar", builder.help_text());
171 EXPECT_EQ(1, builder.NumIGates());
172 EXPECT_EQ(2, builder.NumOGates());
173 EXPECT_EQ(1, builder.cmds().size());
174
175 ASSERT_EQ(0,
176 ModuleBuilder::all_module_builders().count("AcmeModuleWithTask"));
177
178 AcmeModuleWithTask_class AcmeModuleWithTask_singleton;
179 ASSERT_EQ(1,
180 ModuleBuilder::all_module_builders().count("AcmeModuleWithTask"));
181
182 const ModuleBuilder &builder2 =
183 ModuleBuilder::all_module_builders().find("AcmeModuleWithTask")->second;
184
185 EXPECT_EQ("AcmeModuleWithTask", builder2.class_name());
186 EXPECT_EQ("acme_module_with_task", builder2.name_template());
187 EXPECT_EQ("foo bar", builder2.help_text());
188 EXPECT_EQ(1, builder2.NumIGates());
189 EXPECT_EQ(3, builder2.NumOGates());
190 EXPECT_EQ(0, builder2.cmds().size());
191}
192
193// Check that module builders create modules correctly when given a name
194TEST_F(ModuleTester, CreateModuleWithName) {

Callers

nothing calls this directly

Calls 4

NumIGatesMethod · 0.80
NumOGatesMethod · 0.80
sizeMethod · 0.80
cmdsMethod · 0.45

Tested by

no test coverage detected