@@ -28,9 +28,13 @@ void main() {
2828 final StackTrace stackTrace = StackTrace .current;
2929 late FakeAnalytics fakeAnalytics;
3030
31+ late MemoryFileSystem fileSystem;
32+
3133 setUp (() {
34+ fileSystem = MemoryFileSystem .test ();
35+ fileSystem.file ('pubspec.yaml' ).createSync ();
3236 fakeAnalytics = getInitializedFakeAnalyticsInstance (
33- fs: MemoryFileSystem . test () ,
37+ fs: fileSystem ,
3438 fakeFlutterVersion: FakeFlutterVersion (),
3539 );
3640 });
@@ -51,7 +55,7 @@ void main() {
5155 },
5256 overrides: < Type , Generator > {
5357 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
54- FileSystem : () => MemoryFileSystem . test () ,
58+ FileSystem : () => fileSystem ,
5559 ProcessManager : () => FakeProcessManager .any (),
5660 },
5761 );
@@ -80,7 +84,7 @@ void main() {
8084 },
8185 overrides: < Type , Generator > {
8286 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
83- FileSystem : () => MemoryFileSystem . test () ,
87+ FileSystem : () => fileSystem ,
8488 ProcessManager : () => FakeProcessManager .any (),
8589 },
8690 );
@@ -109,7 +113,7 @@ void main() {
109113 },
110114 overrides: < Type , Generator > {
111115 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
112- FileSystem : () => MemoryFileSystem . test () ,
116+ FileSystem : () => fileSystem ,
113117 ProcessManager : () => FakeProcessManager .any (),
114118 },
115119 );
@@ -138,7 +142,7 @@ void main() {
138142 },
139143 overrides: < Type , Generator > {
140144 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
141- FileSystem : () => MemoryFileSystem . test () ,
145+ FileSystem : () => fileSystem ,
142146 ProcessManager : () => FakeProcessManager .any (),
143147 },
144148 );
@@ -160,7 +164,7 @@ void main() {
160164 },
161165 overrides: < Type , Generator > {
162166 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
163- FileSystem : () => MemoryFileSystem . test () ,
167+ FileSystem : () => fileSystem ,
164168 ProcessManager : () => FakeProcessManager .any (),
165169 FeatureFlags : () => TestFeatureFlags (isMacOSEnabled: true ),
166170 },
@@ -192,7 +196,7 @@ void main() {
192196 overrides: < Type , Generator > {
193197 Analytics : () => fakeAnalytics,
194198 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
195- FileSystem : () => MemoryFileSystem . test () ,
199+ FileSystem : () => fileSystem ,
196200 ProcessManager : () => FakeProcessManager .any (),
197201 },
198202 );
@@ -224,7 +228,7 @@ void main() {
224228 },
225229 overrides: < Type , Generator > {
226230 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
227- FileSystem : () => MemoryFileSystem . test () ,
231+ FileSystem : () => fileSystem ,
228232 ProcessManager : () => FakeProcessManager .any (),
229233 FeatureFlags : () => TestFeatureFlags (isMacOSEnabled: true ),
230234 Analytics : () => fakeAnalytics,
@@ -245,7 +249,7 @@ void main() {
245249 },
246250 overrides: < Type , Generator > {
247251 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
248- FileSystem : () => MemoryFileSystem . test () ,
252+ FileSystem : () => fileSystem ,
249253 ProcessManager : () => FakeProcessManager .any (),
250254 },
251255 );
@@ -269,7 +273,7 @@ void main() {
269273 },
270274 overrides: < Type , Generator > {
271275 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
272- FileSystem : () => MemoryFileSystem . test () ,
276+ FileSystem : () => fileSystem ,
273277 ProcessManager : () => FakeProcessManager .any (),
274278 },
275279 );
@@ -298,7 +302,7 @@ void main() {
298302 },
299303 overrides: < Type , Generator > {
300304 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
301- FileSystem : () => MemoryFileSystem . test () ,
305+ FileSystem : () => fileSystem ,
302306 ProcessManager : () => FakeProcessManager .any (),
303307 },
304308 );
@@ -314,7 +318,7 @@ void main() {
314318 },
315319 overrides: < Type , Generator > {
316320 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
317- FileSystem : () => MemoryFileSystem . test () ,
321+ FileSystem : () => fileSystem ,
318322 ProcessManager : () => FakeProcessManager .any (),
319323 },
320324 );
@@ -344,7 +348,7 @@ void main() {
344348 },
345349 overrides: < Type , Generator > {
346350 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
347- FileSystem : () => MemoryFileSystem . test () ,
351+ FileSystem : () => fileSystem ,
348352 ProcessManager : () => FakeProcessManager .any (),
349353 },
350354 );
@@ -386,7 +390,7 @@ void main() {
386390 },
387391 overrides: < Type , Generator > {
388392 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
389- FileSystem : () => MemoryFileSystem . test () ,
393+ FileSystem : () => fileSystem ,
390394 ProcessManager : () => FakeProcessManager .any (),
391395 },
392396 );
@@ -416,7 +420,7 @@ void main() {
416420 localEngineHost: 'out/host_release' ,
417421 ),
418422 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
419- FileSystem : () => MemoryFileSystem . test () ,
423+ FileSystem : () => fileSystem ,
420424 ProcessManager : () => FakeProcessManager .any (),
421425 },
422426 );
@@ -489,7 +493,7 @@ void main() {
489493 },
490494 overrides: < Type , Generator > {
491495 Cache : () => Cache .test (processManager: FakeProcessManager .any ()),
492- FileSystem : () => MemoryFileSystem . test () ,
496+ FileSystem : () => fileSystem ,
493497 ProcessManager : () => FakeProcessManager .any (),
494498 },
495499 );
@@ -545,6 +549,24 @@ void main() {
545549 await commandRunner.run (['--help' /* -- verbose omitted (verboseHelp: true) is set above */ ]);
546550 expect (testLogger.statusText, contains ('assemble' ));
547551 });
552+
553+ testUsingContext (
554+ 'flutter assemble fails if pubspec.yaml is missing' ,
555+ () async {
556+ final CommandRunner <void > commandRunner = createTestCommandRunner (
557+ AssembleCommand (buildSystem: TestBuildSystem .error (null )),
558+ );
559+
560+ await expectLater (
561+ commandRunner.run (< String > ['assemble' , '-o Output' , 'debug_macos_bundle_flutter_assets' ]),
562+ throwsToolExit (message: 'No pubspec.yaml file found' ),
563+ );
564+ },
565+ overrides: < Type , Generator > {
566+ FileSystem : () => MemoryFileSystem .test (),
567+ ProcessManager : () => FakeProcessManager .any (),
568+ },
569+ );
548570}
549571
550572final class _StubCommand extends FlutterCommand {
0 commit comments