3 SCRIPT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 HOST_HOME=$SCRIPT_ROOT/../..
5 if [ -z "$TEST_ROOT" ]; then
6 TEST_ROOT=/opt/usr/nnfw-test
11 echo "Usage: ./tizen_xu4_test.sh"
12 echo "Usage: ./tizen_xu4_test.sh --rpm-dir=path/to/rpm-dir"
13 echo "Usage: ./tizen_xu4_test.sh --test-suite-path=path/to/test-suite.tar.gz"
14 echo "Usage: ./tizen_xu4_test.sh --skip-install-model"
16 echo "--rpm-dir <dir> : directory containing nnfw.rpm and nnfw-test.rpm"
17 echo "--test-suite-path <dir> : filepath to test-suite.tar.gz"
18 echo "--skip-install-model : skip install downloaded model"
19 echo "--gcov-dir <dir> : directory to save gcov files"
22 function install_model()
24 # download tflite model files
26 tests/scripts/framework/run_test.sh --download=on
27 # TODO Since this command removes model file(.zip),
28 # We must always download the file unlike model file(.tflite).
29 # Because caching applies only to tflite file.
30 find tests -name "*.zip" -exec rm {} \;
31 tar -zcf cache.tar.gz tests/scripts/framework/cache
32 $SDB_CMD push cache.tar.gz $TEST_ROOT/.
34 $SDB_CMD shell tar -zxf $TEST_ROOT/cache.tar.gz -C $TEST_ROOT
36 # download api test model file for nnfw_api_gtest
37 MODEL_CACHE_DIR=$(mktemp -d)
38 tests/scripts/nnfw_api_gtest/install_nnfw_api_gtest_nnpackages.sh --install-dir $MODEL_CACHE_DIR
39 tar -zcf $MODEL_CACHE_DIR/api_model_test.tar.gz -C $MODEL_CACHE_DIR .
40 $SDB_CMD push $MODEL_CACHE_DIR/api_model_test.tar.gz $TEST_ROOT/Product/out/unittest_standalone/nnfw_api_gtest_models/
41 $SDB_CMD shell tar -zxf $TEST_ROOT/Product/out/unittest_standalone/nnfw_api_gtest_models/api_model_test.tar.gz \
42 -C $TEST_ROOT/Product/out/unittest_standalone/nnfw_api_gtest_models/
43 rm -rf $MODEL_CACHE_DIR
48 function prepare_rpm_test()
50 echo "======= Test with rpm packages(gbs build) ======="
52 $SDB_CMD shell rm -rf $TEST_ROOT
53 $SDB_CMD shell mkdir -p $TEST_ROOT
54 # install nnfw nnfw-test rpms
55 for file in $RPM_DIR/*.rpm
57 $SDB_CMD push $file $TEST_ROOT
58 $SDB_CMD shell rpm -Uvh $TEST_ROOT/$(basename $file) --force --nodeps
62 function prepare_suite_test()
64 echo "======= Test with test-suite(cross build) ======="
66 $SDB_CMD shell rm -rf $TEST_ROOT
67 $SDB_CMD shell mkdir -p $TEST_ROOT
70 $SDB_CMD push $TEST_SUITE_PATH $TEST_ROOT/$(basename $TEST_SUITE_PATH)
71 $SDB_CMD shell tar -zxf $TEST_ROOT/$(basename $TEST_SUITE_PATH) -C $TEST_ROOT
91 TEST_SUITE_PATH=${i#*=}
108 N=`sdb devices 2>/dev/null | wc -l`
110 # exit if no device found
111 if [[ $N -le 1 ]]; then
112 echo "No device found."
118 DEVICE_LIST=`sdb devices 2>/dev/null`
119 echo "$DEVICE_LIST" | tail -n"$NUM_DEV"
121 if [ -z "$SERIAL" ]; then
122 SERIAL=`echo "$DEVICE_LIST" | tail -n1 | awk '{print $1}'`
124 SDB_CMD="sdb -s $SERIAL "
126 # root on, remount as rw
128 $SDB_CMD shell mount -o rw,remount /
130 SCRIPT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
131 ROOT=$SCRIPT_ROOT/../
133 if [ -z "$RPM_DIR" ] && [ -z "$TEST_SUITE_PATH" ]; then
134 echo "======= Skip install runtime ======="
137 if [ ! -z "$RPM_DIR" ]; then
139 elif [ ! -z "$TEST_SUITE_PATH" ]; then
143 if [ $INSTALL_MODEL = "1" ]; then
146 echo "======= Skip install model ======="
149 if [ -z "${GCOV_DIR}" ]; then
150 ${SDB_CMD} shell /bin/bash -c "IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend acl_cl --tflite-loader"
151 ${SDB_CMD} shell /bin/bash -c "IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend acl_neon"
152 ${SDB_CMD} shell /bin/bash -c "IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend cpu"
153 ${SDB_CMD} shell /bin/bash -c "IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime_mixed.sh"
154 ${SDB_CMD} shell /bin/bash -c "IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --interp"
160 sdb pull ${TEST_ROOT}/tests/scripts/build_path.txt
161 SRC_PREFIX=`cat build_path.txt`
162 GCOV_PREFIX_STRIP=`echo "${SRC_PREFIX}" | grep -o '/' | wc -l`
163 GCOV_DATA_PATH="/opt/usr/nnfw-gcov"
165 # TODO For coverage check, we run acl_cl and mixed test
166 ${SDB_CMD} shell /bin/bash -c "GCOV_PREFIX_STRIP=${GCOV_PREFIX_STRIP} IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend acl_cl --tflite-loader"
167 ${SDB_CMD} shell /bin/bash -c "GCOV_PREFIX_STRIP=${GCOV_PREFIX_STRIP} IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend acl_neon"
168 ${SDB_CMD} shell /bin/bash -c "GCOV_PREFIX_STRIP=${GCOV_PREFIX_STRIP} IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --backend cpu"
169 ${SDB_CMD} shell /bin/bash -c "GCOV_PREFIX_STRIP=${GCOV_PREFIX_STRIP} IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime_mixed.sh"
170 ${SDB_CMD} shell /bin/bash -c "GCOV_PREFIX_STRIP=${GCOV_PREFIX_STRIP} IGNORE_MD5=1 ${TEST_ROOT}/infra/scripts/test_ubuntu_runtime.sh --interp"
172 # More test to check coverage
173 ${SDB_CMD} shell "rm -rf ${GCOV_DATA_PATH} && mkdir -p ${GCOV_DATA_PATH}"
174 ${SDB_CMD} shell "find ${TEST_ROOT} -type f \( -iname '*.gcda' -or -iname '*.gcno' \) -exec cp {} ${GCOV_DATA_PATH}/. \;"
175 ${SDB_CMD} shell "cd ${TEST_ROOT} && tar -zcvf coverage-data.tar.gz -C ${GCOV_DATA_PATH} ."
178 sdb pull ${TEST_ROOT}/coverage-data.tar.gz
179 tar -zxvf coverage-data.tar.gz