a23383152e3087e596942b075cbad41e5b368bc7
[platform/core/ml/nnfw.git] / compiler / dalgona-test / CMakeLists.txt
1 if(NOT ENABLE_TEST)
2   return()
3 endif(NOT ENABLE_TEST)
4
5 unset(DALGONA_SINGLE_OP_TEST)
6
7 macro(singleOpTest NAME)
8   list(APPEND DALGONA_SINGLE_OP_TEST ${NAME})
9 endmacro(singleOpTest)
10
11 # Read "test.lst"
12 include("test.lst")
13 # Read "test.local.lst" if exists
14 include("test.local.lst" OPTIONAL)
15
16 unset(TEST_DEPS)
17
18 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
19
20 # Place test scripts in one place
21 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GenH5RandomInputs.py" "${CMAKE_CURRENT_BINARY_DIR}/GenH5RandomInputs.py" COPYONLY)
22 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/SingleOperatorTest.py" "${CMAKE_CURRENT_BINARY_DIR}/SingleOperatorTest.py" COPYONLY)
23 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/RandomDataGenerator.py" "${CMAKE_CURRENT_BINARY_DIR}/RandomDataGenerator.py" COPYONLY)
24 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/TestUtil.py" "${CMAKE_CURRENT_BINARY_DIR}/TestUtil.py" COPYONLY)
25
26 ###
27 ### Generate test.config
28 ###
29 set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
30
31 add_custom_command(
32   OUTPUT ${TEST_CONFIG}
33   COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
34   COMMAND ${CMAKE_COMMAND} -E echo 'DALGONA_PATH=\"$<TARGET_FILE:dalgona>\"' >> ${TEST_CONFIG}
35   DEPENDS dalgona
36   COMMENT "Generate test configuration"
37 )
38
39 # Import pics module
40 get_target_property(PICS_BIN_PATH pics BINARY_DIR)
41 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/circle
42                    COMMAND ${CMAKE_COMMAND} -E create_symlink
43                    ${PICS_BIN_PATH}/circle ${CMAKE_CURRENT_BINARY_DIR}/circle)
44
45 list(APPEND TEST_DEPS "${TEST_CONFIG}" "${CMAKE_CURRENT_BINARY_DIR}/circle")
46
47 # This enforces CMake to generate all the dependencies during "build" phase
48 add_custom_target(dalgona_test_deps ALL DEPENDS ${TEST_DEPS})
49
50 # Run tests
51 add_test(
52   NAME dalgona_single_op_test
53   COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/TestSingleOp.sh"
54           "${TEST_CONFIG}"
55           "${ARTIFACTS_BIN_PATH}"
56           "${NNCC_OVERLAY_DIR}/venv_2_8_0"
57           ${DALGONA_SINGLE_OP_TEST}
58 )
59
60 if(ONE_UBUNTU_CODENAME_JAMMY)
61   add_test(
62     NAME dalgona_single_op_210_test
63     COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/TestSingleOp.sh"
64             "${TEST_CONFIG}"
65             "${ARTIFACTS_BIN_PATH}"
66             "${NNCC_OVERLAY_DIR}/venv_2_10_1"
67             ${DALGONA_SINGLE_OP_TEST}
68   )
69 endif(ONE_UBUNTU_CODENAME_JAMMY)