Skip to content

Commit fbbf3ec

Browse files
authored
Support route on ios (#99078)
1 parent b021507 commit fbbf3ec

5 files changed

Lines changed: 46 additions & 2 deletions

File tree

.ci.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3450,6 +3450,17 @@ targets:
34503450
task_name: external_ui_integration_test_ios
34513451
scheduler: luci
34523452

3453+
- name: Mac_ios routing_test
3454+
bringup: true
3455+
recipe: devicelab/devicelab_drone
3456+
presubmit: false
3457+
timeout: 60
3458+
properties:
3459+
tags: >
3460+
["devicelab","ios","mac"]
3461+
task_name: routing_test
3462+
scheduler: luci
3463+
34533464
- name: Mac_ios flavors_test_ios
34543465
recipe: devicelab/devicelab_drone
34553466
presubmit: false

TESTOWNERS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
/dev/devicelab/bin/tasks/platform_channels_benchmarks.dart @gaaclarke @flutter/engine
6464
/dev/devicelab/bin/tasks/platform_views_scroll_perf__timeline_summary.dart @zanderso @flutter/engine
6565
/dev/devicelab/bin/tasks/plugin_dependencies_test.dart @jmagman @flutter/tool
66-
/dev/devicelab/bin/tasks/routing_test.dart @zanderso @flutter/tool
6766
/dev/devicelab/bin/tasks/textfield_perf__e2e_summary.dart @zanderso @flutter/engine
6867
/dev/devicelab/bin/tasks/web_size__compile_test.dart @yjbanov @flutter/web
6968
/dev/devicelab/bin/tasks/opacity_peephole_col_of_rows_perf__e2e_summary.dart @flar @flutter/engine
@@ -172,6 +171,9 @@
172171
/dev/devicelab/bin/tasks/simple_animation_perf_ios.dart @zanderso @flutter/engine
173172
/dev/devicelab/bin/tasks/tiles_scroll_perf_ios__timeline_summary.dart @zanderso @flutter/engine
174173

174+
## Linux android and Mac iOS Devicelab tests
175+
/dev/devicelab/bin/tasks/routing_test.dart @zanderso @flutter/tool
176+
175177
## Host only DeviceLab tests
176178
/dev/devicelab/bin/tasks/build_aar_module_test.dart @zanderso @flutter/tool
177179
/dev/devicelab/bin/tasks/gradle_desugar_classes_test.dart @zanderso @flutter/tool

packages/flutter_tools/lib/src/ios/devices.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ class IOSDevice extends Device {
371371
if (debuggingOptions.verboseSystemLogs) '--verbose-logging',
372372
if (debuggingOptions.cacheSkSL) '--cache-sksl',
373373
if (debuggingOptions.purgePersistentCache) '--purge-persistent-cache',
374+
if (route != null) '--route=$route',
374375
if (platformArgs['trace-startup'] as bool? ?? false) '--trace-startup',
375376
];
376377

packages/flutter_tools/lib/src/ios/simulators.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,8 @@ class IOSSimulator extends Device {
473473
if (debuggingOptions.traceAllowlist != null) '--trace-allowlist="${debuggingOptions.traceAllowlist}"',
474474
if (debuggingOptions.traceSkiaAllowlist != null) '--trace-skia-allowlist="${debuggingOptions.traceSkiaAllowlist}"',
475475
if (dartVmFlags.isNotEmpty) '--dart-flags=$dartVmFlags',
476-
'--observatory-port=${debuggingOptions.hostVmServicePort ?? 0}'
476+
'--observatory-port=${debuggingOptions.hostVmServicePort ?? 0}',
477+
if (route != null) '--route=$route'
477478
],
478479
];
479480

packages/flutter_tools/test/general.shard/ios/simulators_test.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,35 @@ Dec 20 17:04:32 md32-11-vm1 Another App[88374]: Ignore this text'''
995995
ProcessManager: () => FakeProcessManager.any(),
996996
Xcode: () => xcode,
997997
});
998+
999+
testUsingContext('startApp using route', () async {
1000+
final IOSSimulator device = IOSSimulator(
1001+
'x',
1002+
name: 'iPhone SE',
1003+
simulatorCategory: 'iOS 11.2',
1004+
simControl: simControl,
1005+
);
1006+
testPlistParser.setProperty('CFBundleIdentifier', 'correct');
1007+
1008+
final Directory mockDir = globals.fs.currentDirectory;
1009+
final IOSApp package = PrebuiltIOSApp(
1010+
projectBundleId: 'correct',
1011+
bundleName: 'name',
1012+
uncompressedBundle: mockDir,
1013+
applicationPackage: mockDir,
1014+
);
1015+
1016+
const BuildInfo mockInfo = BuildInfo(BuildMode.debug, 'flavor', treeShakeIcons: false);
1017+
final DebuggingOptions mockOptions = DebuggingOptions.enabled(mockInfo, enableSoftwareRendering: true);
1018+
await device.startApp(package, prebuiltApplication: true, debuggingOptions: mockOptions, route: '/animation');
1019+
1020+
expect(simControl.requests.single.launchArgs, contains('--route=/animation'));
1021+
}, overrides: <Type, Generator>{
1022+
PlistParser: () => testPlistParser,
1023+
FileSystem: () => fileSystem,
1024+
ProcessManager: () => FakeProcessManager.any(),
1025+
Xcode: () => xcode,
1026+
});
9981027
});
9991028

10001029
group('IOSDevice.isSupportedForProject', () {

0 commit comments

Comments
 (0)