@@ -235,13 +235,13 @@ mixin _MigrationCliTestMethods on _MigrationCliTestBase {
235235
236236 Future <String > assertErrorExit (
237237 MigrationCliRunner cliRunner, FutureOr <void > Function () callback,
238- {@required bool withUsage, dynamic expectedExitCode = anything}) async {
238+ {@required bool withUsage, dynamic expectedExitCode}) async {
239+ expectedExitCode ?? = isNot (0 );
239240 try {
240241 await callback ();
241242 fail ('Migration succeeded; expected it to abort with an error' );
242243 } on MigrationExit catch (migrationExit) {
243244 expect (migrationExit.exitCode, isNotNull);
244- expect (migrationExit.exitCode, isNot (0 ));
245245 expect (migrationExit.exitCode, expectedExitCode);
246246 }
247247 expect (cliRunner.isPreviewServerRunning, isFalse);
@@ -305,15 +305,15 @@ mixin _MigrationCliTestMethods on _MigrationCliTestBase {
305305 Future <String > assertRunFailure (List <String > args,
306306 {MigrationCli cli,
307307 bool withUsage = false ,
308- dynamic expectedExitCode = anything}) async {
308+ dynamic expectedExitCode}) async {
309+ expectedExitCode ?? = isNot (0 );
309310 cli ?? = _createCli ();
310311 MigrationCliRunner cliRunner;
311312 try {
312313 cliRunner =
313314 cli.decodeCommandLineArgs (MigrationCli .createParser ().parse (args));
314315 } on MigrationExit catch (e) {
315316 expect (e.exitCode, isNotNull);
316- expect (e.exitCode, isNot (0 ));
317317 expect (e.exitCode, expectedExitCode);
318318 return assertStderr (withUsage: withUsage);
319319 }
@@ -804,6 +804,15 @@ int? f() => null
804804 expect (output, isNot (contains ('package:bar/bar.dart' )));
805805 }
806806
807+ test_lifecycle_migration_already_performed () async {
808+ var projectContents = simpleProject (migrated: true );
809+ var projectDir = createProjectDir (projectContents);
810+ await assertRunFailure ([projectDir], expectedExitCode: 0 );
811+ var output = logger.stdoutBuffer.toString ();
812+ expect (output,
813+ contains ('All sources appear to be already migrated. Nothing to do.' ));
814+ }
815+
807816 test_lifecycle_no_preview () async {
808817 var projectContents = simpleProject ();
809818 var projectDir = createProjectDir (projectContents);
0 commit comments