summaryrefslogtreecommitdiff
path: root/tests/nnfw_api
diff options
context:
space:
mode:
authorHyeongseok Oh <hseok82.oh@samsung.com>2023-04-12 15:42:02 +0900
committerHyeongseok Oh <hseok82.oh@samsung.com>2023-04-12 15:42:02 +0900
commit323663bb115ef625642391a5a8e9b35fee8b2ae3 (patch)
tree17e2a6b91535e6f53f4cacda5e4db6aa0303dd22 /tests/nnfw_api
parentc690d52bdd137ed6a17353aa7af35e8141ece77b (diff)
downloadnnfw-323663bb115ef625642391a5a8e9b35fee8b2ae3.tar.gz
nnfw-323663bb115ef625642391a5a8e9b35fee8b2ae3.tar.bz2
nnfw-323663bb115ef625642391a5a8e9b35fee8b2ae3.zip
Imported Upstream version 1.22.0upstream/1.22.0
Diffstat (limited to 'tests/nnfw_api')
-rw-r--r--tests/nnfw_api/CMakeLists.txt6
-rw-r--r--tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc2
-rw-r--r--tests/nnfw_api/src/ValidationTestPipelineSession.test.cc541
3 files changed, 2 insertions, 547 deletions
diff --git a/tests/nnfw_api/CMakeLists.txt b/tests/nnfw_api/CMakeLists.txt
index 2ea2ce87c..93cc980e0 100644
--- a/tests/nnfw_api/CMakeLists.txt
+++ b/tests/nnfw_api/CMakeLists.txt
@@ -38,11 +38,11 @@ target_link_libraries(${RUNTIME_NNFW_API_TEST} gtest gmock)
target_link_libraries(${RUNTIME_NNFW_API_TEST} ${LIB_PTHREAD} dl)
target_link_libraries(${RUNTIME_NNFW_API_TEST} circle_schema)
-install(TARGETS ${RUNTIME_NNFW_API_TEST} DESTINATION unittest_standalone)
+install(TARGETS ${RUNTIME_NNFW_API_TEST} DESTINATION unittest)
# Install nnpackage test model (add)
set(NNPACKAGE_MODEL_DIR ${NNAS_PROJECT_SOURCE_DIR}/nnpackage/examples/v1.0.0/add)
-set(NNPACKAGE_INSTALL_TARGET unittest_standalone/nnfw_api_gtest_models)
+set(NNPACKAGE_INSTALL_TARGET unittest/nnfw_api_gtest_models)
install(DIRECTORY ${NNPACKAGE_MODEL_DIR} DESTINATION ${NNPACKAGE_INSTALL_TARGET}/add)
@@ -64,7 +64,5 @@ install(DIRECTORY ${NNPACKAGE_MODEL_DIR} DESTINATION ${NNPACKAGE_INSTALL_TARGET}
# Install nnpackage test model (mobilenet)
set(NNPACKAGE_MODEL_DIR ${NNAS_PROJECT_SOURCE_DIR}/runtime/contrib/TFLiteSharp/TFLiteTestApp/res/)
-set(NNPACKAGE_INSTALL_TARGET unittest_standalone/nnfw_api_gtest_models)
-
install(DIRECTORY ${NNPACKAGE_MODEL_DIR} DESTINATION ${NNPACKAGE_INSTALL_TARGET}/mobilenet_v1_1.0_224)
diff --git a/tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc b/tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc
index 4c482369f..0b7759374 100644
--- a/tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc
+++ b/tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc
@@ -206,8 +206,6 @@ TEST_F(ValidationTestAddModelLoaded, debug_set_config)
NNFW_ENSURE_SUCCESS(nnfw_set_config(_session, "USE_SCHEDULER", "1"));
NNFW_ENSURE_SUCCESS(nnfw_set_config(_session, "PROFILING_MODE", "0"));
NNFW_ENSURE_SUCCESS(nnfw_set_config(_session, "PROFILING_MODE", "1"));
- NNFW_ENSURE_SUCCESS(nnfw_set_config(_session, "DISABLE_COMPILE", "0"));
- NNFW_ENSURE_SUCCESS(nnfw_set_config(_session, "DISABLE_COMPILE", "1"));
SUCCEED();
}
diff --git a/tests/nnfw_api/src/ValidationTestPipelineSession.test.cc b/tests/nnfw_api/src/ValidationTestPipelineSession.test.cc
deleted file mode 100644
index 1d92095ed..000000000
--- a/tests/nnfw_api/src/ValidationTestPipelineSession.test.cc
+++ /dev/null
@@ -1,541 +0,0 @@
-/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "fixtures.h"
-#include "common.h"
-#include <fstream>
-#include <stdio.h>
-#include <json/json.h>
-#include <thread>
-
-void build_partition_map()
-{
- Json::Value root;
- Json::Value graphs(Json::arrayValue);
- int num = 31;
-
- for (int i = 0; i < num; i++)
- {
- if (i < 7)
- graphs.append(Json::Value(0));
- else
- graphs.append(Json::Value(1));
- }
-
- root["partition_map"] = graphs;
- root["num_partitions"] = 2;
-
- Json::StyledWriter sw;
- std::string jsonString = sw.write(root);
-
- FILE *pFile = NULL;
-
- pFile = fopen("./partition_map.json", "wt");
- fwrite(jsonString.c_str(), jsonString.length(), 1, pFile);
- fclose(pFile);
-}
-
-TEST_F(ValidationTestPipelineSession, create_pipeline_001)
-{
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
- SUCCEED();
-}
-
-TEST_F(ValidationTestPipelineSession, pipeline_session_test_model)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_set_available_backends(_session, "cpu"));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
- SUCCEED();
-}
-
-TEST_F(ValidationTestPipelineSession, prepare_pipeline_001)
-{
- std::ifstream readFile("./partition_map.json");
-
- if (readFile.good())
- {
- remove("./partition_map.json");
- }
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- ASSERT_EQ(nnfw_prepare_pipeline(_session, "./partition_map.json"), NNFW_STATUS_ERROR);
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-}
-
-TEST_F(ValidationTestPipelineSession, prepare_pipeline_002)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-
- SUCCEED();
-}
-
-TEST_F(ValidationTestPipelineSession, input_tensorinfo_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_input;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_input_tensorinfo(_session, 0, &t_input));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-
- SUCCEED();
-}
-
-TEST_F(ValidationTestPipelineSession, output_tensorinfo_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_output;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_output_tensorinfo(_session, 0, &t_output));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-
- SUCCEED();
-}
-
-TEST_F(ValidationTestPipelineSession, input_size_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- uint32_t input_num = -1;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_input_size(_session, &input_num));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- ASSERT_EQ(input_num, 1);
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, output_size_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- uint32_t output_num = -1;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_output_size(_session, &output_num));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- ASSERT_EQ(output_num, 1);
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, set_input_tensorinfo_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_input_original;
- nnfw_tensorinfo t_input_after;
- nnfw_tensorinfo t_input = {NNFW_TYPE_TENSOR_FLOAT32, 4, {1, 224, 224, 3}};
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- NNFW_ENSURE_SUCCESS(nnfw_input_tensorinfo(_session, 0, &t_input_original));
- NNFW_ENSURE_SUCCESS(nnfw_set_input_tensorinfo(_session, 0, &t_input));
- NNFW_ENSURE_SUCCESS(nnfw_input_tensorinfo(_session, 0, &t_input_after));
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- ASSERT_TRUE(tensorInfoEqual(t_input_original, t_input_after));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, input_output_tensorindex)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- uint32_t input_index = 100;
- NNFW_ENSURE_SUCCESS(nnfw_input_tensorindex(_session, "input", &input_index));
- ASSERT_EQ(input_index, 0);
-
- uint32_t output_index = 100;
- NNFW_ENSURE_SUCCESS(
- nnfw_output_tensorindex(_session, "MobilenetV1/Predictions/Reshape_1", &output_index));
- ASSERT_EQ(output_index, 0);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_create_pipeline_001)
-{
- ASSERT_EQ(nnfw_create_session(nullptr), NNFW_STATUS_UNEXPECTED_NULL);
-}
-
-TEST_F(ValidationTestPipelineSession, neg_pipeline_session_model_load)
-{
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
-
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- ASSERT_EQ(nnfw_load_model_from_modelfile(
- nullptr, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()),
- NNFW_STATUS_UNEXPECTED_NULL);
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-}
-
-TEST_F(ValidationTestPipelineSession, neg_prepare_pipeline_001)
-{
- ASSERT_EQ(nnfw_prepare_pipeline(nullptr, nullptr), NNFW_STATUS_UNEXPECTED_NULL);
-}
-
-TEST_F(ValidationTestPipelineSession, neg_set_in_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- float input_buf[1 * 224 * 224 * 3];
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_set_input(_session, 0, NNFW_TYPE_TENSOR_FLOAT32, input_buf, sizeof(input_buf)),
- NNFW_STATUS_ERROR);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_set_out_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- float output_buf[1 * 1001];
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_set_output(_session, 0, NNFW_TYPE_TENSOR_FLOAT32, output_buf, sizeof(output_buf)),
- NNFW_STATUS_ERROR);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_input_tensorinfo_pipeline_001)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_input;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_input_tensorinfo(nullptr, 0, &t_input), NNFW_STATUS_UNEXPECTED_NULL);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_input_tensorinfo_pipeline_002)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_input;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_input_tensorinfo(_session, 1, &t_input), NNFW_STATUS_ERROR);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_output_tensorinfo_pipeline_001)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_output;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_output_tensorinfo(nullptr, 0, &t_output), NNFW_STATUS_UNEXPECTED_NULL);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_output_tensorinfo_pipeline_002)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_output;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_output_tensorinfo(_session, 1, &t_output), NNFW_STATUS_ERROR);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_input_output_size_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- uint32_t input_num = -1;
- uint32_t output_num = -1;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_input_size(nullptr, &input_num), NNFW_STATUS_UNEXPECTED_NULL);
- ASSERT_EQ(input_num, -1);
- ASSERT_EQ(nnfw_output_size(nullptr, &output_num), NNFW_STATUS_UNEXPECTED_NULL);
- ASSERT_EQ(output_num, -1);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_set_input_tensorinfo_pipeline)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
- nnfw_tensorinfo t_input = {NNFW_TYPE_TENSOR_FLOAT32, 4, {1, 224, 224, 3}};
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- ASSERT_EQ(nnfw_set_input_tensorinfo(nullptr, 0, &t_input), NNFW_STATUS_UNEXPECTED_NULL);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_input_output_tensorindex)
-{
- std::vector<void *> dummy1;
- std::vector<uint32_t> dummy2;
-
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- uint32_t input_index = 100;
- ASSERT_EQ(nnfw_input_tensorindex(_session, "input1", &input_index), NNFW_STATUS_ERROR);
- ASSERT_EQ(input_index, 100);
-
- uint32_t output_index = 100;
- ASSERT_EQ(nnfw_output_tensorindex(_session, "MobilenetV1/Predictions/Reshape_2", &output_index),
- NNFW_STATUS_ERROR);
- ASSERT_EQ(output_index, 100);
-
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, &dummy1, &dummy2));
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, neg_run_pipeline)
-{
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_set_available_backends(_session, "cpu"));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- auto producer = [this]() {
- std::vector<void *> inputs;
- std::vector<uint32_t> lengths;
- inputs.clear();
- lengths.clear();
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, (void *)&inputs, (void *)&lengths));
- };
-
- auto consumer = [this]() {
- std::vector<void *> outputs;
- ASSERT_EQ(nnfw_pop_pipeline_output(_session, (void *)&outputs), NNFW_STATUS_ERROR);
- };
-
- auto producer_thread = std::thread(producer);
- auto consumer_thread = std::thread(consumer);
-
- producer_thread.join();
- consumer_thread.join();
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-}
-
-TEST_F(ValidationTestPipelineSession, run_pipeline)
-{
- build_partition_map();
-
- NNFW_ENSURE_SUCCESS(nnfw_create_session(&_session));
- NNFW_ENSURE_SUCCESS(nnfw_load_model_from_modelfile(
- _session, NNPackages::get().getModelAbsoluteFilePath("mobilenet_v1_1.0_224").c_str()));
- NNFW_ENSURE_SUCCESS(nnfw_set_available_backends(_session, "cpu"));
- NNFW_ENSURE_SUCCESS(nnfw_prepare_pipeline(_session, "./partition_map.json"));
-
- auto producer = [this]() {
- std::vector<void *> inputs;
- std::vector<uint32_t> lengths;
- inputs.clear();
- lengths.clear();
- NNFW_ENSURE_SUCCESS(nnfw_push_pipeline_input(_session, (void *)&inputs, (void *)&lengths));
- };
-
- auto producer_thread = std::thread(producer);
-
- producer_thread.join();
- NNFW_ENSURE_SUCCESS(nnfw_close_session(_session));
-
- remove("./partition_map.json");
-
- SUCCEED();
-}