[NNAPI Unittests] Add 'env' unittest (#442)
author박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 <jh1302.park@samsung.com>
Fri, 6 Apr 2018 00:52:36 +0000 (09:52 +0900)
committer김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 <jh0822.kim@samsung.com>
Fri, 6 Apr 2018 00:52:36 +0000 (09:52 +0900)
This commit adds a 'env' unittest in NNAPI unittests module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
tools/nnapi_unittests/CMakeLists.txt
tools/nnapi_unittests/lib/env.test.cpp [new file with mode: 0644]

index e15ea91..3ccc547 100644 (file)
@@ -1,10 +1,15 @@
 file(GLOB_RECURSE NNAPI_UNITTEST_LIB_SOURCES "lib/*.cpp")
+file(GLOB_RECURSE NNAPI_UNITTEST_LIB_TESTS "lib/*.test.cpp")
+list(REMOVE_ITEM NNAPI_UNITTEST_LIB_SOURCES ${NNAPI_UNITTEST_LIB_TESTS})
 
 add_library(nnapi_unittest_common ${NNAPI_UNITTEST_LIB_SOURCES})
 target_include_directories(nnapi_unittest_common PUBLIC "inc")
 target_link_libraries(nnapi_unittest_common nnfw_util)
 target_link_libraries(nnapi_unittest_common nnfw_support_tflite)
 
+add_executable(nnapi_unittest_lib_env_test "lib/env.test.cpp")
+target_link_libraries(nnapi_unittest_lib_env_test nnapi_unittest_common)
+
 function(add_nnapi_unittest NAME)
   add_executable(nnapi_unittest_${NAME} "tests/${NAME}.cpp")
   target_link_libraries(nnapi_unittest_${NAME} nnapi_unittest_common)
diff --git a/tools/nnapi_unittests/lib/env.test.cpp b/tools/nnapi_unittests/lib/env.test.cpp
new file mode 100644 (file)
index 0000000..0505a48
--- /dev/null
@@ -0,0 +1,32 @@
+#include "env.h"
+
+#include <string>
+
+#include <cstdlib>
+#include <cassert>
+
+inline void ensure(int err)
+{
+  assert(err == 0);
+}
+
+int main(int argc, char **argv)
+{
+  const std::string key{"TEST"};
+  const int num{3};
+
+  const auto str = std::to_string(num);
+
+  ensure(unsetenv(key.c_str()));
+  ensure(setenv(key.c_str(), str.c_str(), 0));
+
+  int value = 0;
+
+  assert(value != num);
+
+  IntVar buffer(key, value);
+
+  assert(buffer() == num);
+
+  return 0;
+}