| #!/bin/bash |
| |
| # Copyright (C) 2015 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Helper script for running unit tests for compatibility libraries |
| |
| checkFile() { |
| if [ ! -f "$1" ]; then |
| echo "Unable to locate $1" |
| exit |
| fi; |
| } |
| |
| # check if in Android build env |
| if [ ! -z ${ANDROID_BUILD_TOP} ]; then |
| HOST=`uname` |
| if [ "$HOST" == "Linux" ]; then |
| OS="linux-x86" |
| elif [ "$HOST" == "Darwin" ]; then |
| OS="darwin-x86" |
| else |
| echo "Unrecognized OS" |
| exit |
| fi; |
| fi; |
| |
| ############### Build the tests ############### |
| make compatibility-common-util-tests compatibility-host-util-tests compatibility-device-util-tests compatibility-tradefed-tests cts-tradefed-tests_v2 compatibility-device-info-tests compatibility-manifest-generator-tests compatibility-host-media-preconditions-tests CompatibilityTestApp -j32 |
| |
| ############### Run the device side tests ############### |
| JAR_DIR=${ANDROID_HOST_OUT}/framework |
| JARS=" |
| ddmlib-prebuilt\ |
| hosttestlib\ |
| tradefed-prebuilt" |
| JAR_PATH= |
| for JAR in $JARS; do |
| checkFile ${JAR_DIR}/${JAR}.jar |
| JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}.jar |
| done |
| |
| APK=${ANDROID_PRODUCT_OUT}/data/app/CompatibilityTestApp/CompatibilityTestApp.apk |
| checkFile ${APK} |
| |
| TF_CONSOLE=com.android.tradefed.command.Console |
| COMMON_PACKAGE=com.android.compatibility.common |
| RUNNER=android.support.test.runner.AndroidJUnitRunner |
| adb install -r -g ${APK} |
| java $RDBG_FLAG -cp ${JAR_PATH} ${TF_CONSOLE} run singleCommand instrument --package ${COMMON_PACKAGE} --runner ${RUNNER} |
| adb uninstall ${COMMON_PACKAGE} |
| |
| ############### Run the host side tests ############### |
| JARS=" |
| compatibility-common-util-hostsidelib\ |
| compatibility-common-util-tests\ |
| compatibility-host-util\ |
| compatibility-host-util-tests\ |
| compatibility-mock-tradefed\ |
| compatibility-tradefed-tests\ |
| ddmlib-prebuilt\ |
| hosttestlib\ |
| tradefed-prebuilt" |
| JAR_PATH= |
| for JAR in $JARS; do |
| checkFile ${JAR_DIR}/${JAR}.jar |
| JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}.jar |
| done |
| |
| TEST_CLASSES=" |
| com.android.compatibility.common.tradefed.UnitTests\ |
| com.android.compatibility.common.util.HostUnitTests\ |
| com.android.compatibility.common.util.UnitTests" |
| |
| for CLASS in ${TEST_CLASSES}; do |
| java $RDBG_FLAG -cp ${JAR_PATH} ${TF_CONSOLE} run singleCommand host -n --class ${CLASS} "$@" |
| done |
| |
| ############### Run the cts tests ############### |
| JARS=" |
| compatibility-common-util-hostsidelib\ |
| compatibility-host-util\ |
| cts-tradefed-tests_v2\ |
| cts-tradefed_v2\ |
| ddmlib-prebuilt\ |
| hosttestlib\ |
| tradefed-prebuilt" |
| JAR_PATH= |
| for JAR in $JARS; do |
| checkFile ${JAR_DIR}/${JAR}.jar |
| JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}.jar |
| done |
| |
| TEST_CLASSES=" |
| com.android.compatibility.tradefed.CtsTradefedTest" |
| |
| for CLASS in ${TEST_CLASSES}; do |
| java $RDBG_FLAG -cp ${JAR_PATH} ${TF_CONSOLE} run singleCommand host -n --class ${CLASS} "$@" |
| done |
| |
| ############### Run the manifest generator tests ############### |
| JARS=" |
| compatibility-manifest-generator\ |
| compatibility-manifest-generator-tests\ |
| ddmlib-prebuilt\ |
| hosttestlib\ |
| tradefed-prebuilt" |
| JAR_PATH= |
| for JAR in $JARS; do |
| checkFile ${JAR_DIR}/${JAR}.jar |
| JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}.jar |
| done |
| |
| TEST_CLASSES=" |
| com.android.compatibility.common.generator.ManifestGeneratorTest" |
| |
| for CLASS in ${TEST_CLASSES}; do |
| java $RDBG_FLAG -cp ${JAR_PATH} ${TF_CONSOLE} run singleCommand host -n --class ${CLASS} "$@" |
| done |
| |
| ############### Run precondition tests ############### |
| JARS=" |
| tradefed-prebuilt\ |
| compatibility-host-util\ |
| cts-tradefed_v2\ |
| compatibility-host-media-preconditions\ |
| compatibility-host-media-preconditions-tests" |
| JAR_PATH= |
| for JAR in $JARS; do |
| checkFile ${JAR_DIR}/${JAR}.jar |
| JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}.jar |
| done |
| |
| TEST_CLASSES=" |
| android.mediastress.cts.preconditions.MediaPreparerTest" |
| |
| for CLASS in ${TEST_CLASSES}; do |
| java $RDBG_FLAG -cp ${JAR_PATH} ${TF_CONSOLE} run singleCommand host -n --class ${CLASS} "$@" |
| done |