1#!/bin/bash 2 3readonly OUT_DIR="$1" 4readonly DIST_DIR="$2" 5readonly BUILD_NUMBER="$3" 6 7readonly SCRIPT_DIR="$(dirname "$0")" 8 9readonly FAILURE_DIR=layoutlib-test-failures 10readonly FAILURE_ZIP=layoutlib-test-failures.zip 11 12STUDIO_JDK=${SCRIPT_DIR}"/../../../../prebuilts/jdk/jdk11/linux-x86" 13MISC_COMMON=${SCRIPT_DIR}"/../../../../prebuilts/misc/common" 14OUT_INTERMEDIATES=${SCRIPT_DIR}"/../../../../out/soong/.intermediates" 15 16# Run layoutlib tests 17${STUDIO_JDK}/bin/java -ea \ 18 -Dtest_res.dir=${SCRIPT_DIR}/res \ 19 -Dtest_failure.dir=${OUT_DIR}/${FAILURE_DIR} \ 20 -cp ${MISC_COMMON}/tools-common/tools-common-prebuilt.jar:${MISC_COMMON}/ninepatch/ninepatch-prebuilt.jar:${MISC_COMMON}/sdk-common/sdk-common.jar:${MISC_COMMON}/kxml2/kxml2-2.3.0.jar:${MISC_COMMON}/layoutlib_api/layoutlib_api-prebuilt.jar:${OUT_INTERMEDIATES}/prebuilts/tools/common/m2/trove-prebuilt/linux_glibc_common/combined/trove-prebuilt.jar:${OUT_INTERMEDIATES}/external/junit/junit/linux_glibc_common/javac/junit.jar:${OUT_INTERMEDIATES}/external/guava/guava-jre/linux_glibc_common/javac/guava-jre.jar:${OUT_INTERMEDIATES}/external/hamcrest/hamcrest-core/hamcrest/linux_glibc_common/javac/hamcrest.jar:${OUT_INTERMEDIATES}/external/mockito/mockito/linux_glibc_common/combined/mockito.jar:${OUT_INTERMEDIATES}/external/objenesis/objenesis/linux_glibc_common/javac/objenesis.jar:${OUT_INTERMEDIATES}/frameworks/layoutlib/bridge/layoutlib/linux_glibc_common/withres/layoutlib.jar:${OUT_INTERMEDIATES}/frameworks/layoutlib/temp_layoutlib/linux_glibc_common/gen/temp_layoutlib.jar:${OUT_INTERMEDIATES}/frameworks/layoutlib/bridge/tests/layoutlib-tests/linux_glibc_common/withres/layoutlib-tests.jar \ 21 org.junit.runner.JUnitCore \ 22 com.android.layoutlib.bridge.intensive.Main 23 24test_exit_code=$? 25 26# Create zip of all failure screenshots 27if [[ -d "${OUT_DIR}/${FAILURE_DIR}" ]]; then 28 zip -q -j -r ${OUT_DIR}/${FAILURE_ZIP} ${OUT_DIR}/${FAILURE_DIR} 29fi 30 31# Move failure zip to dist directory if specified 32if [[ -d "${DIST_DIR}" ]] && [[ -e "${OUT_DIR}/${FAILURE_ZIP}" ]]; then 33 mv ${OUT_DIR}/${FAILURE_ZIP} ${DIST_DIR} 34fi 35 36exit ${test_exit_code} 37