forked from flutter/flutter
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merging changes from flutter/flutter #4
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- remove unused collector parameter - clarify a comment - inline _currentPackageTestDir
Eliminates the need for the device/daemon code to get at the iOS/Android tooling indirectly via Doctor. In tests, we now inject the workflow objects (or mocks) directly.
* remove usages of booted * fix
Extract out IMobileDevice class, move class to idevice_id, ideviceinfo (and eventually other libimobiledevice tools such as iproxy) behind this interface. Add tests for the case where libimobiledevice is not installed, the case where it returns no devices, and the case where it returns device IDs.
Use a top-level getter in mac.dart rather than a static instance getter and a top-level getter in ios_workflow.dart. Makes this code consistent with how we do context lookups elsewhere.
All invocations should go via the IMobileDevice class in mac.dart.
None of these is used outside of devices.dart and being public covers up analysis warnings when they're unused.
Moves all remaining calls to tools that are part of the libimobiledevice suite of tools to the IMobileDevice class. This allows for better tracking of this dependency, and easier mocking in tests.
This should improve debug-time performance.
Eliminates the dependency on idevice_id from libimobiledevice. Instead, uses Xcode built-in functionality.
Migrates DeviceDiscovery.devices and all device-specific lookup to be asynchronous.
* Revert "Make device discovery asynchronous (#10803)" This reverts commit 972be9c. * Revert "Use Xcode instruments to list devices (#10801)" This reverts commit 37bb5f1. This is to resolve a failure that looks related to a bad install of Xcode 8.0 on our build bots and should be reinstated when the infra issue is diagnosed and resolved. Instruments worked well when this was originally landed, and on the following commit, but started failing two commits after this originally landed. Manual invocation of instruments on the build host currently results in: ``` dyld: Library not loaded: @rpath/InstrumentsAnalysisCore.framework/Versions/A/InstrumentsAnalysisCore Referenced from: /Applications/Xcode8.0.app/Contents/Developer/usr/bin/instruments Reason: image not found Abort trap: 6 ``` It appears the /Applications/Xcode8.0.app/Contents/Applications directory (which contains Instruments) is missing on the host.
* move getTransformTo method from RenderBox to RenderObject. * Cleanup comment. Add slivers test.
This reverts commit b2909a2. This resubmits the following patches: 1. Use Xcode instruments to list devices (#10801) Eliminates the dependency on idevice_id from libimobiledevice. Instead, uses Xcode built-in functionality. 2. Make device discovery asynchronous (#10803) Migrates DeviceDiscovery.devices and all device-specific lookup to be asynchronous.
This libimobiledevice tool is no longer used anywhere in the flutter_tools codebase.
Replace use of ideviceinfo in devicelab tests with Xcode instruments lookup.
* send channel name as a custom dimension * tweaks from review * remove unused import
Introduce CompositedTransformTarget and CompositedTransformFollower widgets, corresponding render objects, and corresponding layers. Adjust the way text fields work to use this. Various changes I needed to debug the issues that came up.
* Add version information to dartdoc footer * Add final to variable declaration * Drop toString()
Going forward, Android support libraries are published on maven (instead of bundling them with the SDK). Many plugins depend on these. To avoid requiring plugin users to add the maven repository to their app this change adds the repository to the template for `flutter create`. This also bumps the support-annotations dependency to 25.4.0 (which also requires the new maven repository).
…SON (#10848) (The Flutter plugin will use this to update the UI with test progress.)
…e method. (#10871) * Change all instances of '$runtimeType#$hashCode' to use the describeIdentity method. The describeIdentity method generates a shorter description with a consistent length consisting of the runtime type and the a 5 hex character long truncated version of the hash code.
gspencergoog
pushed a commit
that referenced
this pull request
May 8, 2018
This test fails consistently on mac2 and mac3 with the attached Moto G4 devices but passes consistently on other machines. Adding a delay of 1s right after driver.connect() in setUpAll() causes it to pass on the machines in question, which suggests a race condition. Specifically it looks like connect returns the moment Flutter Driver identifies that the isolate is up and running, but empirically it looks like we start running the first test before the UI is actually up. This triggers a failure wherein we start looking for elements before they're onstage. Link to viewport.dart:213 at HEAD: https://github.com/flutter/flutter/blob/b2b46659262c66ff13abc2b8016a94a47646eaad/packages/flutter/lib/src/widgets/viewport.dart#L213 Stack trace: FlutterDriver waitFor should find text "present" ``` DriverError: Error in Flutter application: Uncaught extension error while executing waitFor: NoSuchMethodError: The getter 'visible' was called on null. Receiver: null Tried calling: visible #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5) #1 _ViewportElement.debugVisitOnstageChildren. (package:flutter/src/widgets/viewport.dart:213:36) #2 WhereIterator.moveNext (dart:_internal/iterable.dart:439:11) #3 Iterable.forEach (dart:core/iterable.dart) #4 _ViewportElement.debugVisitOnstageChildren (package:flutter/src/widgets/viewport.dart:214:8) #5 _DepthFirstChildIterator._reverseChildrenOf (package:flutter_test/src/all_elements.dart:54:15) #6 _DepthFirstChildIterator.moveNext (package:flutter_test/src/all_elements.dart:45:19) #7 CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27) #8 _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21) #9 WhereIterator.moveNext (dart:_internal/iterable.dart:438:22) #10 CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27) #11 _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21) #12 Iterable.isEmpty (dart:core/iterable.dart:449:33) #13 Iterable.isNotEmpty (dart:core/iterable.dart:456:27) #14 FlutterDriverExtension._waitForElement. (package:flutter_driver/src/extension/extension.dart:215:51) #15 FlutterDriverExtension._waitUntilFrame (package:flutter_driver/src/extension/extension.dart:197:19) #16 FlutterDriverExtension._waitForElement (package:flutter_driver/src/extension/extension.dart:215:11) #17 FlutterDriverExtension._waitFor (package:flutter_driver/src/extension/extension.dart:286:11) #18 FlutterDriverExtension.call (package:flutter_driver/src/extension/extension.dart:168:51) #19 BindingBase.registerServiceExtension. (package:flutter/src/foundation/binding.dart:370:32) ``` Removes a previous hack that no longer appears to help (adding a 1 second delay in setUpAll() does seem to work around this issue though).
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.