Status LoadMetaGraphIntoSession(const MetaGraphDef& meta_graph_def,
const SessionOptions& session_options,
std::unique_ptr<Session>* session) {
- session->reset(NewSession(session_options));
+ Session* session_p = nullptr;
+ TF_RETURN_IF_ERROR(NewSession(session_options, &session_p));
+ session->reset(session_p);
return (*session)->Create(meta_graph_def.graph_def());
}
<< st.error_message();
}
+TEST_F(LoaderTest, SessionCreationFailure) {
+ SavedModelBundle bundle;
+ // Use invalid SessionOptions to cause session creation to fail. Default
+ // options work, so provide an invalid value for the target field.
+ SessionOptions session_options;
+ constexpr char kInvalidTarget[] = "invalid target";
+ session_options.target = kInvalidTarget;
+ RunOptions run_options;
+
+ const string export_dir =
+ io::JoinPath(testing::TensorFlowSrcRoot(), kTestDataSharded);
+ Status st = LoadSavedModel(session_options, run_options, export_dir,
+ {kSavedModelTagServe}, &bundle);
+ EXPECT_FALSE(st.ok());
+ EXPECT_TRUE(StringPiece(st.error_message()).contains(kInvalidTarget))
+ << st.error_message();
+}
+
TEST_F(LoaderTest, PbtxtFormat) {
SavedModelBundle bundle;
SessionOptions session_options;