Blame view

3rdparty/opencv-4.5.4/cmake/templates/opencv_run_all_tests_android.sh.in 1.42 KB
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  #!/bin/sh
  
  BASE_DIR=`dirname $0`
  OPENCV_TEST_PATH=$BASE_DIR/@TEST_PATH@
  OPENCV_TEST_DATA_PATH=$BASE_DIR/sdk/etc/testdata/
  
  if [ $# -ne 1 ]; then
    echo "Device architecture is not preset in command line"
    echo "Tests are available for architectures: `ls -m ${OPENCV_TEST_PATH}`"
    echo "Usage: $0 <target_device_arch>"
    return 1
  else
    TARGET_ARCH=$1
  fi
  
  if [ -z `which adb` ]; then
    echo "adb command was not found in PATH"
    return 1
  fi
  
  adb push $OPENCV_TEST_DATA_PATH /sdcard/opencv_testdata
  
  adb shell "mkdir -p /data/local/tmp/opencv_test"
  SUMMARY_STATUS=0
  for t in "$OPENCV_TEST_PATH/$TARGET_ARCH/"opencv_test_* "$OPENCV_TEST_PATH/$TARGET_ARCH/"opencv_perf_*;
  do
    test_name=`basename "$t"`
    report="$test_name-`date --rfc-3339=date`.xml"
    adb push $t /data/local/tmp/opencv_test/
    adb shell "export OPENCV_TEST_DATA_PATH=/sdcard/opencv_testdata && /data/local/tmp/opencv_test/$test_name --perf_min_samples=1 --perf_force_samples=1 --gtest_output=xml:/data/local/tmp/opencv_test/$report"
    adb pull "/data/local/tmp/opencv_test/$report" $report
    TEST_STATUS=0
    if [ -e $report ]; then
      if [ `grep -c "<fail" $report` -ne 0 ]; then
        TEST_STATUS=2
      fi
    else
      TEST_STATUS=3
    fi
    if [ $TEST_STATUS -ne 0 ]; then
      SUMMARY_STATUS=$TEST_STATUS
    fi
  done
  
  if [ $SUMMARY_STATUS -eq 0 ]; then
    echo "All OpenCV tests finished successfully"
  else
    echo "OpenCV tests finished with status $SUMMARY_STATUS"
  fi
  
  return $SUMMARY_STATUS