[CI/script] Revise armv7l test script (#9319)
author오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Mon, 2 Dec 2019 06:05:56 +0000 (15:05 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Mon, 2 Dec 2019 06:05:56 +0000 (15:05 +0900)
- Use common script function
- Update argument comment in common script

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
infra/scripts/common.sh
infra/scripts/test_arm_neurun_acl_cl.sh
infra/scripts/test_arm_neurun_acl_neon.sh
infra/scripts/test_arm_neurun_cpu.sh
infra/scripts/test_arm_neurun_mixed.sh
infra/scripts/test_arm_pacl.sh

index bb77557..f3183e3 100644 (file)
 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
@@ -37,9 +33,9 @@ function CheckTestPrepared()
 }
 
 # $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
@@ -64,6 +60,10 @@ function TFLiteModelVerification()
   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
index 1c7a415..a816bc3 100755 (executable)
@@ -1,41 +1,31 @@
 #!/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
+
index a95bb65..1848122 100755 (executable)
@@ -1,49 +1,27 @@
 #!/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"
index c70edde..c2a890a 100755 (executable)
@@ -1,36 +1,20 @@
 #!/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
index a793bb3..2b90706 100755 (executable)
@@ -1,30 +1,15 @@
 #!/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"
@@ -33,11 +18,13 @@ for BACKEND in $BACKENDS; do
     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"
index 0584775..16fc51a 100755 (executable)
@@ -1,23 +1,10 @@
 #!/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"