list(APPEND TEST_NAMES ${PREFIX})
endforeach(PREFIX)
+##
+## Copy testall
+##
+set(TEST_RUNNER "${CMAKE_CURRENT_BINARY_DIR}/testall")
+set(TEST_RUNNER_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/testall")
+
+add_custom_command(
+ OUTPUT ${TEST_RUNNER}
+ COMMAND ${CMAKE_COMMAND} -E copy "${TEST_RUNNER_SOURCE}" "${TEST_RUNNER}"
+ DEPENDS ${TEST_RUNNER_SOURCE}
+ COMMENT "Generate test runner"
+)
+
+list(APPEND TEST_DEPS "${TEST_RUNNER}")
+
+###
+### Generate test.config
+###
+set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
+
+add_custom_command(
+ OUTPUT ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'NNKIT_RUN_PATH=\"$<TARGET_FILE:nnkit-run>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'TF_BACKEND_PATH=\"$<TARGET_FILE:nnkit_tf_backend>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'TFLITE_BACKEND_PATH=\"$<TARGET_FILE:nnkit_tflite_backend>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'TF2TFLITE_PATH=\"$<TARGET_FILE:tf2tflite>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'RANDOMIZE_ACTION_PATH=\"$<TARGET_FILE:nnkit_randomize_action>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'HDF5_EXPORT_ACTION_PATH=\"$<TARGET_FILE:nnkit_HDF5_export_action>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'HDF5_IMPORT_ACTION_PATH=\"$<TARGET_FILE:nnkit_HDF5_import_action>\"' >> ${TEST_CONFIG}
+ COMMAND ${CMAKE_COMMAND} -E echo 'I5DIFF_PATH=\"$<TARGET_FILE:i5diff>\"' >> ${TEST_CONFIG}
+ DEPENDS
+ nnkit-run
+ nnkit_tf_backend
+ nnkit_tflite_backend
+ tf2tflite
+ nnkit_randomize_action
+ nnkit_HDF5_export_action
+ nnkit_HDF5_import_action
+ i5diff
+ COMMENT "Generate test configuration"
+)
+
+list(APPEND TEST_DEPS "${TEST_CONFIG}")
+
# This "tf2tflite_deps" target enforces CMake to generate all the dependencies during "build" phase
add_custom_target(tf2tflite_deps ALL DEPENDS ${TEST_DEPS})
# Run tests
add_test(
NAME tf2tflite_test
- COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/testall"
- $<TARGET_FILE:nnkit-run>
- $<TARGET_FILE:nnkit_tf_backend>
- $<TARGET_FILE:nnkit_tflite_backend>
- $<TARGET_FILE:tf2tflite>
- $<TARGET_FILE:nnkit_randomize_action>
- $<TARGET_FILE:nnkit_HDF5_export_action>
- $<TARGET_FILE:nnkit_HDF5_import_action>
- $<TARGET_FILE:i5diff>
+ COMMAND "${TEST_RUNNER}"
+ "${TEST_CONFIG}"
"${CMAKE_CURRENT_BINARY_DIR}"
${TEST_NAMES}
)
#!/bin/bash
-# Need at least 9 arguments
-if [[ $# -lt 9 ]]; then
+# Need at least 2 arguments
+if [[ $# -lt 2 ]]; then
echo "USAGE: $0 ..."
echo
echo "ARGUMENTS:"
- echo " [nnkit-run path]"
- echo " [TF backend path]"
- echo " [TFLITE backend path]"
- echo " [TF2TFLITE path]"
- echo " [randomize action path]"
- echo " [HDF5 export action path]"
- echo " [HDF5 import action path]"
- echo " [i5diff path]"
+ echo " [test.config path]"
echo " [WORKDIR]"
echo " [Prefix1]"
echo " [Prefix2]"
exit 255
fi
-NNKIT_RUN_PATH="$1"; shift
-TF_BACKEND_PATH="$1"; shift
-TFLITE_BACKEND_PATH="$1"; shift
-TF2TFLITE_PATH="$1"; shift
-RANDOMIZE_ACTION_PATH="$1"; shift
-HDF5_EXPORT_ACTION_PATH="$1"; shift
-HDF5_IMPORT_ACTION_PATH="$1"; shift
-I5DIFF_PATH="$1"; shift
+CONFIG_PATH="$1"; shift
WORKDIR="$1"; shift
+source "${CONFIG_PATH}"
+
echo "-- Found nnkit-run: ${NNKIT_RUN_PATH}"
echo "-- Found TF backend: ${TF_BACKEND_PATH}"
echo "-- Found TFLITE backend: ${TFLITE_BACKEND_PATH}"