#!/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 accuracy=`find "$OPENCV_TEST_PATH/$TARGET_ARCH" -maxdepth 1 -executable -name "opencv_test_*" -not -name opencv_test_ocl` performance=`find "$OPENCV_TEST_PATH/$TARGET_ARCH" -maxdepth 1 -executable -name "opencv_perf_*" -not -name opencv_perf_ocl` adb push $OPENCV_TEST_DATA_PATH /sdcard/opencv_testdata adb shell "mkdir -p /data/local/tmp/opencv_test" SUMMARY_STATUS=0 for t in $accuracy $performance; 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