blob: 8b15c935791ae1e8136a54f00c191d4f05953adb [file] [log] [blame]
#!/bin/bash
set -e
set -x
TEST_MODULE="{module_name}"
TEST_PATH="{tradefed_test_dir}"
ATEST_TF_LAUNCHER="{atest_tradefed_launcher}"
ATEST_HELPER="{atest_helper}"
SHARED_LIB_DIRS="{shared_lib_dirs}"
PATH_ADDITIONS="{path_additions}"
TRADEFED_CLASSPATH="{tradefed_classpath}"
RESULT_REPORTERS_CONFIG_FILE="{result_reporters_config_file}"
ATEST_JAVA_HOME="{atest_java_home}"
read -a ADDITIONAL_TRADEFED_OPTIONS <<< "{additional_tradefed_options}"
# Export variables expected by the Atest launcher script.
export LD_LIBRARY_PATH="${SHARED_LIB_DIRS}"
export TF_PATH="${TRADEFED_CLASSPATH}"
export PATH="${PATH_ADDITIONS}:${PATH}"
export ATEST_HELPER="${ATEST_HELPER}"
export JAVA_HOME="${ATEST_JAVA_HOME}"
exit_code_file="$(mktemp /tmp/tf-exec-XXXXXXXXXX)"
"${ATEST_TF_LAUNCHER}" template/atest_local_min \
--template:map test=atest \
--template:map reporters="${RESULT_REPORTERS_CONFIG_FILE}" \
--tests-dir "${TEST_PATH}" \
--logcat-on-failure \
--no-enable-granular-attempts \
--no-early-device-release \
--include-filter "${TEST_MODULE}" \
--skip-loading-config-jar \
--log-level-display VERBOSE \
--log-level VERBOSE \
"${ADDITIONAL_TRADEFED_OPTIONS[@]}" \
--bazel-exit-code-result-reporter:file=${exit_code_file} \
--bazel-xml-result-reporter:file=${XML_OUTPUT_FILE} \
--proto-output-file="${TEST_UNDECLARED_OUTPUTS_DIR}/proto-results" \
--use-delimited-api=true \
--log-file-path="${TEST_UNDECLARED_OUTPUTS_DIR}" \
--compress-files=false \
"$@"
# Use the TF exit code if it terminates abnormally.
tf_exit=$?
if [ ${tf_exit} -ne 0 ]
then
echo "Tradefed command failed with exit code ${tf_exit}"
exit ${tf_exit}
fi
# Set the exit code based on the exit code in the reporter-generated file.
exit_code=$(<${exit_code_file})
if [ $? -ne 0 ]
then
echo "Could not read exit code file: ${exit_code_file}"
exit 36
fi
if [ ${exit_code} -ne 0 ]
then
echo "Test failed with exit code ${exit_code}"
exit ${exit_code}
fi