blob: 76540ebcb2a6ee099b3e492ddeaf960fe6a08521 [file] [log] [blame]
#!/bin/bash
set -e
if [[ ! -f $1 ]]; then
echo "File $1 not found."
exit -1
fi
GIT_REVISION=${2:-$(git rev-parse HEAD)}
BUILD_ID=${3:-$CIRRUS_BUILD_ID}
if [[ ! -z $GCLOUD_FIREBASE_TESTLAB_KEY ]]; then
# New contributors will not have permissions to run this test - they won't be
# able to access the service account information. We should just mark the test
# as passed - it will run fine on post submit, where it will still catch
# failures.
# We can also still make sure that building a release app bundle still works.
if [[ $GCLOUD_FIREBASE_TESTLAB_KEY == ENCRYPTED* ]]; then
echo "This user does not have permission to run this test."
exit 0
fi
echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
fi
# Run the test.
# game-loop tests are meant for OpenGL apps.
# This type of test will give the application a handle to a file, and
# we'll write the timeline JSON to that file.
# See https://firebase.google.com/docs/test-lab/android/game-loop
gcloud --project flutter-infra firebase test android run \
--type game-loop \
--app $1 \
--timeout 2m \
--results-bucket=gs://flutter_firebase_testlab \
--results-dir=engine_scenario_test/$GIT_REVISION/$BUILD_ID \
--no-auto-google-login