diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-10-28 12:16:55 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-10-28 12:16:55 +0900 |
commit | c55f8a6db48cda9d3a78048338b7f18c4cca62b8 (patch) | |
tree | 761ee8e171e5203f5c598ad93b2e7e0bc2e31aa2 /runtime/onert/test/graph | |
parent | 74476a2d0296bdad70a2f7f90bc7419a8b05bffd (diff) | |
download | nnfw-c55f8a6db48cda9d3a78048338b7f18c4cca62b8.tar.gz nnfw-c55f8a6db48cda9d3a78048338b7f18c4cca62b8.tar.bz2 nnfw-c55f8a6db48cda9d3a78048338b7f18c4cca62b8.zip |
Imported Upstream version 1.10.0upstream/1.10.0submit/tizen/20201028.104702submit/tizen/20201028.031836accepted/tizen/unified/20201029.124827
Diffstat (limited to 'runtime/onert/test/graph')
-rw-r--r-- | runtime/onert/test/graph/Index.cc | 2 | ||||
-rw-r--r-- | runtime/onert/test/graph/operand/IndexSet.cc | 4 | ||||
-rw-r--r-- | runtime/onert/test/graph/operand/LayoutSet.cc | 17 | ||||
-rw-r--r-- | runtime/onert/test/graph/operand/Set.cc | 2 | ||||
-rw-r--r-- | runtime/onert/test/graph/operand/UseDef.cc | 4 | ||||
-rw-r--r-- | runtime/onert/test/graph/operation/SetIO.cc | 2 | ||||
-rw-r--r-- | runtime/onert/test/graph/verifier/Verifier.cc | 51 |
7 files changed, 73 insertions, 9 deletions
diff --git a/runtime/onert/test/graph/Index.cc b/runtime/onert/test/graph/Index.cc index 358e64c82..2d110e326 100644 --- a/runtime/onert/test/graph/Index.cc +++ b/runtime/onert/test/graph/Index.cc @@ -20,7 +20,7 @@ using Index = ::onert::util::Index<uint32_t, struct TestTag>; -TEST(Index, index_test) +TEST(Index, neg_index_test) { Index idx1{1u}; Index idx2{2u}; diff --git a/runtime/onert/test/graph/operand/IndexSet.cc b/runtime/onert/test/graph/operand/IndexSet.cc index 6215e0d24..6ef425a2d 100644 --- a/runtime/onert/test/graph/operand/IndexSet.cc +++ b/runtime/onert/test/graph/operand/IndexSet.cc @@ -21,7 +21,7 @@ using onert::ir::OperandIndex; using onert::ir::OperandIndexSequence; -TEST(graph_OperandIndexSequence, append) +TEST(graph_OperandIndexSequence, neg_append) { OperandIndexSequence iset{0, 2, 4, 8}; @@ -42,7 +42,7 @@ TEST(graph_OperandIndexSequence, append) ASSERT_FALSE(iset.contains(OperandIndex{11})); } -TEST(graph_OperandIndexSequence, replace) +TEST(graph_OperandIndexSequence, neg_replace) { OperandIndexSequence iset{0, 1, 2, 3}; diff --git a/runtime/onert/test/graph/operand/LayoutSet.cc b/runtime/onert/test/graph/operand/LayoutSet.cc index e35bddd8b..ef965a41e 100644 --- a/runtime/onert/test/graph/operand/LayoutSet.cc +++ b/runtime/onert/test/graph/operand/LayoutSet.cc @@ -21,7 +21,22 @@ using onert::ir::Layout; using onert::ir::LayoutSet; -TEST(graph_operand_LayoutSet, layout_set_operators) +TEST(graph_operand_LayoutSet, neg_add_remove) +{ + LayoutSet set{Layout::NCHW}; + set.remove(Layout::NHWC); + ASSERT_EQ(set.size(), 1); + set.add(Layout::NHWC); + ASSERT_EQ(set.size(), 2); + set.remove(Layout::NHWC); + ASSERT_EQ(set.size(), 1); + set.remove(Layout::NCHW); + ASSERT_EQ(set.size(), 0); + set.remove(Layout::NCHW); + ASSERT_EQ(set.size(), 0); +} + +TEST(graph_operand_LayoutSet, set_operators) { LayoutSet set1{Layout::NCHW}; LayoutSet set2{Layout::NHWC}; diff --git a/runtime/onert/test/graph/operand/Set.cc b/runtime/onert/test/graph/operand/Set.cc index 0d35b5581..ffee417b8 100644 --- a/runtime/onert/test/graph/operand/Set.cc +++ b/runtime/onert/test/graph/operand/Set.cc @@ -18,7 +18,7 @@ #include "ir/Operands.h" -TEST(graph_operand_Set, set_test) +TEST(graph_operand_Set, neg_set_test) { onert::ir::Operands set; diff --git a/runtime/onert/test/graph/operand/UseDef.cc b/runtime/onert/test/graph/operand/UseDef.cc index cd2cdb739..a8686eb18 100644 --- a/runtime/onert/test/graph/operand/UseDef.cc +++ b/runtime/onert/test/graph/operand/UseDef.cc @@ -31,7 +31,7 @@ using Mock = onert_test::ir::SimpleMock; } // namespace -TEST(graph_operand_usedef, usedef_test) +TEST(graph_operand_usedef, neg_usedef_test) { onert::ir::Graph graph; onert::ir::verifier::DAGChecker verifier; @@ -62,7 +62,7 @@ TEST(graph_operand_usedef, usedef_test) graph.finishBuilding(); - ASSERT_EQ(verifier.verify(graph), true); + ASSERT_TRUE(verifier.verify(graph)); // Check def ASSERT_EQ(graph.operands().at(operand_index1).getDef(), mocknode_index1); diff --git a/runtime/onert/test/graph/operation/SetIO.cc b/runtime/onert/test/graph/operation/SetIO.cc index 378c5b4b9..22068ff58 100644 --- a/runtime/onert/test/graph/operation/SetIO.cc +++ b/runtime/onert/test/graph/operation/SetIO.cc @@ -62,7 +62,7 @@ TEST(graph_operation_setIO, operation_setIO_conv) ASSERT_EQ(conv->getInputs().at(Index{0}).value(), 8); } -TEST(graph_operation_setIO, operation_setIO_concat) +TEST(graph_operation_setIO, neg_operation_setIO_concat) { onert::ir::Graph graph; diff --git a/runtime/onert/test/graph/verifier/Verifier.cc b/runtime/onert/test/graph/verifier/Verifier.cc index f8c7557e3..3bce2746c 100644 --- a/runtime/onert/test/graph/verifier/Verifier.cc +++ b/runtime/onert/test/graph/verifier/Verifier.cc @@ -45,5 +45,54 @@ TEST(Verifier, dag_checker) onert::ir::verifier::DAGChecker verifier; - ASSERT_EQ(verifier.verify(graph), true); + ASSERT_TRUE(verifier.verify(graph)); +} + +TEST(Verifier, neg_edge_consistency_checker_1) +{ + onert::ir::Graph graph; + + onert::ir::Shape shape{3}; + onert::ir::TypeInfo type{onert::ir::DataType::INT32}; + + auto operand1 = graph.addOperand(shape, type); + auto operand2 = graph.addOperand(shape, type); + + graph.addInput(operand1); + graph.addOutput(operand2); + + auto mock_op = std::make_unique<Mock>(IndexSet{operand1}, IndexSet{operand2}); + auto op_ind = graph.addOperation(std::move(mock_op)); + + graph.finishBuilding(); + + graph.operands().at(operand1).removeUse(op_ind); // Manipulate the operand alone + + onert::ir::verifier::EdgeConsistencyChecker verifier; + ASSERT_FALSE(verifier.verify(graph)); +} + +TEST(Verifier, neg_edge_consistency_checker_2) +{ + onert::ir::Graph graph; + + onert::ir::Shape shape{3}; + onert::ir::TypeInfo type{onert::ir::DataType::INT32}; + + auto operand1 = graph.addOperand(shape, type); + auto operand2 = graph.addOperand(shape, type); + + graph.addInput(operand1); + graph.addOutput(operand2); + + auto mock_op = std::make_unique<Mock>(IndexSet{operand1}, IndexSet{operand2}); + auto mock_op_ptr = mock_op.get(); + auto op_ind = graph.addOperation(std::move(mock_op)); + + graph.finishBuilding(); + + mock_op_ptr->setInputs({operand2}); // Manipulate the operation alone + + onert::ir::verifier::EdgeConsistencyChecker verifier; + ASSERT_FALSE(verifier.verify(graph)); } |