From 3cd3bb0480d1edf2362e04fc4b7e333b5664b286 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Tue, 27 Aug 2019 17:25:49 -0700 Subject: [PATCH 01/14] Enable Android testing of package_info package --- .../packageinfoexample/MainActivityTest.java | 15 +++++++++++++++ .../package_info_test.dart | 11 +++++++++++ packages/package_info/example/pubspec.yaml | 1 + .../example/test_driver/package_info.dart | 10 ++-------- .../example/test_driver/package_info_test.dart | 13 ++++++------- 5 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 packages/package_info/example/android/app/src/androidTest/java/io/flutter/plugins/packageinfoexample/MainActivityTest.java create mode 100644 packages/package_info/example/instrumentation_adapter/package_info_test.dart diff --git a/packages/package_info/example/android/app/src/androidTest/java/io/flutter/plugins/packageinfoexample/MainActivityTest.java b/packages/package_info/example/android/app/src/androidTest/java/io/flutter/plugins/packageinfoexample/MainActivityTest.java new file mode 100644 index 000000000000..ff2c0f38e6bc --- /dev/null +++ b/packages/package_info/example/android/app/src/androidTest/java/io/flutter/plugins/packageinfoexample/MainActivityTest.java @@ -0,0 +1,15 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.plugins.packageinfoexample; + +import androidx.test.rule.ActivityTestRule; +import dev.flutter.plugins.instrumentationadapter.FlutterRunner; +import org.junit.Rule; +import org.junit.runner.RunWith; + +@RunWith(FlutterRunner.class) +public class MainActivityTest { + @Rule public ActivityTestRule rule = new ActivityTestRule<>(MainActivity.class); +} diff --git a/packages/package_info/example/instrumentation_adapter/package_info_test.dart b/packages/package_info/example/instrumentation_adapter/package_info_test.dart new file mode 100644 index 000000000000..732df04c1b60 --- /dev/null +++ b/packages/package_info/example/instrumentation_adapter/package_info_test.dart @@ -0,0 +1,11 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:instrumentation_adapter/instrumentation_adapter.dart'; +import '../test_driver/package_info.dart' as test; + +void main() { + InstrumentationAdapterFlutterBinding.ensureInitialized(); + test.main(); +} diff --git a/packages/package_info/example/pubspec.yaml b/packages/package_info/example/pubspec.yaml index e4844cd95648..b34c373512be 100644 --- a/packages/package_info/example/pubspec.yaml +++ b/packages/package_info/example/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: dev_dependencies: flutter_driver: sdk: flutter + instrumentation_adapter: "^0.0.3" test: any flutter: diff --git a/packages/package_info/example/test_driver/package_info.dart b/packages/package_info/example/test_driver/package_info.dart index 97c2db6363c7..f8e0e96914a1 100644 --- a/packages/package_info/example/test_driver/package_info.dart +++ b/packages/package_info/example/test_driver/package_info.dart @@ -1,16 +1,10 @@ -import 'dart:async'; import 'dart:io'; -import 'package:flutter_driver/driver_extension.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:package_info/package_info.dart'; void main() { - final Completer completer = Completer(); - enableFlutterDriverExtension(handler: (_) => completer.future); - tearDownAll(() => completer.complete(null)); - - group('package_info test driver', () { - test('test package info result', () async { + group('package_info test', () { + testWidgets('test package info result', (_) async { final PackageInfo info = await PackageInfo.fromPlatform(); // These tests are based on the example app. The tests should be updated if any related info changes. if (Platform.isAndroid) { diff --git a/packages/package_info/example/test_driver/package_info_test.dart b/packages/package_info/example/test_driver/package_info_test.dart index c1d690c17ee3..88e53d1c1f05 100644 --- a/packages/package_info/example/test_driver/package_info_test.dart +++ b/packages/package_info/example/test_driver/package_info_test.dart @@ -1,10 +1,9 @@ +import 'dart:async'; + import 'package:flutter_driver/flutter_driver.dart'; -import 'package:test/test.dart'; -void main() { - test('package_info', () async { - final FlutterDriver driver = await FlutterDriver.connect(); - await driver.requestData(null, timeout: const Duration(minutes: 1)); - driver.close(); - }); +Future main() async { + final FlutterDriver driver = await FlutterDriver.connect(); + await driver.requestData(null, timeout: const Duration(minutes: 1)); + driver.close(); } From 0cc6c9dc59a45a40eebbcfeeace92dd43c6f6226 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Tue, 27 Aug 2019 17:29:55 -0700 Subject: [PATCH 02/14] Put Firebase Test Lab stuff back on CI --- .ci/Dockerfile | 14 ++++++++++++++ .cirrus.yml | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.ci/Dockerfile b/.ci/Dockerfile index 324a2b97615f..4f1c50cca517 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -1,6 +1,20 @@ FROM cirrusci/flutter:latest +RUN sudo apt-get update +RUN sudo apt-get install -y git wget curl unzip python lsb-release sudo apt-transport-https + +# Add repo for gcloud sdk and install it +RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \ + sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list + +RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ + sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - + +RUN sudo apt-get update && sudo apt-get install -y google-cloud-sdk && \ + gcloud config set core/disable_usage_reporting true && \ + gcloud config set component_manager/disable_update_check true + RUN yes | sdkmanager \ "platforms;android-27" \ "build-tools;27.0.3" \ diff --git a/.cirrus.yml b/.cirrus.yml index 02c7551b3500..29792ae41fc6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -8,7 +8,8 @@ task: - flutter channel master - flutter upgrade - git fetch origin master - activate_script: pub global activate flutter_plugin_tools + activate_script: + - pub global activate flutter_plugin_tools matrix: - name: publishable script: ./script/check_publish.sh @@ -30,7 +31,10 @@ task: PLUGIN_SHARDING: "--shardIndex 0 --shardCount 2" PLUGIN_SHARDING: "--shardIndex 1 --shardCount 2" MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550] + CLOUDSDK_CORE_DISABLE_PROMPTS: 1 + GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[ae17cec7f4d708b1e5c2e841c3643006c2ef46f3745e28fd965bc26b224158f408a0c2da40a1beb0addb163fa4c11389] script: + - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they # might include non-ASCII characters which makes Gradle crash. # See: https://github.com/flutter/flutter/issues/24935 @@ -43,6 +47,7 @@ task: - export CIRRUS_COMMIT_MESSAGE="" - ./script/incremental_build.sh build-examples --apk - ./script/incremental_build.sh java-test # must come after apk build + - ./script/incremental_build.sh firebase-test-lab - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt` - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt` From 51440715ae499b89e54767b0724406c34fa3b096 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Tue, 27 Aug 2019 17:33:44 -0700 Subject: [PATCH 03/14] Fix version dependency --- packages/package_info/example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/package_info/example/pubspec.yaml b/packages/package_info/example/pubspec.yaml index b34c373512be..ddc29a91e2d7 100644 --- a/packages/package_info/example/pubspec.yaml +++ b/packages/package_info/example/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: dev_dependencies: flutter_driver: sdk: flutter - instrumentation_adapter: "^0.0.3" + instrumentation_adapter: "^0.1.0" test: any flutter: From 51517ac8d28e97db554fe32acb2f9caaedfec6c2 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 08:16:29 -0700 Subject: [PATCH 04/14] Support for running instrumentation adapter tests with Flutter driver --- packages/instrumentation_adapter/CHANGELOG.md | 4 +++ .../lib/instrumentation_adapter.dart | 36 +++++++++++++++++++ packages/instrumentation_adapter/pubspec.yaml | 2 +- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/packages/instrumentation_adapter/CHANGELOG.md b/packages/instrumentation_adapter/CHANGELOG.md index ace51df0cc1c..42788cc64810 100644 --- a/packages/instrumentation_adapter/CHANGELOG.md +++ b/packages/instrumentation_adapter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 + +* Added support for running tests using Flutter driver. + ## 0.1.0 * Update boilerplate test to use `@Rule` instead of `FlutterTest`. diff --git a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart index 81f81872d950..c9f35bfa5521 100644 --- a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart +++ b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; @@ -16,9 +17,13 @@ class InstrumentationAdapterFlutterBinding tearDownAll(() async { await _channel.invokeMethod( 'allTestsFinished', {'results': _results}); + if (!_allTestsPassed.isCompleted) + _allTestsPassed.complete(true); }); } + final Completer _allTestsPassed = Completer(); + static WidgetsBinding ensureInitialized() { if (WidgetsBinding.instance == null) { InstrumentationAdapterFlutterBinding(); @@ -32,14 +37,45 @@ class InstrumentationAdapterFlutterBinding static Map _results = {}; + // Emulates the Flutter driver extension, returning 'pass' or 'fail'. + @override + void initServiceExtensions() { + super.initServiceExtensions(); + Future> callback(Map params) async { + final String command = params['command']; + Map response; + switch (command) { + case 'request_data': + final bool allTestsPassed = await _allTestsPassed.future; + response = { + 'message': allTestsPassed ? 'pass' : 'fail', + }; + break; + case 'get_health': + response = { 'status': 'ok' }; + break; + default: + throw UnimplementedError('$command is not implemented'); + } + return { + 'isError' : false, + 'response': response, + }; + } + registerServiceExtension(name: 'driver', callback: callback); + } + @override Future runTest(Future testBody(), VoidCallback invariantTester, {String description = '', Duration timeout}) async { // TODO(jackson): Report the results individually instead of all at once // See https://github.com/flutter/flutter/issues/38985 + TestExceptionReporter valueBeforeTest = reportTestException; reportTestException = (FlutterErrorDetails details, String testDescription) { _results[description] = 'failed'; + _allTestsPassed.complete(false); + valueBeforeTest(details, testDescription); }; await super.runTest(testBody, invariantTester, description: description, timeout: timeout); diff --git a/packages/instrumentation_adapter/pubspec.yaml b/packages/instrumentation_adapter/pubspec.yaml index 0d67157ba80f..b73c7499aa81 100644 --- a/packages/instrumentation_adapter/pubspec.yaml +++ b/packages/instrumentation_adapter/pubspec.yaml @@ -1,6 +1,6 @@ name: instrumentation_adapter description: Runs tests that use the flutter_test API as platform native instrumentation tests. -version: 0.1.0 +version: 0.1.1 author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/instrumentation_adapter From 34d06fd6db8995e4837d49038ec9dbd9f324b97b Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 08:27:09 -0700 Subject: [PATCH 05/14] Support for running tests with Flutter driver --- packages/instrumentation_adapter/CHANGELOG.md | 4 +++ packages/instrumentation_adapter/README.md | 12 +++++++ .../lib/instrumentation_adapter.dart | 36 +++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/packages/instrumentation_adapter/CHANGELOG.md b/packages/instrumentation_adapter/CHANGELOG.md index 73557c5c704a..e3e890b30c23 100644 --- a/packages/instrumentation_adapter/CHANGELOG.md +++ b/packages/instrumentation_adapter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.2 + +* Added support for running tests using Flutter driver. + ## 0.1.1 * Updates about using *androidx* library. diff --git a/packages/instrumentation_adapter/README.md b/packages/instrumentation_adapter/README.md index 81f515569ac5..b2dad9798593 100644 --- a/packages/instrumentation_adapter/README.md +++ b/packages/instrumentation_adapter/README.md @@ -90,3 +90,15 @@ gcloud firebase test android run --type instrumentation \ --results-bucket= \ --results-dir= ``` + +## Flutter driver support + +`InstrumentationAdapterFlutterBinding` also reports test results to `FlutterDriver` +when run on the command line via `flutter drive`. + +```dart + final FlutterDriver driver = await FlutterDriver.connect(); + final String result = await driver.requestData(null, timeout: const Duration(minutes: 1)); + driver.close(); + exit(result == 'pass' ? 0 : 1); +``` diff --git a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart index 81f81872d950..c9f35bfa5521 100644 --- a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart +++ b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; @@ -16,9 +17,13 @@ class InstrumentationAdapterFlutterBinding tearDownAll(() async { await _channel.invokeMethod( 'allTestsFinished', {'results': _results}); + if (!_allTestsPassed.isCompleted) + _allTestsPassed.complete(true); }); } + final Completer _allTestsPassed = Completer(); + static WidgetsBinding ensureInitialized() { if (WidgetsBinding.instance == null) { InstrumentationAdapterFlutterBinding(); @@ -32,14 +37,45 @@ class InstrumentationAdapterFlutterBinding static Map _results = {}; + // Emulates the Flutter driver extension, returning 'pass' or 'fail'. + @override + void initServiceExtensions() { + super.initServiceExtensions(); + Future> callback(Map params) async { + final String command = params['command']; + Map response; + switch (command) { + case 'request_data': + final bool allTestsPassed = await _allTestsPassed.future; + response = { + 'message': allTestsPassed ? 'pass' : 'fail', + }; + break; + case 'get_health': + response = { 'status': 'ok' }; + break; + default: + throw UnimplementedError('$command is not implemented'); + } + return { + 'isError' : false, + 'response': response, + }; + } + registerServiceExtension(name: 'driver', callback: callback); + } + @override Future runTest(Future testBody(), VoidCallback invariantTester, {String description = '', Duration timeout}) async { // TODO(jackson): Report the results individually instead of all at once // See https://github.com/flutter/flutter/issues/38985 + TestExceptionReporter valueBeforeTest = reportTestException; reportTestException = (FlutterErrorDetails details, String testDescription) { _results[description] = 'failed'; + _allTestsPassed.complete(false); + valueBeforeTest(details, testDescription); }; await super.runTest(testBody, invariantTester, description: description, timeout: timeout); From cc1c6d8ef8cbe63ad2c72fb40ff77e899f5bbf25 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 08:16:29 -0700 Subject: [PATCH 06/14] Fix analyzer issues --- .../instrumentation_adapter/lib/instrumentation_adapter.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart index c9f35bfa5521..51891f4af56c 100644 --- a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart +++ b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart @@ -70,7 +70,7 @@ class InstrumentationAdapterFlutterBinding {String description = '', Duration timeout}) async { // TODO(jackson): Report the results individually instead of all at once // See https://github.com/flutter/flutter/issues/38985 - TestExceptionReporter valueBeforeTest = reportTestException; + final TestExceptionReporter valueBeforeTest = reportTestException; reportTestException = (FlutterErrorDetails details, String testDescription) { _results[description] = 'failed'; From 04adbcd04f24255205dcbb964b123b15260d5bc2 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 08:42:42 -0700 Subject: [PATCH 07/14] Reformat --- .../lib/instrumentation_adapter.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart index 51891f4af56c..2ec16c4ebe56 100644 --- a/packages/instrumentation_adapter/lib/instrumentation_adapter.dart +++ b/packages/instrumentation_adapter/lib/instrumentation_adapter.dart @@ -17,8 +17,7 @@ class InstrumentationAdapterFlutterBinding tearDownAll(() async { await _channel.invokeMethod( 'allTestsFinished', {'results': _results}); - if (!_allTestsPassed.isCompleted) - _allTestsPassed.complete(true); + if (!_allTestsPassed.isCompleted) _allTestsPassed.complete(true); }); } @@ -52,16 +51,17 @@ class InstrumentationAdapterFlutterBinding }; break; case 'get_health': - response = { 'status': 'ok' }; + response = {'status': 'ok'}; break; default: throw UnimplementedError('$command is not implemented'); } - return { - 'isError' : false, + return { + 'isError': false, 'response': response, }; } + registerServiceExtension(name: 'driver', callback: callback); } From 6d165da7235e3734b32f983c6601315c7297e210 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 10:28:09 -0700 Subject: [PATCH 08/14] Update to point to latest instrumentation_adapter --- packages/package_info/example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/package_info/example/pubspec.yaml b/packages/package_info/example/pubspec.yaml index ddc29a91e2d7..6da4791df9be 100644 --- a/packages/package_info/example/pubspec.yaml +++ b/packages/package_info/example/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: dev_dependencies: flutter_driver: sdk: flutter - instrumentation_adapter: "^0.1.0" + instrumentation_adapter: "^0.1.2" test: any flutter: From 4701e3c4cdecd1ed8053dfbee986fc203c127c50 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 10:36:52 -0700 Subject: [PATCH 09/14] Move test location --- .../package_info.dart | 6 ++++++ .../instrumentation_adapter/package_info_test.dart | 11 ----------- 2 files changed, 6 insertions(+), 11 deletions(-) rename packages/package_info/example/{test_driver => instrumentation_adapter}/package_info.dart (76%) delete mode 100644 packages/package_info/example/instrumentation_adapter/package_info_test.dart diff --git a/packages/package_info/example/test_driver/package_info.dart b/packages/package_info/example/instrumentation_adapter/package_info.dart similarity index 76% rename from packages/package_info/example/test_driver/package_info.dart rename to packages/package_info/example/instrumentation_adapter/package_info.dart index f8e0e96914a1..e0498eac6931 100644 --- a/packages/package_info/example/test_driver/package_info.dart +++ b/packages/package_info/example/instrumentation_adapter/package_info.dart @@ -1,8 +1,14 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + import 'dart:io'; import 'package:flutter_test/flutter_test.dart'; +import 'package:instrumentation_adapter/instrumentation_adapter.dart'; import 'package:package_info/package_info.dart'; void main() { + InstrumentationAdapterFlutterBinding.ensureInitialized(); group('package_info test', () { testWidgets('test package info result', (_) async { final PackageInfo info = await PackageInfo.fromPlatform(); diff --git a/packages/package_info/example/instrumentation_adapter/package_info_test.dart b/packages/package_info/example/instrumentation_adapter/package_info_test.dart deleted file mode 100644 index 732df04c1b60..000000000000 --- a/packages/package_info/example/instrumentation_adapter/package_info_test.dart +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:instrumentation_adapter/instrumentation_adapter.dart'; -import '../test_driver/package_info.dart' as test; - -void main() { - InstrumentationAdapterFlutterBinding.ensureInitialized(); - test.main(); -} From 2d70a4bfdae1e94eeac23af604b60363fcea620e Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 15:29:10 -0700 Subject: [PATCH 10/14] Combine commands --- .ci/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.ci/Dockerfile b/.ci/Dockerfile index 4f1c50cca517..9de561574fd0 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -2,16 +2,14 @@ FROM cirrusci/flutter:latest RUN sudo apt-get update -RUN sudo apt-get install -y git wget curl unzip python lsb-release sudo apt-transport-https +RUN sudo apt-get install -y git wget curl unzip python lsb-release sudo apt-transport-https google-cloud-sdk # Add repo for gcloud sdk and install it RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \ sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ - sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - - -RUN sudo apt-get update && sudo apt-get install -y google-cloud-sdk && \ + sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && \ gcloud config set core/disable_usage_reporting true && \ gcloud config set component_manager/disable_update_check true From 29bb051b71e0369efd444d42236f437ac94c9d5e Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 15:42:14 -0700 Subject: [PATCH 11/14] Require 0.1.3 version of instrumentation_adapter to ensure that iOS tests pass --- packages/package_info/example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/package_info/example/pubspec.yaml b/packages/package_info/example/pubspec.yaml index 6da4791df9be..4b06cb3e3be0 100644 --- a/packages/package_info/example/pubspec.yaml +++ b/packages/package_info/example/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: dev_dependencies: flutter_driver: sdk: flutter - instrumentation_adapter: "^0.1.2" + instrumentation_adapter: "^0.1.3" test: any flutter: From c7c648b65316a510a5a0d9e7ac508f5c08d7365b Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 15:56:28 -0700 Subject: [PATCH 12/14] Redo Dockerfile --- .ci/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.ci/Dockerfile b/.ci/Dockerfile index 9de561574fd0..2d60345c7c4e 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -1,8 +1,8 @@ FROM cirrusci/flutter:latest -RUN sudo apt-get update -RUN sudo apt-get install -y git wget curl unzip python lsb-release sudo apt-transport-https google-cloud-sdk +RUN sudo apt-get update && \ + sudo apt-get install -y git wget curl unzip python lsb-release sudo apt-transport-https # Add repo for gcloud sdk and install it RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \ @@ -10,6 +10,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages. RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && \ + sudo apt-get update && sudo apt-get install -y google-cloud-sdk && \ gcloud config set core/disable_usage_reporting true && \ gcloud config set component_manager/disable_update_check true From c24fbe0a49a143a75008260ece23bdec37def8ad Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 9 Sep 2019 16:30:02 -0700 Subject: [PATCH 13/14] Add test_driver stub pointing to the test --- packages/package_info/example/test_driver/package_info.dart | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/package_info/example/test_driver/package_info.dart diff --git a/packages/package_info/example/test_driver/package_info.dart b/packages/package_info/example/test_driver/package_info.dart new file mode 100644 index 000000000000..a026dcf398af --- /dev/null +++ b/packages/package_info/example/test_driver/package_info.dart @@ -0,0 +1,5 @@ +import '../instrumentation_adapter/package_info.dart' as test; + +void main() { + test.main(); +} From 000221d5d1ad3dc3f1e14cd17269413362eb7487 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Wed, 11 Sep 2019 15:47:54 -0700 Subject: [PATCH 14/14] Bump for release --- packages/package_info/CHANGELOG.md | 4 ++++ packages/package_info/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/package_info/CHANGELOG.md b/packages/package_info/CHANGELOG.md index c2deb475c2f3..c8413c42856b 100644 --- a/packages/package_info/CHANGELOG.md +++ b/packages/package_info/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.0+7 + +* Update instrumentation test to use instrumentation_adapter plugin. + ## 0.4.0+6 * Fix Android compiler warnings. diff --git a/packages/package_info/pubspec.yaml b/packages/package_info/pubspec.yaml index 5a2d29444511..f24b5d711adf 100644 --- a/packages/package_info/pubspec.yaml +++ b/packages/package_info/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/package_info -version: 0.4.0+6 +version: 0.4.0+7 flutter: plugin: