forked from flutter/flutter
-
Notifications
You must be signed in to change notification settings - Fork 1
Updating my flutter fork to master. #5
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
Merged
Merged
Conversation
This file contains hidden or 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
The upstream fix is: dart-archive/usage@021664e
This print statement provides no value to the user.
...and make one of the comments accurate by fixing the code. Turns out I forgot to add the 'silent' argument when I changed that comment.
This allows us to take advantage of improved command-line tooling (e.g., improvements in device listing in Instruments). Now that the engine is built with Xcode 8 and the framework is tested against Xcode 8, this reduces the set of configurations we need to support to allow us to focus on the supported ones: Xcode 8 and Xcode 9.
* Add hasAGoodToStringDeep and equalsIgnoringHashCodes methods. Methods simplify testing of toStringDeep calls and other cases where methods return strings containing hash codes.
I got a bit confused by these comments when trying to debug this code, let's try clearing them up a little.
The main purpose of this PR is to make it so that when you set the initial route and it's a hierarchical route (e.g. `/a/b/c`), it implies multiple pushes, one for each step of the route (so in that case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those routes don't exist, it falls back to '/'. As part of doing that, I: * Changed the default for MaterialApp.initialRoute to honor the actual initial route. * Added a MaterialApp.onUnknownRoute for handling bad routes. * Added a feature to flutter_driver that allows the host test script and the device test app to communicate. * Added a test to make sure `flutter drive --route` works. (Hopefully that will also prove `flutter run --route` works, though this isn't testing the `flutter` tool's side of that. My main concern is over whether the engine side works.) * Fixed `flutter drive` to output the right target file name. * Changed how the stocks app represents its data, so that we can show a page for a stock before we know if it exists. * Made it possible to show a stock page that doesn't exist. It shows a progress indicator if we're loading the data, or else shows a message saying it doesn't exist. * Changed the pathing structure of routes in stocks to work more sanely. * Made search in the stocks app actually work (before it only worked if we happened to accidentally trigger a rebuild). Added a test. * Replaced some custom code in the stocks app with a BackButton. * Added a "color" feature to BackButton to support the stocks use case. * Spaced out the ErrorWidget text a bit more. * Added `RouteSettings.copyWith`, which I ended up not using. * Improved the error messages around routing. While I was in some files I made a few formatting fixes, fixed some code health issues, and also removed `flaky: true` from some devicelab tests that have been stable for a while. Also added some documentation here and there.
Picks up primarily stability fixes.
Rather than pre-compute Xcode install path, version, and EULA status, compute and cache on demand.
This reverts commit 3e265e9. Rather than pre-compute Xcode install path, version, and EULA status, compute and cache on demand.
1. Run all Xcode tool invocations through ProcessManager, which allows us to mock out failures, etc. for tests. 2. Add said tests.
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.