From: Dongju Chae Date: Mon, 31 May 2021 06:02:50 +0000 (+0900) Subject: [Coverage] Increase function coverage X-Git-Tag: accepted/tizen/unified/20220103.130045~144 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f256a6a700e40eb4afb299c62b93a396a025af6b;p=platform%2Fadaptation%2Fnpu%2Ftrix-engine.git [Coverage] Increase function coverage This patch increases function coverage for unused types. Signed-off-by: Dongju Chae --- diff --git a/src/core/ne-data.cc b/src/core/ne-data.cc index fddbd24..c14e99f 100644 --- a/src/core/ne-data.cc +++ b/src/core/ne-data.cc @@ -316,5 +316,8 @@ DataConverter::perform () { memcpy (dst_, src_, size_); } + if (quantizer) + delete quantizer; + return size_; } diff --git a/tests/unittests/ne_core_data_test.cc b/tests/unittests/ne_core_data_test.cc index cc7fe97..116695f 100644 --- a/tests/unittests/ne_core_data_test.cc +++ b/tests/unittests/ne_core_data_test.cc @@ -12,6 +12,7 @@ */ #include +#include #include "ne_unittest_utils.h" #include @@ -387,6 +388,62 @@ TEST (ne_core_data_test, perform_n) { } /** + * @brief Test quantize() with various types (dummy) + */ +TEST (ne_core_data_test, dummy_quantize) { + data_type npu_types[] = {DATA_TYPE_SRNPU, DATA_TYPE_QASYMM8, + DATA_TYPE_QSYMM16}; + data_type std_types[] = { + DATA_TYPE_INT8, DATA_TYPE_UINT8, DATA_TYPE_INT16, DATA_TYPE_UINT16, + DATA_TYPE_INT32, DATA_TYPE_UINT32, DATA_TYPE_INT64, DATA_TYPE_UINT64, + DATA_TYPE_FLOAT32, DATA_TYPE_FLOAT64}; + uint32_t data_dims[] = {1, 1, 1, 1024}; + + void *src_data = malloc (4096); + void *dst_data = malloc (4096); + + ASSERT_NE (src_data, nullptr); + ASSERT_NE (dst_data, nullptr); + + /* std to npu */ + std::unique_ptr converter (new DataConverter (true)); + + converter->setDataLayout (DATA_LAYOUT_TRIV2, DATA_LAYOUT_TRIV2); + converter->setDataDims (data_dims); + converter->setTops (2); + converter->setQuantZero (127); + converter->setQuantScale (1.0); + + for (auto &s : std_types) { + converter->setData (src_data, dst_data, get_data_size (s)); + for (auto &n : npu_types) { + converter->setDataType (s, n); + converter->perform (); + } + } + + /* npu to std */ + converter.reset (new DataConverter (false)); + + converter->setDataLayout (DATA_LAYOUT_TRIV2, DATA_LAYOUT_TRIV2); + converter->setDataDims (data_dims); + converter->setTops (2); + converter->setQuantZero (127); + converter->setQuantScale (1.0); + + for (auto &n : npu_types) { + converter->setData (src_data, dst_data, get_data_size (n)); + for (auto &s : std_types) { + converter->setDataType (n, s); + converter->perform (); + } + } + + free (src_data); + free (dst_data); +} + +/** * @brief main function for unit test */ int