Commit Graph

444 Commits

Author SHA1 Message Date
Liam Appelbe
ec75399beb
Null safety migration of packages/flutter_tools/test/general.shard, part 1/2 (#110711)
* Migrate packages/flutter_tools/test/general.shard, part 1/2

* Fix most of the tests

* Fix analysis

* Fix analysis

* Fix test

* Fix analysis

* Fix analysis

* Fix nit
2022-09-08 15:25:27 -07:00
Jenn Magder
7c7ae991e5
Use hasNoRemainingExpectations matcher for fake process manager in tool tests (#108649) 2022-07-30 02:02:05 +00:00
Jenn Magder
4dc1bd40d4
Handle updated error message when iOS device is locked (#108057) 2022-07-26 22:33:07 +00:00
Jenn Magder
70aaff1217
Set Xcode build script phases to always run (#108331) 2022-07-26 19:20:07 +00:00
Jenn Magder
167655e8a7
Only show iOS simulators, reduce output spew in verbose (#108345) 2022-07-26 19:08:06 +00:00
Jenn Magder
c4975d9be0
Increase app minimum supported macOS version from 10.11 to 10.13 (#107689) 2022-07-15 11:12:43 -07:00
Callum Moffat
902b0124a6
Add UIApplicationSupportsIndirectInputEvents migration (#106889) 2022-07-14 21:00:06 +00:00
Jonah Williams
db829c1e20
[flutter_tools] migrate more unit tests to null safety (#106153) 2022-06-17 21:34:27 -07:00
Jesús S Guerrero
32b22b85de
parse build version on xcodeproj (#105908) 2022-06-16 22:26:06 +00:00
Jenn Magder
003f2b69d2
Pass run and drive --trace-systrace for iOS (#105321) 2022-06-03 16:48:11 -07:00
Jenn Magder
a56c5e51ae
Migrate some test files to null safety (#104469) 2022-05-24 16:53:08 -07:00
Chris Bracken
928bb1229b
[tool] Consistent FakeProcessManager.run/runSync (#103947)
`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]: fd312f1ccf/packages/flutter_tools/lib/src/convert.dart (L51-L60)
2022-05-17 11:15:54 -07:00
Christopher Fujino
09686a04c9
[flutter_tools] add --uninstall-first flag and pipe it through to ios-deploy (#102948) 2022-05-07 11:49:07 -07:00
Jenn Magder
c6ced845e3
Remove custom unawaited, prefer dart:async version (#103212) 2022-05-07 08:49:04 -07:00
Phil Quitslund
b5e7fb076c
[flutter_tools] rename local functions with _s (#102688) 2022-04-27 16:19:07 -07:00
Alexandre Ardhuin
07f1c20474
add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
Jenn Magder
1756ccc541
Set template and migrate apps to iOS 11 minimum (#101963) 2022-04-15 11:34:08 -07:00
Jenn Magder
d4bfb01336
Do not build for iOS armv7 (#97341) 2022-04-12 14:44:09 -07:00
Jenn Magder
888208c1f4
Disallow flutter run-ing on 32-bit development devices (#97339) 2022-04-12 14:39:07 -07:00
Christopher Fujino
d07ce92b15
[flutter_tools] Re-land Dump backtrace on ios app startup timeout (#101763) 2022-04-12 13:24:04 -07:00
Christopher Fujino
2a6582997d
Revert "[flutter_tools] Dump backtrace on ios app startup timeout (#101610)" (#101761)
This reverts commit 2978b59be7.
2022-04-12 09:09:32 -07:00
Christopher Fujino
2978b59be7
[flutter_tools] Dump backtrace on ios app startup timeout (#101610) 2022-04-12 08:49:08 -07:00
Yang Chao
343713727a
Enable track widget creation when generating Generated.xcconfig (#101123) 2022-04-11 14:29:11 -07:00
Chris Yang
1755819cb1
Log XCResult before other build issues (#100787) 2022-04-08 16:27:08 -07:00
Jenn Magder
a452c92d5d
Set ARCHS to single-arch for local engine macOS builds (#100917) 2022-03-28 18:45:06 -07:00
Zachary Anderson
47f08a3fd6
[flutter_tool] Adds --enable-impeller flag to the run command (#100835) 2022-03-26 20:07:24 -07:00
Chris Yang
c01cbd23cc
Add CADisableMinimumFrameDurationOnPhone migration (#100647) 2022-03-25 17:50:09 -07:00
Christopher Fujino
e99a66a47e
[flutter_tools] check if stream is open before sending message in ios device (#99947) 2022-03-17 15:55:24 -07:00
Jesús S Guerrero
fbbf3ec471
Support route on ios (#99078) 2022-03-07 11:31:21 -08:00
Jenn Magder
9369bd3222
Wait for ios-deploy stdout before closing logLine stream (#99041) 2022-02-24 19:21:23 -08:00
Jenn Magder
cef6823637
Dump backtrace when cannot attach to observatory (#98550) 2022-02-16 14:10:18 -08:00
Ben Konyi
2a2f973120
Update flutter_tools to look for new VM service message (#97683)
* Update flutter_tools to look for new VM service message

The Dart SDK will soon move away from the current Observatory message:

"Observatory listening on ..."

To a new message that no longer references Observatory:

"Dart VM Service listening on ..."

This change updates all tests with mocks to check for the new message
and also adds support for the new message in ProtocolDiscovery.

See https://github.com/dart-lang/sdk/issues/46756

* Fix some parsing locations

* Fix analysis failures

* Update message

* Remove extra comment

* Update message

* Add globals prefix
2022-02-15 07:33:57 -08:00
Michael Goderbauer
5684b9f69e
Enable no_leading_underscores_for_local_identifiers (#96422) 2022-01-21 14:43:59 -08:00
Spt
7de1e225de
fix rsync output utf8decode bug (#95881) 2022-01-13 10:20:20 -08:00
Lau Ching Jun
7f0050f5b3
Add a new PrebuiltFlutterApplicationPackage interface. (#95290)
* Add a new PrebuiltFlutterApplicationPackage interface.

* Review feedback

* Rename bundleDir to uncompressedBundle
2022-01-05 07:54:57 -08:00
Jenn Magder
5432688561
Migrate install command to null safety (#95433) 2021-12-22 14:54:10 -08:00
Chris Yang
1c4128c703
Xcode error message (#94747) 2021-12-21 08:39:18 -08:00
Chris Yang
e4dadf788b
[tool] xcresult issue discarder (#95273) 2021-12-14 13:29:13 -08:00
Chris Yang
70fea6d250
[tool] XCResult also parses "url" in xcresult bundle (#95054) 2021-12-13 16:04:04 -08:00
Mouad Debbar
30b6b9e7f0
Revert "Update Xcode toolsVersion encoded in generated Main.storyboard (#94084)" (#94164)
This reverts commit 6a3ea7eb83.
2021-11-24 10:12:53 -05:00
Jenn Magder
6a3ea7eb83
Update Xcode toolsVersion encoded in generated Main.storyboard (#94084) 2021-11-23 17:38:02 -08:00
Jenn Magder
9e88fe328e
Remove globals_null_migrated.dart, move into globals.dart (#92861) 2021-11-01 17:18:03 -07:00
Chris Yang
04156b6636
[flutter_tools] xcresult parser. (#92604) 2021-10-29 18:29:31 -07:00
Jenn Magder
53e04de681
Migrate mdns_discovery and ios simulator to null safety (#92124) 2021-10-29 17:18:03 -07:00
Jenn Magder
8474f41e90
Migrate xcdevice and ios devices to null safety (#92056) 2021-10-19 12:23:03 -07:00
Jenn Magder
a82c50f1f6
Revert "Migrate xcdevice and ios devices to null safety (#91704)" (#91912)
This reverts commit 0065873670.
2021-10-15 09:48:08 -07:00
Jenn Magder
0065873670
Migrate xcdevice and ios devices to null safety (#91704) 2021-10-14 22:28:02 -07:00
Ian Hickson
61a0add286
Enable avoid_redundant_argument_values lint (#91409) (#91462) 2021-10-08 09:25:14 -07:00
Zachary Anderson
b9d2177da0
Revert "Enable avoid_redundant_argument_values lint (#91409)" (#91461)
This reverts commit 5fd259be24.
2021-10-07 21:11:07 -07:00
Ian Hickson
5fd259be24
Enable avoid_redundant_argument_values lint (#91409) 2021-10-07 20:13:02 -07:00
Jenn Magder
91d1e3ed8b
Default new project to the ios-signing-cert development team (#90021) 2021-10-07 10:23:02 -07:00
Jenn Magder
61e2e86611
Add iOS build -destination flag (#90915) 2021-10-04 10:18:03 -07:00
Jenn Magder
faaca13f22
Catch FormatException from bad simulator log output (#90966) 2021-09-30 09:33:04 -07:00
Jenn Magder
1b53f7beba
Migrate iOS project to Xcode 13 compatibility (#90304) 2021-09-22 13:23:05 -07:00
Jenn Magder
ab6f2fc8ce
Set BUILD_DIR when determining if plugins support arm64 simulators (#90088) 2021-09-15 18:37:04 -07:00
Jenn Magder
855af29084
Migrate ios_deploy to null safety (#88851) 2021-09-09 17:32:05 -07:00
Jenn Magder
d550d497f1
Migrate some flutter_tools tests to null safety (#88850) 2021-08-25 16:21:04 -07:00
Jenn Magder
125451bc2e
Migrate mac.dart to null safety (#88846) 2021-08-25 13:31:03 -07:00
Jonah Williams
fa0782b696
reassign jonahwilliams todos (#88707) 2021-08-23 12:27:07 -07:00
Jenn Magder
57efbd5310
Rename IOSDeviceInterface to IOSDeviceConnectionInterface (#88144) 2021-08-16 10:27:03 -07:00
Jenn Magder
7424db448d
Exclude arm64 from iOS app archs if unsupported by plugins on x64 Macs (#87362) 2021-07-30 14:44:04 -07:00
Jenn Magder
a69b3ca5d3
Exclude arm64 from iOS app archs if unsupported by plugins (#87244) 2021-07-30 10:54:34 -07:00
Jenn Magder
89637e4e47
Replace iOS physical/simulator bools with enum (#87138) 2021-07-27 16:39:04 -07:00
Alexandre Ardhuin
80990c21e2
code formatting (#85783) 2021-07-07 23:06:05 -07:00
Jenn Magder
f76b292626
Support iOS arm64 simulator (#85642) 2021-06-30 14:31:04 -07:00
Zachary Anderson
407916d44f
Revert "Support iOS arm64 simulator (#85059)" (#85641)
This reverts commit a1020512ef.
2021-06-30 12:44:49 -07:00
Jenn Magder
a1020512ef
Support iOS arm64 simulator (#85059) 2021-06-30 11:56:17 -07:00
Jenn Magder
e028d0f046
Split project.dart into CMake and Xcode projects (#85359) 2021-06-28 11:31:04 -07:00
Jenn Magder
0de6bd41ba
Migrate iOS app deployment target from 8.0 to 9.0 (#85174) 2021-06-24 10:21:05 -07:00
Jenn Magder
2e5284a26b
Do not list Android or iOS devices when feature disabled (#85145) 2021-06-23 15:41:04 -07:00
Balvinder Singh Gambhir
604c59e522
adds build number of ios device in flutter devices command (#84512) 2021-06-23 11:31:03 -07:00
Jenn Magder
483f71ae21
Migrate application_package to null safety (#83956) 2021-06-10 16:24:03 -07:00
Jenn Magder
3477df744d
Migrate iOS project migrations to null safety (#83855) 2021-06-03 10:24:04 -07:00
Jonah Williams
bfff43cf6f
[flutter_tools] remove mocks from code signing test (#83188) 2021-05-24 21:05:52 -07:00
Lau Ching Jun
2acd0007d6
Refactor CustomDimensions in analytics to be type safe (#82531) 2021-05-18 20:29:03 -07:00
Jenn Magder
8334fb0a1e
Tool exit on xcodebuild -list when Xcode project is corrupted (#82476) 2021-05-13 21:34:04 -07:00
Jonah Williams
298f18b592
[flutter_tools] remove mocks from devices test (#82369) 2021-05-12 20:50:14 -07:00
Alexandre Ardhuin
7d46d43635
use throwsXxx instead of throwsA(isA<Xxx>()) (#82328) 2021-05-12 09:59:02 -07:00
Jonah Williams
886eb3e634
[flutter_tools] remove mocks from ios_device, project, flutter_command test (#82195) 2021-05-10 17:44:03 -07:00
Jonah Williams
bfe16a8640
[flutter_tools] remove even more mocks (#81618) 2021-05-10 08:24:03 -07:00
Jenn Magder
3e6fe491f3
Remove extended attributes from entire Flutter project (#81435) 2021-05-06 16:34:04 -07:00
Ian Hickson
33b183e6c9
Fix extra blank lines in logger output (#81607) 2021-05-03 09:19:02 -07:00
Jonah Williams
3bc2378ad2
[flutter_tools] remove mocks from devfs web, cache, and xcode migrator test (#81475) 2021-04-30 17:24:04 -07:00
Jonah Williams
001323a275
[flutter_tools] remove timeout from iOS device startup (#81229) 2021-04-29 22:49:02 -07:00
Jonah Williams
5ac54a6b89
[flutter_tools] remove mocks from simcontrol and context (#81433) 2021-04-28 19:14:02 -07:00
Jenn Magder
cbf885b749
Replace MockAndroidDevice and MockIOSDevice with fakes (#81352) 2021-04-28 13:39:02 -07:00
Jenn Magder
db3f49b1b4
Use cached Xcode build settings during iOS build (#80904) 2021-04-27 17:20:11 -07:00
Jonah Williams
b30d97a64c
[flutter_tools] split host artifacts out of Artifacts (#80876) 2021-04-22 19:29:02 -07:00
Jenn Magder
a99fba01f1
Move FakeOperatingSystemUtils from context.dart to fakes.dart (#80916) 2021-04-22 10:44:02 -07:00
Phil Quitslund
61c30c41b2
fix sort_directives violations (#80817) 2021-04-21 13:49:03 -07:00
Jenn Magder
515003e4af
Migrate xcode.dart and xcode_validator.dart to null safety (#80614) 2021-04-18 14:39:03 -07:00
Jenn Magder
72976f552c
Migrate xcodeproj to null safety (#80549) 2021-04-16 17:22:46 -07:00
Jenn Magder
56c0002c47
Adopt FakeProcessManager.empty (#80480) 2021-04-15 14:19:02 -07:00
Jenn Magder
15c591a15f
Split out XcodeProjectInterpreter from xcode_build_settings (#80399) 2021-04-14 16:51:10 -07:00
Jenn Magder
ddc1c296a1
Pull XCDevice out of xcode.dart (#80324) 2021-04-13 18:10:21 -07:00
Jenn Magder
23404dfa74
Remove flutter_command dependency from reporting library (#80159) 2021-04-12 16:45:03 -07:00
Jenn Magder
ff7b91b932
Migrate tools test fakes to null safety (#80154) 2021-04-09 17:32:54 -07:00
Jenn Magder
e8cd4827a0
Migrate fake_process_manager to null safety (#80018) 2021-04-08 15:19:07 -07:00
Jenn Magder
a2f67720ef
Migrate test/src/common to null safety (#79907) 2021-04-06 22:55:03 -07:00
Jonah Williams
0a59698ebe
[flutter_tools] migrate cache to null safety (#79864) 2021-04-06 14:44:02 -07:00