Imported Upstream version 1.25.0
[platform/core/ml/nnfw.git] / compiler / luci-value-test / CMakeLists.txt
1 if(NOT ENABLE_TEST)
2   return()
3 endif(NOT ENABLE_TEST)
4
5 unset(LUCI_VALUE_TESTS)
6 unset(LUCI_VALUE_TESTS_TOL)
7
8 macro(addeval NAME)
9   list(APPEND LUCI_VALUE_TESTS ${NAME})
10 endmacro(addeval)
11
12 macro(addevaltol NAME RTOL ATOL)
13   list(APPEND LUCI_VALUE_TESTS_TOL ${NAME} ${RTOL} ${ATOL})
14 endmacro(addevaltol)
15
16 # Read "test.lst"
17 include("test.lst")
18 # Read "test.local.lst" if exists
19 include("test.local.lst" OPTIONAL)
20
21 # Generate dependencies
22 add_custom_target(luci_eval_testfiles ALL DEPENDS ${TESTFILES})
23
24 if(NOT CMAKE_CROSSCOMPILING)
25
26   get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
27
28   add_test(NAME luci_value_test
29     COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverify.sh"
30             "${CMAKE_CURRENT_BINARY_DIR}"
31             "${ARTIFACTS_BIN_PATH}"
32             "${NNCC_OVERLAY_DIR}/venv_2_12_1"
33             "$<TARGET_FILE:luci_eval_driver>"
34             ${LUCI_VALUE_TESTS}
35   )
36
37   if(DEFINED LUCI_VALUE_TESTS_TOL)
38     add_test(NAME luci_value_tol_test
39       COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverifytol.sh"
40               "${CMAKE_CURRENT_BINARY_DIR}"
41               "${ARTIFACTS_BIN_PATH}"
42               "${NNCC_OVERLAY_DIR}/venv_2_12_1"
43               "$<TARGET_FILE:luci_eval_driver>"
44               ${LUCI_VALUE_TESTS_TOL}
45     )
46   endif()
47
48 else(NOT CMAKE_CROSSCOMPILING)
49   # NOTE target test is carried out using reference input/output data from host
50   #      test results. this is because it would be difficult to prepare
51   #      TensorFlow lite for target device.
52   #      thus, one must run the host test and then run the test in target device
53   #      with the test result files from the host test.
54
55   if(NOT DEFINED ENV{BUILD_HOST_EXEC})
56     message(STATUS "BUILD_HOST_EXEC not set: Skip luci-value-test")
57     return()
58   endif(NOT DEFINED ENV{BUILD_HOST_EXEC})
59
60   set(ARTIFACTS_BIN_PATH $ENV{BUILD_HOST_EXEC}/compiler/common-artifacts)
61
62   add_test(NAME luci_value_cross_test
63     COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverify_ref.sh"
64             "${CMAKE_CURRENT_BINARY_DIR}"
65             "${ARTIFACTS_BIN_PATH}"
66             "$<TARGET_FILE:luci_eval_driver>"
67             ${LUCI_VALUE_TESTS}
68   )
69
70   if(DEFINED LUCI_VALUE_TESTS_TOL)
71     add_test(NAME luci_value_cross_tol_test
72              COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverifytol_ref.sh"
73                      "${CMAKE_CURRENT_BINARY_DIR}"
74                      "${ARTIFACTS_BIN_PATH}"
75                      "$<TARGET_FILE:luci_eval_driver>"
76                      ${LUCI_VALUE_TESTS_TOL}
77     )
78   endif()
79
80 endif(NOT CMAKE_CROSSCOMPILING)