- 17 May, 2022 7 commits
-
-
Chris Bracken authored
`FakeProcessManager` is a test-oriented implementation of `ProcessManager` that simulates launching processes and returning `ProcessResult` objects whose `exitCode`, `stdout`, `stderr` can be used to write platform-portable, hermetic tests that don't rely on actually launching processes from executables on disk. Its `run` and `runSync` methods provide asynchronous and synchronous variants of this functionality. Previously, the behaviour of `run` and `runSync` were inconsistent with regards to the treatment of the `stdoutEncoding` (similarly, `stderrEncoding`) parameters: `run`: * if the encoding was null, `ProcessResult.stdout` was returned as a String in UTF-8 encoding. This was incorrect. The behaviour as specified in `ProcessResult.stdout` is that in this case, a raw `List<int>` should be returned. * If the encoding was unspecified, `ProcessResult.stdout` was returned as a `String` in the `io.systemEncoding` encoding. This was correct. * If the encoding was non-null, `ProcessResult.stdout` was returned as a `String` in the specified encoding. This was correct. `runSync`: * if the encoding was null, `ProcessResult.stdout` was returned as a `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as specified in `ProcessResult.stdout` is that in this case, a raw `List<int>` should be returned. * If the encoding was unspecified, `ProcessResult.stdout` was returned as `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as specified in `ProcessResult.stdout` is that in this case, a String a `String` in the `io.systemEncoding` encoding should be returned. * if the encoding was non-null, `ProcessResult.stdout` was returned as a `String` in unknown (but probably UTF-8) encoding. This was incorrect. The behaviour as specified in `ProcessResult.stdout` is that in this case, a `String` in the specified encoding should be returned. `_FakeProcess`, from which we obtain the fake stdout and stderr values now holds these fields as raw `List<int>` of bytes rather than as `String`s. It is up to the user to supply values that can be decoded with the encoding passed to `run`/`runAsync`. `run` and `runAsync` have been updated to set stdout (likewise, stderr) as specified in the `ProcessResult` documentation. This is pre-factoring for #102451, in which the tool throws an exception when processing the JSON output from stdout of the `vswhere.exe` tool, whose output was found to include the `U+FFFD` Unicode replacement character during UTF-8 decoding, which triggers a `toolExit` exception when decoded using our [Utf8Decoder][decoder] configured with `reportErrors` = true. Because `FakeProcessManager.runAsync` did not previously invoke `utf8.decode` on its output (behaviour which differs from the non-fake implementation), it was impossible to write tests to verify the fix. Ref: https://api.flutter.dev/flutter/dart-io/ProcessResult/stdout.html Issue: https://github.com/flutter/flutter/issues/102451 [decoder]: https://github.com/flutter/flutter/blob/fd312f1ccff909fde28d2247a489bf210bbc6c48/packages/flutter_tools/lib/src/convert.dart#L51-L60
-
Greg Spencer authored
This adds a simple VoidCallbackAction and VoidCallbackIntent that allows configuring an intent that will invoke a void callback when the intent is sent to the action subsystem. This allows binding a shortcut directly to a void callback in a Shortcuts widget. I also added an instance of VoidCallbackAction to the default actions so that simply binding a shortcut to a VoidCallbackIntent works anywhere in the app, and you don't need to add a VoidCallbackAction at the top of your app to make it work.
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
Jenn Magder authored
-
engine-flutter-autoroll authored
-
- 16 May, 2022 13 commits
-
-
Jenn Magder authored
-
engine-flutter-autoroll authored
-
Jim Graham authored
add noSuchMethod to _MulticastCanvas to unblock smoke testing against forthcoming new getTransform/Clip methods (#103737)
-
engine-flutter-autoroll authored
* 05ddf054c Add Spell Check Support for Android Engine (flutter/engine#30858) * a277fe24b Roll Fuchsia Linux SDK from sg5JUw-y-... to F0_B8WVKY... (flutter/engine#33395)
-
Yegor authored
-
Dan Field authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
- 15 May, 2022 7 commits
-
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
Chris Bracken authored
Updates the AppIcon assets in the macOS app template to meet Apple's icon guidelines as of macOS Big Sur. Assets were moved to the [flutter_template_images][1] package, which includes them as of version 4.1.0. Ref: https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/ Issue: https://github.com/flutter/flutter/issues/103371 [1]: https://github.com/flutter/packages/tree/main/packages/flutter_template_images
-
- 14 May, 2022 13 commits
-
-
Chris Bracken authored
Roll dependendencies This rolls depdendencies to latest using flutter update-packages --force-upgrade This change includes three code changes: * Removes charcode from the dependencies allowlist since it no longer appears in the transitive closure of dependencies of the flutter, flutter_test, flutter_driver, flutter_localizations, and integration_test packages. * Uses Resolver.create instead of the deprecated Resolver constructor. The default Resolver constructor has been deprecated in favour of the static Resolver.create() factory function, which unfortunately happens to be async. Propagated the async-ness up the chain. This change was partially reverted and the deprecation ignored in this patch until package:coverage can be rolled internally at Google. * Eliminates the use of the deprecated packagesPath parameter to HitMap.parseJson. This parameter was deprecated and replaced with packagePath in https://github.com/dart-lang/coverage/pull/370 which was part of the overall deprecation of the .packages file in Dart itself https://github.com/dart-lang/sdk/issues/48272. The overall goal being that end-user code shouldn't need to know about implementation details such as whether dependency information is stored in a .packages file or a package_info.json file, but rather use the package_config package to obtain the package metadata and perform other functions such as resolving its dependencies to filesystem paths. packagesPath was replaced by packagePath, which takes the path to the package directory itself. Internally, package:coverage then uses package_config to do the rest of the package/script URI resolution to filesystem paths. This change was partially reverted and the deprecation ignored in this patch until package:coverage can be rolled internally at Google. This is a pre-update prior to updating flutter_template_images in https://github.com/flutter/flutter/pull/103739 Issue: https://github.com/flutter/flutter/issues/103371 Issue: https://github.com/flutter/flutter/issues/103775 Issue: https://github.com/flutter/flutter/issues/103830 When re-applying the partially-reverted changes to code coverage, we'll need to patch host_entrypoint.dart internally to await the Future that we'll be returning rather than a non-async value.
-
engine-flutter-autoroll authored
-
Christopher Fujino authored
-
Jonah Williams authored
-
engine-flutter-autoroll authored
-
Chris Bracken authored
Many of our flutter_tools templates include image assets such as application icons. Adding these will trigger an analysis error from our CI tooling. This adds a pointer to the wiki describing the procedure for adding or updating image assets in the templates: https://github.com/flutter/flutter/wiki/Managing-template-image-assets Uncovered while working on https://github.com/flutter/flutter/issues/103371
-
Chris Bracken authored
Until recently, BuildInfo.packagesPath defaulted to `.packages` however, the .packages file has been deprecated [1] and is being removed. In https://github.com/flutter/flutter/pull/99677 the default was changed to `.dart_tool/package_config.json` but the doc comment was accidentally updated to `.dart_tool/packages`. This corrects it to the true default value. 1: https://github.com/dart-lang/sdk/issues/48272 Spotted in the midst of some related cleanup relating to https://github.com/flutter/flutter/issues/103775
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
a71d3867a Roll Dart SDK from c23ec46618c1 to e7590a9bb416 (1 revision) (flutter/engine#33342) (#103806)
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-
engine-flutter-autoroll authored
-