b55f60236274a56a29bc9abeb35eada72913a323
[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_8_0"
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_8_0"
43               "$<TARGET_FILE:luci_eval_driver>"
44               ${LUCI_VALUE_TESTS_TOL}
45     )
46   endif()
47
48   if(ONE_UBUNTU_CODENAME_JAMMY)
49     add_test(NAME luci_value_210_test
50       COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverify.sh"
51               "${CMAKE_CURRENT_BINARY_DIR}"
52               "${ARTIFACTS_BIN_PATH}"
53               "${NNCC_OVERLAY_DIR}/venv_2_10_1"
54               "$<TARGET_FILE:luci_eval_driver>"
55               ${LUCI_VALUE_TESTS}
56     )
57
58     if(DEFINED LUCI_VALUE_TESTS_TOL)
59       add_test(NAME luci_value_tol_210_test
60         COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverifytol.sh"
61                 "${CMAKE_CURRENT_BINARY_DIR}"
62                 "${ARTIFACTS_BIN_PATH}"
63                 "${NNCC_OVERLAY_DIR}/venv_2_10_1"
64                 "$<TARGET_FILE:luci_eval_driver>"
65                 ${LUCI_VALUE_TESTS_TOL}
66       )
67     endif()
68   endif(ONE_UBUNTU_CODENAME_JAMMY)
69
70 else(NOT CMAKE_CROSSCOMPILING)
71   # NOTE target test is carried out using reference input/output data from host
72   #      test results. this is because it would be difficult to prepare
73   #      TensorFlow lite for target device.
74   #      thus, one must run the host test and then run the test in target device
75   #      with the test result files from the host test.
76
77   if(NOT DEFINED ENV{BUILD_HOST_EXEC})
78     message(STATUS "BUILD_HOST_EXEC not set: Skip luci-value-test")
79     return()
80   endif(NOT DEFINED ENV{BUILD_HOST_EXEC})
81
82   set(ARTIFACTS_BIN_PATH $ENV{BUILD_HOST_EXEC}/compiler/common-artifacts)
83
84   add_test(NAME luci_value_cross_test
85     COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverify_ref.sh"
86             "${CMAKE_CURRENT_BINARY_DIR}"
87             "${ARTIFACTS_BIN_PATH}"
88             "$<TARGET_FILE:luci_eval_driver>"
89             ${LUCI_VALUE_TESTS}
90   )
91
92   if(DEFINED LUCI_VALUE_TESTS_TOL)
93     add_test(NAME luci_value_cross_tol_test
94              COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/evalverifytol_ref.sh"
95                      "${CMAKE_CURRENT_BINARY_DIR}"
96                      "${ARTIFACTS_BIN_PATH}"
97                      "$<TARGET_FILE:luci_eval_driver>"
98                      ${LUCI_VALUE_TESTS_TOL}
99     )
100   endif()
101
102 endif(NOT CMAKE_CROSSCOMPILING)