MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / TEST

Function TEST

test/cpp/fluid/framework/ir/graph_test.cc:88–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86namespace paddle::framework {
87
88TEST(GraphTest, Basic) {
89 ProgramDesc prog;
90 auto *op = prog.MutableBlock(0)->AppendOp();
91 op->SetType("fake_sum");
92 op->SetInput("X", {"test_a", "test_b", "test_c"});
93 op->SetOutput("Out", {"test_out"});
94 op->SetAttr("op_role", 1);
95
96 prog.MutableBlock(0)->Var("test_a")->SetType(proto::VarType::SELECTED_ROWS);
97 prog.MutableBlock(0)->Var("test_b")->SetType(proto::VarType::SELECTED_ROWS);
98 prog.MutableBlock(0)->Var("test_c")->SetType(proto::VarType::SELECTED_ROWS);
99 prog.MutableBlock(0)->Var("test_out");
100
101 op->InferVarType(prog.MutableBlock(0));
102
103 ASSERT_EQ(proto::VarType::SELECTED_ROWS,
104 prog.MutableBlock(0)->Var("test_out")->GetType());
105
106 prog.MutableBlock(0)->Var("test_b")->SetType(proto::VarType::DENSE_TENSOR);
107 op->InferVarType(prog.MutableBlock(0));
108 ASSERT_EQ(proto::VarType::DENSE_TENSOR,
109 prog.MutableBlock(0)->Var("test_out")->GetType());
110
111 std::unique_ptr<ir::Graph> g(new ir::Graph(prog));
112 std::vector<ir::Node *> nodes(g->Nodes().begin(), g->Nodes().end());
113 for (ir::Node *n : nodes) {
114 if (n->Name() == "fake_sum") {
115 ASSERT_EQ(n->inputs.size(), 3UL);
116 ASSERT_EQ(n->outputs.size(), 1UL);
117 } else if (n->Name() == "test_a" || n->Name() == "test_b" ||
118 n->Name() == "test_c") {
119 ASSERT_EQ(n->inputs.size(), 0UL);
120 ASSERT_EQ(n->outputs.size(), 1UL);
121 } else if (n->Name() == "test_out") {
122 ASSERT_EQ(n->inputs.size(), 1UL);
123 ASSERT_EQ(n->outputs.size(), 0UL);
124 }
125 }
126 ASSERT_EQ(nodes.size(), 5UL);
127}
128
129TEST(GraphTest, TestException) {
130 ProgramDesc prog;

Callers

nothing calls this directly

Calls 15

AppendOpMethod · 0.80
InferVarTypeMethod · 0.80
CreateVarNodeMethod · 0.80
CreateOpNodeMethod · 0.80
IsMainGraphMethod · 0.80
ReleaseNodesMethod · 0.80
CreateControlDepVarMethod · 0.80
CreateEmptyNodeMethod · 0.80
AppendBlockMethod · 0.80
SubGraphsSizeMethod · 0.80
GetSubGraphMethod · 0.80
SetTypeMethod · 0.45

Tested by

no test coverage detected