Unverified Commit fa4d31b3 authored by Emmanuel Garcia's avatar Emmanuel Garcia Committed by GitHub

Fix smoke test (#42022)

parent 43a6626c
...@@ -3,15 +3,35 @@ ...@@ -3,15 +3,35 @@
# The tests to run on Firebase Test Lab. # The tests to run on Firebase Test Lab.
# Currently, the test consists on building an Android App Bundle and ensuring # Currently, the test consists on building an Android App Bundle and ensuring
# that the app doesn't crash upon startup. # that the app doesn't crash upon startup.
#
# When adding a test, ensure that there's at least a `print()` statement under lib/*.dart.
tests=( tests=(
"dev/integration_tests/release_smoke_test" "dev/integration_tests/release_smoke_test"
"dev/integration_tests/abstract_method_smoke_test" "dev/integration_tests/abstract_method_smoke_test"
) )
# The devices where the tests are run.
#
# To get the full list of devices available, run:
# gcloud firebase test android models list
devices=(
# Pixel 3
"model=blueline,version=28"
"model=blueline,version=Q-beta-3"
# Moto Z XT1650
"model=griffin,version=24"
)
set -e set -e
GIT_REVISION=$(git rev-parse HEAD) GIT_REVISION=$(git rev-parse HEAD)
DEVICE_FLAG=""
for device in ${devices[*]}; do
DEVICE_FLAG+="--device $device "
done
# New contributors will not have permissions to run this test - they won't be # 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 # 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 # as passed - it will run fine on post submit, where it will still catch
...@@ -30,21 +50,27 @@ function test_app_bundle() { ...@@ -30,21 +50,27 @@ function test_app_bundle() {
pushd "$@" pushd "$@"
../../../bin/flutter build appbundle --target-platform android-arm,android-arm64 ../../../bin/flutter build appbundle --target-platform android-arm,android-arm64
# Firebase Test Lab tests are currently known to be failing with aab="build/app/outputs/bundle/release/app-release.aab"
# "Firebase Test Lab infrastructure failure: Error during preprocessing"
# Remove "|| exit 0" once the failures are resolved # If the app bundle doesn't exist, then exit with code 1.
# https://github.com/flutter/flutter/issues/36501 if [ ! -f "$aab" ]; then
exit 1
fi
# Run the test. # Run the test.
gcloud firebase test android run --type robo \ gcloud firebase test android run \
--app build/app/outputs/bundle/release/app.aab \ --type robo \
--app "$aab" \
--timeout 2m \ --timeout 2m \
--results-bucket=gs://flutter_firebase_testlab \ --results-bucket=gs://flutter_firebase_testlab \
--results-dir="$@"/"$GIT_REVISION"/"$CIRRUS_BUILD_ID" || exit 0 --results-dir="$@"/"$GIT_REVISION"/"$CIRRUS_BUILD_ID" \
$DEVICE_FLAG
rm -f /tmp/logcat
gsutil cat gs://flutter_firebase_testlab/"$@"/"$GIT_REVISION"/"$CIRRUS_BUILD_ID"/*/logcat > /tmp/logcat
# Check logcat for "E/flutter" - if it's there, something's wrong. # Check logcat for "E/flutter" - if it's there, something's wrong.
gsutil cp gs://flutter_firebase_testlab/"$@"/"$GIT_REVISION"/"$CIRRUS_BUILD_ID"/walleye-26-en-portrait/logcat /tmp/logcat
! grep "E/flutter" /tmp/logcat || false ! grep "E/flutter" /tmp/logcat || false
# Check logcat for "I/flutter" - This is in the log if there's a print statement under lib/*.dart.
grep "I/flutter" /tmp/logcat grep "I/flutter" /tmp/logcat
popd popd
} }
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() => runApp(MyApp()); void main() {
runApp(MyApp());
print('Test suceeded');
}
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
@override @override
......
...@@ -5,7 +5,7 @@ buildscript { ...@@ -5,7 +5,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.android.tools.build:gradle:3.5.0'
} }
} }
......
...@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME ...@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment