Skip to content

Commit

Permalink
Fix test errors
Browse files Browse the repository at this point in the history
  • Loading branch information
krazijames committed Feb 2, 2024
1 parent b45dfeb commit 9c614c8
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 36 deletions.
13 changes: 9 additions & 4 deletions static_lib/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ add_executable(${PROJECT_NAME} model_test.cc)
target_include_directories(${PROJECT_NAME} PRIVATE
${TFLITE_INCLUDE_DIR}
${TENSORFLOW_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../eigen
${TENSORFLOW_SOURCE_DIR}/third_party/xla/third_party/tsl
${CMAKE_CURRENT_BINARY_DIR}/../abseil-cpp
${CMAKE_CURRENT_BINARY_DIR}/../eigen
${CMAKE_CURRENT_BINARY_DIR}/../ml_dtypes
${CMAKE_CURRENT_BINARY_DIR}/../ml_dtypes/ml_dtypes
)
target_link_directories(${PROJECT_NAME} PRIVATE ${TFLITE_LIB_DIR})
target_link_libraries(${PROJECT_NAME} gtest_main tensorflowlite)
Expand All @@ -24,7 +27,9 @@ if(UNIX AND NOT APPLE)
target_link_libraries(${PROJECT_NAME} dl)
endif()

file(COPY ${TFLITE_SOURCE_DIR}/testdata DESTINATION third_party/tensorflow/lite)

enable_testing()
add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME})
add_test(
NAME ${PROJECT_NAME}
COMMAND ${PROJECT_NAME}
WORKING_DIRECTORY ${TENSORFLOW_SOURCE_DIR}
)
64 changes: 32 additions & 32 deletions static_lib/tests/model_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ TEST(BasicFlatBufferModel, TestBufferAlignment) {

// Use real model data so that we can be sure error is only from the
// alignment requirement and not from bad data.
std::ifstream fp("third_party/tensorflow/lite/testdata/empty_model.bin");
std::ifstream fp("tensorflow/lite/testdata/empty_model.bin");
ASSERT_TRUE(fp.good());
std::string empty_model_data((std::istreambuf_iterator<char>(fp)),
std::istreambuf_iterator<char>());
Expand Down Expand Up @@ -131,7 +131,7 @@ TEST(BasicFlatBufferModel, TestBufferAlignment) {
// Make sure a model with nothing in it loads properly.
TEST(BasicFlatBufferModel, TestEmptyModels) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/empty_model.bin");
"tensorflow/lite/testdata/empty_model.bin");
ASSERT_TRUE(model);
// Now try to build it into a model.
std::unique_ptr<Interpreter> interpreter;
Expand All @@ -142,7 +142,7 @@ TEST(BasicFlatBufferModel, TestEmptyModels) {

TEST(BasicFlatBufferModel, TestNullDestination) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/empty_model.bin");
"tensorflow/lite/testdata/empty_model.bin");
ASSERT_TRUE(model);
// Test that building with null destination fails.
ASSERT_NE(InterpreterBuilder(*model, TrivialResolver())(nullptr), kTfLiteOk);
Expand All @@ -152,15 +152,15 @@ TEST(BasicFlatBufferModel, TestNullDestination) {
// TODO(aselle): Replace this test when multiple subgraphs are supported.
TEST(BasicFlatBufferModel, TestZeroSubgraphs) {
auto m = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/0_subgraphs.bin");
"tensorflow/lite/testdata/0_subgraphs.bin");
ASSERT_TRUE(m);
std::unique_ptr<Interpreter> interpreter;
ASSERT_NE(InterpreterBuilder(*m, TrivialResolver())(&interpreter), kTfLiteOk);
}

TEST(BasicFlatBufferModel, TestMultipleSubgraphs) {
auto m = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/2_subgraphs.bin");
"tensorflow/lite/testdata/2_subgraphs.bin");
ASSERT_TRUE(m);
std::unique_ptr<Interpreter> interpreter;
ASSERT_EQ(InterpreterBuilder(*m, TrivialResolver())(&interpreter), kTfLiteOk);
Expand All @@ -169,7 +169,7 @@ TEST(BasicFlatBufferModel, TestMultipleSubgraphs) {

TEST(BasicFlatBufferModel, TestSubgraphName) {
auto m = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/"
"tensorflow/lite/testdata/"
"2_subgraphs_dont_delegate_name.bin");
ASSERT_TRUE(m);
std::unique_ptr<Interpreter> interpreter;
Expand All @@ -182,7 +182,7 @@ TEST(BasicFlatBufferModel, TestSubgraphName) {
// Test what happens if we cannot bind any of the ops.
TEST(BasicFlatBufferModel, TestModelWithoutNullRegistrations) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin");
"tensorflow/lite/testdata/test_model.bin");
ASSERT_TRUE(model);
// Check that we get an error code and interpreter pointer is reset.
std::unique_ptr<Interpreter> interpreter(new Interpreter);
Expand All @@ -194,7 +194,7 @@ TEST(BasicFlatBufferModel, TestModelWithoutNullRegistrations) {
// Make sure model is read to interpreter properly
TEST(BasicFlatBufferModel, TestModelInInterpreter) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin");
"tensorflow/lite/testdata/test_model.bin");
ASSERT_TRUE(model);
// Check that we get an error code and interpreter pointer is reset.
std::unique_ptr<Interpreter> interpreter(new Interpreter);
Expand Down Expand Up @@ -273,7 +273,7 @@ TEST(BasicFlatBufferModel, TestModelInInterpreter) {
TEST(BasicFlatBufferModel, TestWithNumThreads) {
TestErrorReporter reporter;
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin", &reporter);
"tensorflow/lite/testdata/test_model.bin", &reporter);
ASSERT_TRUE(model);
TrivialResolver resolver(&dummy_reg);
InterpreterBuilder builder(*model, resolver);
Expand Down Expand Up @@ -306,7 +306,7 @@ TEST(BasicFlatBufferModel, TestWithNumThreads) {
TEST(BasicFlatBufferModel, TestSetNumThreads) {
TestErrorReporter reporter;
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin", &reporter);
"tensorflow/lite/testdata/test_model.bin", &reporter);
ASSERT_TRUE(model);
std::unique_ptr<Interpreter> interpreter;
TrivialResolver resolver(&dummy_reg);
Expand Down Expand Up @@ -341,7 +341,7 @@ TEST(BasicFlatBufferModel, TestSetNumThreads) {
TEST(BasicFlatBufferModel, TestSetNumThreadsWithMultipleSubgraphs) {
TestErrorReporter reporter;
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/2_subgraphs.bin", &reporter);
"tensorflow/lite/testdata/2_subgraphs.bin", &reporter);
ASSERT_TRUE(model);
std::unique_ptr<Interpreter> interpreter;
TrivialResolver resolver(&dummy_reg);
Expand All @@ -362,7 +362,7 @@ TEST(BasicFlatBufferModel, TestSetNumThreadsWithMultipleSubgraphs) {
// not linked into the target.
TEST(FlexModel, FailureWithoutFlexDelegate) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/multi_add_flex.bin");
"tensorflow/lite/testdata/multi_add_flex.bin");
ASSERT_TRUE(model);

// Note that creation will succeed when using the BuiltinOpResolver, but
Expand All @@ -383,7 +383,7 @@ TEST(FlexModel, FailureWithoutFlexDelegate) {
// buffer. But the buffer is provided to be only 1 element.
TEST(BasicFlatBufferModel, TestBrokenMmap) {
ASSERT_FALSE(FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model_broken.bin"));
"tensorflow/lite/testdata/test_model_broken.bin"));
}

TEST(BasicFlatBufferModel, TestNullModel) {
Expand Down Expand Up @@ -411,26 +411,26 @@ class FakeVerifier : public tflite::TfLiteVerifier {
TEST(BasicFlatBufferModel, TestWithTrueVerifier) {
FakeVerifier verifier(true);
ASSERT_TRUE(FlatBufferModel::VerifyAndBuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin", &verifier));
"tensorflow/lite/testdata/test_model.bin", &verifier));
}

TEST(BasicFlatBufferModel, TestWithFalseVerifier) {
FakeVerifier verifier(false);
ASSERT_FALSE(FlatBufferModel::VerifyAndBuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin", &verifier));
"tensorflow/lite/testdata/test_model.bin", &verifier));
}

TEST(BasicFlatBufferModel, TestWithNullVerifier) {
ASSERT_TRUE(FlatBufferModel::VerifyAndBuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin", nullptr));
"tensorflow/lite/testdata/test_model.bin", nullptr));
}

// This makes sure the ErrorReporter is marshalled from FlatBufferModel to
// the Interpreter.
TEST(BasicFlatBufferModel, TestCustomErrorReporter) {
TestErrorReporter reporter;
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/empty_model.bin", &reporter);
"tensorflow/lite/testdata/empty_model.bin", &reporter);
ASSERT_TRUE(model);

std::unique_ptr<Interpreter> interpreter;
Expand All @@ -444,7 +444,7 @@ TEST(BasicFlatBufferModel, TestCustomErrorReporter) {
// the Interpreter.
TEST(BasicFlatBufferModel, TestNullErrorReporter) {
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/empty_model.bin", nullptr);
"tensorflow/lite/testdata/empty_model.bin", nullptr);
ASSERT_TRUE(model);

std::unique_ptr<Interpreter> interpreter;
Expand All @@ -457,7 +457,7 @@ TEST(BasicFlatBufferModel, TestNullErrorReporter) {
TEST(BasicFlatBufferModel, TestBuildFromModel) {
TestErrorReporter reporter;
FileCopyAllocation model_allocation(
"third_party/tensorflow/lite/testdata/test_model.bin", &reporter);
"tensorflow/lite/testdata/test_model.bin", &reporter);
ASSERT_TRUE(model_allocation.valid());
::flatbuffers::Verifier verifier(
reinterpret_cast<const uint8_t*>(model_allocation.base()),
Expand All @@ -479,7 +479,7 @@ TEST(BasicFlatBufferModel, TestBuildFromModel) {
TEST(BasicFlatBufferModel, TestBuildFromAllocation) {
TestErrorReporter reporter;
std::unique_ptr<Allocation> model_allocation(new FileCopyAllocation(
"third_party/tensorflow/lite/testdata/test_model.bin", &reporter));
"tensorflow/lite/testdata/test_model.bin", &reporter));
ASSERT_TRUE(model_allocation->valid());

auto model =
Expand Down Expand Up @@ -516,13 +516,13 @@ TEST(BasicFlatBufferModel, TestBuildFromInvalidAllocation) {
TEST(BasicFlatBufferModel, TestReadRuntimeVersionFromModel) {
// First read a model that doesn't have the runtime string.
auto model1 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin");
"tensorflow/lite/testdata/test_model.bin");
ASSERT_TRUE(model1);
ASSERT_EQ(model1->GetMinimumRuntime(), "");

// Read a model that has minimum runtime string populated.
auto model2 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_min_runtime.bin");
"tensorflow/lite/testdata/test_min_runtime.bin");
ASSERT_TRUE(model2);
// Check that we have read the runtime string correctly.
ASSERT_EQ(model2->GetMinimumRuntime(), "1.5.0");
Expand All @@ -532,14 +532,14 @@ TEST(BasicFlatBufferModel, TestReadRuntimeVersionFromModel) {
TEST(BasicFlatBufferModel, TestReadMetadataFromModel) {
// First read a model that doesn't have the runtime string.
auto model1 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin");
"tensorflow/lite/testdata/test_model.bin");
ASSERT_TRUE(model1);
std::map<std::string, std::string> metadata = model1->ReadAllMetadata();
ASSERT_EQ(metadata.size(), 0);

// Read a model that has reduced precision support mask populated
auto model2 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model_redux_precision.bin");
"tensorflow/lite/testdata/test_model_redux_precision.bin");
ASSERT_TRUE(model2);
// Check that we have read the runtime string correctly.
metadata = model2->ReadAllMetadata();
Expand All @@ -550,7 +550,7 @@ TEST(BasicFlatBufferModel, TestReadMetadataFromContext) {
const std::string reduced_precision_meta_key = "reduced_precision_support";
// First read a model that doesn't have any metadata.
auto model1 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model.bin");
"tensorflow/lite/testdata/test_model.bin");
ASSERT_TRUE(model1);
std::unique_ptr<Interpreter> interpreter;
TrivialResolver resolver(&dummy_reg);
Expand All @@ -568,7 +568,7 @@ TEST(BasicFlatBufferModel, TestReadMetadataFromContext) {

// This model has metadata mapped to kTfLiteReducedPrecisionKey.
auto model2 = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/test_model_redux_precision.bin");
"tensorflow/lite/testdata/test_model_redux_precision.bin");
ASSERT_TRUE(model2);
InterpreterBuilder builder2(*model2, resolver);
interpreter.reset();
Expand All @@ -594,7 +594,7 @@ TEST(BasicFlatBufferModel, TestReadMetadataFromContext) {
TEST(BasicFlatBufferModel, TestParseModelWithSparseTensor) {
// The model only has 1 sparse constant tensor.
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/sparse_tensor.bin");
"tensorflow/lite/testdata/sparse_tensor.bin");
ASSERT_TRUE(model);

std::unique_ptr<Interpreter> interpreter(new Interpreter);
Expand Down Expand Up @@ -665,7 +665,7 @@ TEST(BasicFlatBufferModel, TestParseModelWithSparseTensor) {
// detects these bad models.
TEST(BasicFlatBufferModel, TestHandleMalformedModelReuseTensor) {
const auto model_path =
"third_party/tensorflow/lite/testdata/add_shared_tensors.bin";
"tensorflow/lite/testdata/add_shared_tensors.bin";

std::unique_ptr<tflite::FlatBufferModel> model =
FlatBufferModel::BuildFromFile(model_path);
Expand All @@ -686,7 +686,7 @@ TEST(BasicFlatBufferModel, TestHandleMalformedModelReuseTensor) {
// precondition check exists.
TEST(BasicFlatBufferModel, TestHandleMalformedModelInvalidBuffer) {
const auto model_path =
"third_party/tensorflow/lite/testdata/segment_sum_invalid_buffer.bin";
"tensorflow/lite/testdata/segment_sum_invalid_buffer.bin";

std::unique_ptr<tflite::FlatBufferModel> model =
FlatBufferModel::BuildFromFile(model_path);
Expand Down Expand Up @@ -730,7 +730,7 @@ TEST(TestAddDelegateOwnership, AddDelegateDoesNotTakeOwnership) {
{
// Load a model.
auto model = FlatBufferModel::BuildFromFile(
"third_party/tensorflow/lite/testdata/empty_model.bin");
"tensorflow/lite/testdata/empty_model.bin");
ASSERT_TRUE(model);
// Now try to build it into an interpreter.
std::unique_ptr<Interpreter> interpreter;
Expand Down Expand Up @@ -768,7 +768,7 @@ TEST(TestAddDelegateOwnership, AddDelegateDoesNotTakeOwnership) {
// tensor handling as a static tensor.
TEST(BasicFlatBufferModel, TestHandleModelWithWhileOpContainsForwardingInput) {
const auto model_path =
"third_party/tensorflow/lite/testdata/while_op_with_forwarding_input.bin";
"tensorflow/lite/testdata/while_op_with_forwarding_input.bin";

std::unique_ptr<tflite::FlatBufferModel> model =
FlatBufferModel::BuildFromFile(model_path);
Expand All @@ -795,7 +795,7 @@ TEST(BasicFlatBufferModel, TestHandleModelWithWhileOpContainsForwardingInput) {
TEST(BasicFlatBufferModel, TestHandleZeroSizeConstant) {
TestErrorReporter reporter;
FileCopyAllocation model_allocation(
"third_party/tensorflow/lite/testdata/zero_size_constant.bin", &reporter);
"tensorflow/lite/testdata/zero_size_constant.bin", &reporter);
EXPECT_TRUE(model_allocation.valid());
::flatbuffers::Verifier verifier(
reinterpret_cast<const uint8_t*>(model_allocation.base()),
Expand Down

0 comments on commit 9c614c8

Please sign in to comment.