From 0cc54a728a4cc3d4de771d5eae45fa3fb5124945 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EA=B9=80=EC=88=98=EC=A7=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Engineer/=EC=82=BC=EC=84=B1=EC=A0=84?= =?utf8?q?=EC=9E=90?= Date: Thu, 24 May 2018 11:15:22 +0900 Subject: [PATCH] Remove android dependency in TestValidation (#1316) * Remove android dependency in TestValidation This commit removes android dependency in TestValidation test. Signed-off-by: sjsujinkim --- .../tests/neural_networks_test/TestValidation.cpp | 33 ++++++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/runtimes/tests/neural_networks_test/TestValidation.cpp b/runtimes/tests/neural_networks_test/TestValidation.cpp index 55be266..36d1f0c 100644 --- a/runtimes/tests/neural_networks_test/TestValidation.cpp +++ b/runtimes/tests/neural_networks_test/TestValidation.cpp @@ -15,16 +15,37 @@ * limitations under the License. */ #include "NeuralNetworks.h" -#if 0 // TODO-NNRT : Enable if we support OEM, shared memory +#if 0 // TODO-NNRT : Enable if we support OEM #include "NeuralNetworksOEM.h" -#include #endif -#include #include #include #include +#include +#include // This file tests all the validations done by the Neural Networks API. namespace { + +#define PATH_MAX 256 + +static int shmem_num = 0; +static int shmem_create_region(size_t size) +{ + char temp[PATH_MAX]; + snprintf(temp, sizeof(temp), "/tmp/nn-shmem-%d-%d-XXXXXXXXX", getpid(), shmem_num++); + int fd = mkstemp(temp); + if (fd == -1) return -1; + + unlink(temp); + + if (TEMP_FAILURE_RETRY(ftruncate(fd, size)) == -1) { + close(fd); + return -1; + } + + return fd; +} + class ValidationTest : public ::testing::Test { protected: virtual void SetUp() {} @@ -185,7 +206,7 @@ TEST_F(ValidationTestModel, SetOperandValueFromMemory) { .dimensions = dimensions}; EXPECT_EQ(ANeuralNetworksModel_addOperand(mModel, &floatType), ANEURALNETWORKS_NO_ERROR); const size_t memorySize = 20; - int memoryFd = ashmem_create_region("nnMemory", memorySize); + int memoryFd = shmem_create_region(memorySize); ASSERT_GT(memoryFd, 0); ANeuralNetworksMemory* memory; EXPECT_EQ(ANeuralNetworksMemory_createFromFd(memorySize, PROT_READ | PROT_WRITE, @@ -401,7 +422,7 @@ TEST_F(ValidationTestExecution, SetInputFromMemory) { ANeuralNetworksExecution* execution; EXPECT_EQ(ANeuralNetworksExecution_create(mCompilation, &execution), ANEURALNETWORKS_NO_ERROR); const size_t memorySize = 20; - int memoryFd = ashmem_create_region("nnMemory", memorySize); + int memoryFd = shmem_create_region(memorySize); ASSERT_GT(memoryFd, 0); ANeuralNetworksMemory* memory; EXPECT_EQ(ANeuralNetworksMemory_createFromFd(memorySize, PROT_READ | PROT_WRITE, @@ -438,7 +459,7 @@ TEST_F(ValidationTestExecution, SetOutputFromMemory) { ANeuralNetworksExecution* execution; EXPECT_EQ(ANeuralNetworksExecution_create(mCompilation, &execution), ANEURALNETWORKS_NO_ERROR); const size_t memorySize = 20; - int memoryFd = ashmem_create_region("nnMemory", memorySize); + int memoryFd = shmem_create_region(memorySize); ASSERT_GT(memoryFd, 0); ANeuralNetworksMemory* memory; EXPECT_EQ(ANeuralNetworksMemory_createFromFd(memorySize, PROT_READ | PROT_WRITE, -- 2.7.4