Update test script to have it run on ab/

In particular, make it possible to recover failure screenshots.

Bug: 129345960
Test: N/A
Change-Id: I5a38c51037af8ffaf0c8aef46c2980a9387d2a6b
(cherry picked from commit 98ec72c585738d2eb0b0ebf661e417a0c2e64170)
(cherry picked from commit 5b042fcc358cb9115c87ad196afbf5aec9ce5d78)
diff --git a/bridge/tests/run_tests.sh b/bridge/tests/run_tests.sh
index 4d9cde2..2143f03 100755
--- a/bridge/tests/run_tests.sh
+++ b/bridge/tests/run_tests.sh
@@ -1,17 +1,31 @@
 #!/bin/bash
 
-SCRIPT_DIR="$(dirname $0)"
-DIST_DIR="$1"
+readonly OUT_DIR="$1"
+readonly DIST_DIR="$2"
+readonly BUILD_NUMBER="$3"
+
+readonly SCRIPT_DIR="$(dirname "$0")"
+
+readonly FAILURE_DIR=layoutlib-test-failures
+readonly FAILURE_ZIP=layoutlib-test-failures.zip
 
 STUDIO_JDK=${SCRIPT_DIR}"/../../../../prebuilts/studio/jdk/linux"
 MISC_COMMON=${SCRIPT_DIR}"/../../../../prebuilts/misc/common"
 M2_REPO=${SCRIPT_DIR}"/../../../../prebuilts/tools/common/m2/repository"
 JAVA_LIBRARIES=${SCRIPT_DIR}"/../../../../out/host/common/obj/JAVA_LIBRARIES"
 
+# Run layoutlib tests
 ${STUDIO_JDK}/bin/java -ea \
     -Dtest_res.dir=${SCRIPT_DIR}/res \
-    -Dtest_failure.dir=${DIST_DIR}/layoutlib_failures \
+    -Dtest_failure.dir=${OUT_DIR}/${FAILURE_DIR} \
     -cp ${M2_REPO}/junit/junit/4.12/junit-4.12.jar:${M2_REPO}/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:${MISC_COMMON}/tools-common/tools-common-prebuilt.jar:${MISC_COMMON}/sdk-common/sdk-common.jar:${MISC_COMMON}/layoutlib_api/layoutlib_api-prebuilt.jar:${MISC_COMMON}/kxml2/kxml2-2.3.0.jar:${M2_REPO}/com/google/guava/guava/22.0/guava-22.0.jar:${JAVA_LIBRARIES}/layoutlib-tests_intermediates/javalib.jar:${JAVA_LIBRARIES}/layoutlib_intermediates/javalib.jar:${JAVA_LIBRARIES}/mockito-host_intermediates/javalib.jar:${JAVA_LIBRARIES}/objenesis-host_intermediates/javalib.jar \
     org.junit.runner.JUnitCore \
     com.android.layoutlib.bridge.intensive.Main
 
+# Create zip of all failure screenshots
+zip -q -j -r ${OUT_DIR}/${FAILURE_ZIP} ${OUT_DIR}/${FAILURE_DIR}
+
+# Move failure zip to dist directory if specified
+if [[ -d "${DIST_DIR}" ]]; then
+    mv ${OUT_DIR}/${FAILURE_ZIP} ${DIST_DIR}
+fi