@@ -51,9 +51,66 @@ void main() {
51
51
dartEntrypointArgs: dartEntrypointArgs,
52
52
);
53
53
54
+ testUsingContext ('runs in Rosetta on arm64 Mac' , () async {
55
+ final FakeProcessManager processManager = FakeProcessManager .empty ();
56
+ final FlutterTesterTestDevice device = TestFlutterTesterDevice (
57
+ platform: FakePlatform (operatingSystem: 'macos' ),
58
+ fileSystem: fileSystem,
59
+ processManager: processManager,
60
+ enableObservatory: false ,
61
+ dartEntrypointArgs: const < String > [],
62
+ );
63
+ processManager.addCommands (< FakeCommand > [
64
+ const FakeCommand (
65
+ command: < String > [
66
+ 'which' ,
67
+ 'sysctl' ,
68
+ ],
69
+ ),
70
+ const FakeCommand (
71
+ command: < String > [
72
+ 'sysctl' ,
73
+ 'hw.optional.arm64' ,
74
+ ],
75
+ stdout: 'hw.optional.arm64: 1' ,
76
+ ),
77
+ FakeCommand (command: const < String > [
78
+ '/usr/bin/arch' ,
79
+ '-x86_64' ,
80
+ '/' ,
81
+ '--disable-observatory' ,
82
+ '--ipv6' ,
83
+ '--enable-checked-mode' ,
84
+ '--verify-entry-points' ,
85
+ '--enable-software-rendering' ,
86
+ '--skia-deterministic-rendering' ,
87
+ '--enable-dart-profiling' ,
88
+ '--non-interactive' ,
89
+ '--use-test-fonts' ,
90
+ '--packages=.dart_tool/package_config.json' ,
91
+ 'example.dill' ,
92
+ ], environment: < String , String > {
93
+ 'FLUTTER_TEST' : 'true' ,
94
+ 'FONTCONFIG_FILE' : device.fontConfigManager.fontConfigFile.path,
95
+ 'SERVER_PORT' : '0' ,
96
+ 'APP_NAME' : '' ,
97
+ }),
98
+ ]);
99
+ await device.start ('example.dill' );
100
+ expect (processManager.hasRemainingExpectations, isFalse);
101
+ });
102
+
54
103
group ('The FLUTTER_TEST environment variable is passed to the test process' , () {
55
104
setUp (() {
56
- processManager = FakeProcessManager .empty ();
105
+ processManager = FakeProcessManager .list (< FakeCommand > [
106
+ const FakeCommand (
107
+ command: < String > [
108
+ 'uname' ,
109
+ '-m' ,
110
+ ],
111
+ stdout: 'x86_64' ,
112
+ ),
113
+ ]);
57
114
device = createDevice ();
58
115
59
116
fileSystem
@@ -127,6 +184,13 @@ void main() {
127
184
group ('Dart Entrypoint Args' , () {
128
185
setUp (() {
129
186
processManager = FakeProcessManager .list (< FakeCommand > [
187
+ const FakeCommand (
188
+ command: < String > [
189
+ 'uname' ,
190
+ '-m' ,
191
+ ],
192
+ stdout: 'x86_64' ,
193
+ ),
130
194
const FakeCommand (
131
195
command: < String > [
132
196
'/' ,
@@ -161,6 +225,13 @@ void main() {
161
225
group ('DDS' , () {
162
226
setUp (() {
163
227
processManager = FakeProcessManager .list (< FakeCommand > [
228
+ const FakeCommand (
229
+ command: < String > [
230
+ 'uname' ,
231
+ '-m' ,
232
+ ],
233
+ stdout: 'x86_64' ,
234
+ ),
164
235
const FakeCommand (
165
236
command: < String > [
166
237
'/' ,
0 commit comments