3 # Do not make test if there are no remote machine information
5 message(STATUS "tf2nnpackage-value-remote-test: need to set REMOTE IP")
10 message(STATUS "tf2nnpackage-value-remote-test: need to set REMOTE_USER")
12 endif(NOT REMOTE_USER)
14 nnas_include(TargetRequire)
16 unset(REQUIRED_TARGETS)
17 list(APPEND REQUIRED_TARGETS testDataGenerator)
18 TargetRequire_Return(${REQUIRED_TARGETS})
20 message(STATUS "tf2nnpackage-value-remote-test: run tests")
24 nncc_find_resource(TensorFlowLiteRecipes)
25 set(TFLITE_RECIPE_REPO "${TensorFlowLiteRecipes_DIR}")
27 file(GLOB SUBDIR RELATIVE ${TFLITE_RECIPE_REPO} ${TFLITE_RECIPE_REPO}/*)
28 foreach(DIR IN ITEMS ${SUBDIR})
29 if(IS_DIRECTORY ${TFLITE_RECIPE_REPO}/${DIR})
30 list(APPEND TEST_NAMES ${DIR})
34 get_target_property(ARTIFACTS_SRC_PATH testDataGenerator SOURCE_DIR)
36 # In this test, only the runtime test is performed because the test from tf to
37 # nnpackage is done in common-artifacts, and for this runtime test, generation of
38 # test data is required. And, tcgenerate in ${ARTIFACTS_SRC_PATH}/exclude.lst
39 # means it won't generate test data, which is why below "tcgenerate" macro excludes
40 # specific opearators from runtime test.
41 # Also, since circlize and optimize macro included in `exclude.lst` file is only
42 # needed in common-artifacts, it has no function here.
48 macro(tcgenerate NAME)
49 list(REMOVE_ITEM TEST_NAMES ${NAME})
52 include("${ARTIFACTS_SRC_PATH}/exclude.lst")
55 set(TEST_RUNNER_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/testall.sh")
56 set(TEST_RUNNER "${CMAKE_CURRENT_BINARY_DIR}/testall.sh")
60 COMMAND ${CMAKE_COMMAND} -E copy "${TEST_RUNNER_SOURCE}" "${TEST_RUNNER}"
61 DEPENDS ${TEST_RUNNER_SOURCE}
62 COMMENT "Generate test runner"
65 list(APPEND TEST_DEPS "${TEST_RUNNER}")
67 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
69 # Generate test.config
70 set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
74 COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
75 COMMAND ${CMAKE_COMMAND} -E echo 'RUNTIME_LIBRARY_PATH=\"${NNAS_PROJECT_SOURCE_DIR}/Product/out/\"' >> ${TEST_CONFIG}
76 COMMENT "Generate test configuration"
79 list(APPEND TEST_DEPS "${TEST_CONFIG}")
81 # This "tf2nnpackage_value_remote_test_deps" target enforces CMake to generate all the dependencies during "build" phase
82 add_custom_target(tf2nnpackage_value_remote_test_deps ALL DEPENDS ${TEST_DEPS})
86 NAME tf2nnpackage_value_remote_test
87 COMMAND "${TEST_RUNNER}"
89 "${ARTIFACTS_BIN_PATH}"