diff --git a/onnxruntime/test/ir/graph_test.cc b/onnxruntime/test/ir/graph_test.cc index 217f05254d..7ad8a66049 100644 --- a/onnxruntime/test/ir/graph_test.cc +++ b/onnxruntime/test/ir/graph_test.cc @@ -1793,7 +1793,8 @@ TEST_F(GraphTest, InjectExternalInitializedTensors) { tensor_proto.add_dims(tensor_data.size()); tensor_proto.set_data_type(ONNX_NAMESPACE::TensorProto_DataType_INT32); tensor_proto.set_data_location(ONNX_NAMESPACE::TensorProto_DataLocation_EXTERNAL); - SetTensorProtoExternalData("location", ToUTF8String(tensor_data_dir_relative_path.ToPathString()), tensor_proto); + SetTensorProtoExternalData("location", ToUTF8String(tensor_data_dir_relative_path.ToPathString()), + tensor_proto); SetTensorProtoExternalData("offset", "0", tensor_proto); SetTensorProtoExternalData("length", std::to_string(tensor_data.size() * sizeof(int32_t)), tensor_proto); return tensor_proto; @@ -1807,7 +1808,13 @@ TEST_F(GraphTest, InjectExternalInitializedTensors) { const TensorProto* external_data = nullptr; ASSERT_TRUE(graph.GetInitializedTensor(initializer_name, external_data)); - ASSERT_TRUE(utils::HasExternalData(*external_data)); + if (external_data) { + ASSERT_TRUE(utils::HasExternalData(*external_data)); + } else { + // Fail the test because external_data shouldn't be nullptr. + // This if-else is added for suppressing warning C6011: dereferencing NULL pointer. + ASSERT_TRUE(false); + } // Replace things. ASSERT_STATUS_OK(graph.InjectExternalInitializedTensors(injection_initializers)); @@ -1817,17 +1824,21 @@ TEST_F(GraphTest, InjectExternalInitializedTensors) { const TensorProto* with_data = nullptr; ASSERT_TRUE(graph.GetInitializedTensor(initializer_name, with_data)); // No longer has external data - ASSERT_FALSE(utils::HasExternalData(*with_data)); - - const auto& original_tensor = ort_value.Get(); - - Tensor replaced_tensor(original_tensor.DataType(), data_shape, std::make_shared()); - ASSERT_STATUS_OK(utils::TensorProtoToTensor(Env::Default(), tensor_data_dir_path.ToPathString().c_str(), *with_data, replaced_tensor)); - - ASSERT_EQ(original_tensor.GetElementType(), replaced_tensor.GetElementType()); - const auto original_span = original_tensor.DataAsSpan(); - const auto replaced_span = replaced_tensor.DataAsSpan(); - ASSERT_EQ(original_span, replaced_span); + if (with_data) { + ASSERT_FALSE(utils::HasExternalData(*with_data)); + const auto& original_tensor = ort_value.Get(); + Tensor replaced_tensor(original_tensor.DataType(), data_shape, std::make_shared()); + ASSERT_STATUS_OK(utils::TensorProtoToTensor(Env::Default(), tensor_data_dir_path.ToPathString().c_str(), *with_data, + replaced_tensor)); + ASSERT_EQ(original_tensor.GetElementType(), replaced_tensor.GetElementType()); + const auto original_span = original_tensor.DataAsSpan(); + const auto replaced_span = replaced_tensor.DataAsSpan(); + ASSERT_EQ(original_span, replaced_span); + } else { + // Fail the test because with_data shouldn't be nullptr. + // This if-else is added for suppressing warning C6011: dereferencing NULL pointer. + ASSERT_TRUE(false); + } } #endif