| 968 | } |
| 969 | |
| 970 | TEST_F(MutationTest, AddNewNode) { |
| 971 | GraphDef graph = SimpleTestGraphForMutation(); |
| 972 | |
| 973 | Status s; |
| 974 | MutableGraphView graph_view(&graph, &s); |
| 975 | TF_ASSERT_OK(s); |
| 976 | |
| 977 | Mutation* mutation = graph_view.GetMutationBuilder(); |
| 978 | |
| 979 | NodeDef empty_node; |
| 980 | mutation->AddNode(std::move(empty_node), &s); |
| 981 | TF_EXPECT_OK(s); |
| 982 | s = errors::Internal("error"); |
| 983 | |
| 984 | NodeDef valid_node = |
| 985 | NDef("valid", "IdentityN", {"a:1", "^b"}, {{"N", 1}}, "foo"); |
| 986 | mutation->AddNode(std::move(valid_node), &s); |
| 987 | TF_EXPECT_OK(s); |
| 988 | |
| 989 | NodeDef bad_node_1 = |
| 990 | NDef("bad", "IdentityN", {"^b", "a:1"}, {{"N", 1}}, "foo"); |
| 991 | mutation->AddNode(std::move(bad_node_1), &s); |
| 992 | EXPECT_FALSE(s.ok()); |
| 993 | EXPECT_EQ(s.error_message(), |
| 994 | "Mutation::AddNode error: node 'bad' has regular fanin 'a:1' after " |
| 995 | "controlling fanins."); |
| 996 | |
| 997 | NodeDef bad_node_2 = NDef("bad", "IdentityN", {"bad:1"}, {}, "foo"); |
| 998 | mutation->AddNode(std::move(bad_node_2), &s); |
| 999 | EXPECT_FALSE(s.ok()); |
| 1000 | EXPECT_EQ(s.error_message(), |
| 1001 | "Mutation::AddNode error: node 'bad' has self cycle fanin " |
| 1002 | "'bad:1'."); |
| 1003 | |
| 1004 | CompareGraphViewWithGraph(&graph_view, SimpleTestGraphForMutation()); |
| 1005 | } |
| 1006 | |
| 1007 | TEST_F(MutationTest, NewNodeBadFaninsAfterAdd) { |
| 1008 | GraphDef graph = SimpleTestGraphForMutation(); |
nothing calls this directly
no test coverage detected