diff options
author | Hyeongseok Oh <hseok82.oh@samsung.com> | 2023-04-12 15:42:02 +0900 |
---|---|---|
committer | Hyeongseok Oh <hseok82.oh@samsung.com> | 2023-04-12 15:42:02 +0900 |
commit | 323663bb115ef625642391a5a8e9b35fee8b2ae3 (patch) | |
tree | 17e2a6b91535e6f53f4cacda5e4db6aa0303dd22 /tests/nnfw_api | |
parent | c690d52bdd137ed6a17353aa7af35e8141ece77b (diff) | |
download | nnfw-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.txt | 6 | ||||
-rw-r--r-- | tests/nnfw_api/src/ValidationTestAddModelLoaded.test.cc | 2 | ||||
-rw-r--r-- | tests/nnfw_api/src/ValidationTestPipelineSession.test.cc | 541 |
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(); -} |