Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / compiler / pota-quantization-value-test / CMakeLists.txt
1 unset(QUANTIZATION_VALUE_TEST)
2 unset(QUANTIZATION_VALUE_TEST_WITH_PARAM)
3
4 macro(addTest NAME GRANULARITY DTYPE)
5   list(APPEND QUANTIZATION_VALUE_TEST ${NAME})
6   list(APPEND QUANTIZATION_VALUE_TEST_WITH_PARAM ${NAME} ${GRANULARITY} ${DTYPE})
7 endmacro(addTest)
8
9 # Read "test.lst"
10 include("test.lst")
11 # Read "test.local.lst" if exists
12 include("test.local.lst" OPTIONAL)
13
14 unset(TEST_DEPS)
15
16 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
17
18 set(VIRTUALENV "${NNCC_OVERLAY_DIR}/venv_1_13_2")
19
20 ###
21 ### Generate test.config
22 ###
23 set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
24
25 add_custom_command(
26   OUTPUT ${TEST_CONFIG}
27   COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
28   COMMAND ${CMAKE_COMMAND} -E echo 'RECORD_MINMAX_PATH=\"$<TARGET_FILE:record-minmax>\"' >> ${TEST_CONFIG}
29   COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_QUANTIZER_PATH=\"$<TARGET_FILE:circle-quantizer>\"' >> ${TEST_CONFIG}
30   COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_TENSORDUMP_PATH=\"$<TARGET_FILE:circle-tensordump>\"' >> ${TEST_CONFIG}
31   COMMAND ${CMAKE_COMMAND} -E echo 'VIRTUALENV=\"${VIRTUALENV}\"' >> ${TEST_CONFIG}
32   DEPENDS record-minmax
33   DEPENDS circle-quantizer
34   DEPENDS circle-tensordump
35   COMMENT "Generate test configuration"
36 )
37
38 list(APPEND TEST_DEPS "${TEST_CONFIG}")
39
40 # This enforces CMake to generate all the dependencies during "build" phase
41 add_custom_target(pota_quantization_value_test_deps ALL DEPENDS ${TEST_DEPS})
42
43 # Run tests
44 add_test(
45   NAME pota_fake_wquant_test
46   COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_fake_wquant.sh"
47           "${TEST_CONFIG}"
48           "${ARTIFACTS_BIN_PATH}"
49           ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
50 )
51
52 add_test(
53   NAME pota_record_minmax_test
54   COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_record_minmax.sh"
55           "${TEST_CONFIG}"
56           "${ARTIFACTS_BIN_PATH}"
57           ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
58 )
59
60 add_test(
61   NAME pota_quantization_test
62   COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization.sh"
63           "${TEST_CONFIG}"
64           "${ARTIFACTS_BIN_PATH}"
65           ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
66 )
67
68 set_tests_properties(pota_record_minmax_test PROPERTIES DEPENDS pota_fake_wquant_test)
69 set_tests_properties(pota_quantization_test PROPERTIES DEPENDS pota_record_minmax_test)