diff options
author | Manjunath Kudlur <keveman@google.com> | 2016-12-08 13:22:27 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-12-08 13:44:58 -0800 |
commit | 0e1ff10ec3c4dd3f44cd312fa392aa04e9f3c662 (patch) | |
tree | 323c4f9840f432a31d8fcf252a9e7662b56825a9 | |
parent | 158f2a7272fd2fa679ea162cc2fb30383978e70d (diff) |
Check for error status after NodeBuilder::Finalize.
Fixes #5871
Change: 141475958
-rw-r--r-- | tensorflow/cc/framework/cc_op_gen.cc | 1 | ||||
-rw-r--r-- | tensorflow/cc/framework/cc_ops_test.cc | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tensorflow/cc/framework/cc_op_gen.cc b/tensorflow/cc/framework/cc_op_gen.cc index cdc4ab7e23..d191a73547 100644 --- a/tensorflow/cc/framework/cc_op_gen.cc +++ b/tensorflow/cc/framework/cc_op_gen.cc @@ -695,6 +695,7 @@ string OpInfo::GetConstructorBody() const { strings::StrAppend(&body, " ", scope_str, ".UpdateBuilder(&builder);\n"); strings::StrAppend(&body, " ", scope_str, ".UpdateStatus(builder.Finalize(", scope_str, ".graph(), &ret));\n"); + strings::StrAppend(&body, " ", return_on_error, "\n"); // TODO(b/28152992): Enable this code-path once we have converted // all python shape functions to call their C++ versions. diff --git a/tensorflow/cc/framework/cc_ops_test.cc b/tensorflow/cc/framework/cc_ops_test.cc index 16a0827b5f..1a055bf625 100644 --- a/tensorflow/cc/framework/cc_ops_test.cc +++ b/tensorflow/cc/framework/cc_ops_test.cc @@ -238,4 +238,15 @@ TEST(CCOpTest, EmptyConst) { EXPECT_FALSE(root.status().ok()); } +TEST(CCOpTest, InvalidFinalize) { + Scope root = Scope::NewRootScope(); + auto read_up_to = + ops::ReaderReadUpTo(root, Variable(root, {}, DT_STRING), + Variable(root, {}, DT_STRING), static_cast<int32>(2)); + EXPECT_FALSE(root.status().ok()); + auto err_msg = root.status().error_message(); + EXPECT_NE(err_msg.find("'num_records' passed int32 expected int64"), + string::npos); +} + } // namespace tensorflow |