CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_PATH="$(cd ${CURRENT_PATH}/../../ && pwd)"
-# $1: (required) backend
-# $2: (required) related framework test list file path from nnfw root directory
-# pass empty string if there is no test list
-# $3: (required) related report path from nnfw root directory
function CheckTestPrepared()
{
# Model download server setting
}
# $1: (required) backend
-# $2: (required) related framework skiplist file path from nnfw root directory
+# $2: (required) framework list file relative path from nnfw root directory
# pass empty string if there is no skiplist
-# $3: (required) related report path from nnfw root directory
+# $3: (required) relative path to report from nnfw root directory
function TFLiteModelVerification()
{
[[ $# -ne 3 ]] && echo "Invalid function argument setting" && exit 1
popd > /dev/null
}
+# $1: (required) backend
+# $2: (required) unittest skiplist file relative path from nnfw root directory
+# pass empty string if there is no test list
+# $3: (required) relative path for report from nnfw root directory
function Unittests()
{
[[ $# -ne 3 ]] && echo "Invalid function argument setting" && exit 1
#!/bin/bash
-[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
-
-CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-ROOT_PATH="$CURRENT_PATH/../../"
-
-# Model download server setting
-if [[ -z $MODELFILE_SERVER ]]; then
- echo "Need model file server setting"
- exit 1
-fi
-
-set -e
-
-pushd $ROOT_PATH > /dev/null
-
-export BACKENDS="acl_cl"
-
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux ./Product/out/unittest/nnapi_gtest.skip
-export EXECUTOR=Linear
-source ./tests/scripts/test_driver.sh \
- --reportdir="$ROOT_PATH/report/acl_cl/linear" .
-
-export EXECUTOR=Dataflow
-source ./tests/scripts/test_driver.sh \
- --reportdir="$ROOT_PATH/report/acl_cl/dataflow" .
-
-export EXECUTOR=Parallel
-source ./tests/scripts/test_driver.sh \
- --reportdir="$ROOT_PATH/report/acl_cl/parallel" .
-
-# Test tflite_loader
+set -eo pipefail
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
+
+CheckTestPrepared
+
+BACKEND="acl_cl"
+UNITTEST_SKIPLIST="Product/out/unittest/nnapi_gtest.skip.armv7l-linux"
+FRAMEWORK_TESTLIST=""
+REPORT_BASE="report/${BACKEND}"
+EXECUTORS=("Linear" "Dataflow" "Parallel")
+
+for EXECUTOR in ${EXECUTORS};
+do
+ echo "[EXECUTOR]: ${EXECUTORS}"
+ export EXECUTOR="${EXECUTOR}"
+ Unittests "${BACKEND}" "${UNITTEST_SKIPLIST}" "${REPORT_BASE}/${EXECUTOR}"
+ TFLiteModelVerification "${BACKEND}" "${FRAMEWORK_TESTLIST}" "${REPORT_BASE}/${EXECUTOR}"
+done
unset EXECUTOR
-source ./tests/scripts/test_driver.sh \
- --frameworktest \
- --framework_driverbin="$ROOT_PATH/Product/out/bin/tflite_loader_test_tool" \
- --frameworktest_list_file=tests/scripts/tflite_loader_list.armv7l.txt \
- --reportdir="$ROOT_PATH/report/acl_cl/tfliteloader" .
+# Test tflite_loader
+pushd ${ROOT_PATH} > /dev/null
+./tests/scripts/test_driver.sh \
+ --frameworktest \
+ --framework_driverbin="$ROOT_PATH/Product/out/bin/tflite_loader_test_tool" \
+ --frameworktest_list_file=tests/scripts/tflite_loader_list.armv7l.txt \
+ --reportdir="$ROOT_PATH/report/acl_cl/tfliteloader" .
popd > /dev/null
+
#!/bin/bash
-[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
-
-CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-ROOT_PATH="$CURRENT_PATH/../../"
-
-# Model download server setting
-if [[ -z $MODELFILE_SERVER ]]; then
- echo "Need model file server setting"
- exit 1
-fi
-
-set -e
-
-pushd $ROOT_PATH > /dev/null
-
-export BACKENDS="acl_neon"
-
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.acl_neon ./Product/out/unittest/nnapi_gtest.skip
-export EXECUTOR=Linear
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt \
- --reportdir="$ROOT_PATH/report/acl_neon/linear" .
-
-export EXECUTOR=Dataflow
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt \
- --reportdir="$ROOT_PATH/report/acl_neon/dataflow" .
-
-export EXECUTOR=Parallel
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt \
- --reportdir="$ROOT_PATH/report/acl_neon/parallel" .
+set -eo pipefail
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
+
+CheckTestPrepared
+
+BACKEND="acl_neon"
+UNITTEST_SKIPLIST="Product/out/unittest/nnapi_gtest.skip.armv7l-linux.acl_neon"
+FRAMEWORK_TESTLIST="tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt"
+REPORT_BASE="report/${BACKEND}"
+EXECUTORS=("Linear" "Dataflow" "Parallel")
+
+for EXECUTOR in ${EXECUTORS};
+do
+ echo "[EXECUTOR]: ${EXECUTORS}"
+ export EXECUTOR="${EXECUTOR}"
+ Unittests "${BACKEND}" "${UNITTEST_SKIPLIST}" "${REPORT_BASE}/${EXECUTOR}"
+ TFLiteModelVerification "${BACKEND}" "${FRAMEWORK_TESTLIST}" "${REPORT_BASE}/${EXECUTOR}"
+done
+unset EXECUTOR
# NCNN backend test
# TODO Independent script when supporting ops are increased
-export BACKENDS="srcn"
export NCNN_LAYOUT="NCHW"
-unset OP_BACKEND_ALLOPS
-unset EXECUTOR
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.ncnn ./Product/out/unittest/nnapi_gtest.skip
-# Skip executor test - ADD operation in ncnn backend is not supported yet
-echo "ExecInstance.*" > ./Product/out/unittest/test_neurun.skip
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.ncnn.txt \
- --reportdir="$ROOT_PATH/report/ncnn" .
-
-popd > /dev/null
+Unittests "srcn" "Product/out/unittest/nnapi_gtest.skip.armv7l-linux.ncnn" "report/ncnn"
+TFLiteModelVerification "srcn" "tests/scripts/neurun_frameworktest_list.armv7l.ncnn.txt" "report/ncnn"
#!/bin/bash
-[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
-
-CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-ROOT_PATH="$CURRENT_PATH/../../"
-
-# Model download server setting
-if [[ -z $MODELFILE_SERVER ]]; then
- echo "Need model file server setting"
- exit 1
-fi
-
-set -e
-
-pushd $ROOT_PATH > /dev/null
-
-export BACKENDS="cpu"
-
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.cpu ./Product/out/unittest/nnapi_gtest.skip
-export EXECUTOR=Linear
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt \
- --reportdir="$ROOT_PATH/report/cpu/linear" .
-
-export EXECUTOR=Dataflow
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt \
- --reportdir="$ROOT_PATH/report/cpu/dataflow" .
-
-export EXECUTOR=Parallel
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt \
- --reportdir="$ROOT_PATH/report/cpu/parallel" .
-
-popd > /dev/null
+set -eo pipefail
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
+
+CheckTestPrepared
+
+BACKEND="cpu"
+UNITTEST_SKIPLIST="Product/out/unittest/nnapi_gtest.skip.armv7l-linux.cpu"
+FRAMEWORK_TESTLIST="tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt"
+REPORT_BASE="report/${BACKEND}"
+EXECUTORS=("Linear" "Dataflow" "Parallel")
+
+for EXECUTOR in ${EXECUTORS};
+do
+ echo "[EXECUTOR]: ${EXECUTORS}"
+ export EXECUTOR="${EXECUTOR}"
+ Unittests "${BACKEND}" "${UNITTEST_SKIPLIST}" "${REPORT_BASE}/${EXECUTOR}"
+ TFLiteModelVerification "${BACKEND}" "${FRAMEWORK_TESTLIST}" "${REPORT_BASE}/${EXECUTOR}"
+done
#!/bin/bash
-[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
+set -eo pipefail
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
-CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-ROOT_PATH="$CURRENT_PATH/../../"
+CheckTestPrepared
-# Model download server setting
-if [[ -z $MODELFILE_SERVER ]]; then
- echo "Need model file server setting"
- exit 1
-fi
-
-set -e
-
-pushd $ROOT_PATH > /dev/null
-
-export EXECUTOR=Linear
+pushd ${ROOT_PATH}
# NOTE Fixed backend assignment by type of operation
# TODO Enhance this with randomized test
BACKENDS=(cpu acl_cl acl_neon)
-export BACKENDS="acl_cl;acl_neon;cpu"
-export OP_BACKEND_Conv2D=cpu
-export OP_BACKEND_MaxPool2D=acl_cl
-export OP_BACKEND_AvgPool2D=acl_neon
-export ACL_LAYOUT=NCHW
# Get the intersect of framework test list files(each backend has a lsit)
TESTLIST_PREFIX="tests/scripts/neurun_frameworktest_list.armv7l"
comm -12 <(sort $TESTLIST_PREFIX.intersect.txt) <(sort $TESTLIST_PREFIX.$BACKEND.txt) > $TESTLIST_PREFIX.intersect.next.txt
mv $TESTLIST_PREFIX.intersect.next.txt $TESTLIST_PREFIX.intersect.txt
done
+popd > /dev/null
# Run the test
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux ./Product/out/unittest/nnapi_gtest.skip
-source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=$TESTLIST_PREFIX.intersect.txt \
- --reportdir="$ROOT_PATH/report/mixed" .
-
-popd > /dev/null
+export OP_BACKEND_Conv2D="cpu"
+export OP_BACKEND_MaxPool2D="acl_cl"
+export OP_BACKEND_AvgPool2D="acl_neon"
+export ACL_LAYOUT="NCHW"
+export NCNN_LAYOUT="NCHW"
+Unittests "acl_cl;acl_neon;cpu" "Product/out/unittest/nnapi_gtest.skip.armv7l-linux" "report/mixed"
+TFLiteModelVerification "acl_cl;acl_neon;cpu" "${TESTLIST_PREFIX}.intersect.txt" "report/mixed"
#!/bin/bash
-[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
+set -eo pipefail
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
-CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-ROOT_PATH="$CURRENT_PATH/../../"
+CheckTestPrepared
-# Model download server setting
-if [[ -z $MODELFILE_SERVER ]]; then
- echo "Need model file server setting"
- exit 1
-fi
-
-set -e
-
-pushd $ROOT_PATH > /dev/null
-
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.pacl ./Product/out/unittest/nnapi_gtest.skip
-LD_LIBRARY_PATH=$ROOT_PATH/Product/out/lib/pureacl ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/pacl_frameworktest_list.armv7l-linux.txt \
- --reportdir="$ROOT_PATH/report" .
-
-popd > /dev/null
+export LD_LIBRARY_PATH=${ROOT_PATH}/Product/out/lib/pureacl
+Unittests "" "Product/out/unittest/nnapi_gtest.skip.armv7l-linux.pacl" "report"
+TFLiteModelVerification "" "tests/scripts/pacl_frameworktest_list.armv7l-linux.txt" "report"