diff --git a/dev/devicelab/bin/tasks/flavors_test.dart b/dev/devicelab/bin/tasks/flavors_test.dart index 055f58aa29f..aab245b8894 100644 --- a/dev/devicelab/bin/tasks/flavors_test.dart +++ b/dev/devicelab/bin/tasks/flavors_test.dart @@ -13,31 +13,37 @@ Future main() async { await task(() async { await createFlavorsTest().call(); await createIntegrationTestFlavorsTest().call(); - // test install and uninstall of flavors app - await inDirectory('${flutterDirectory.path}/dev/integration_tests/flavors', () async { - await flutter( - 'install', - options: ['--debug', '--flavor', 'paid'], - ); - await flutter( - 'install', - options: ['--debug', '--flavor', 'paid', '--uninstall-only'], - ); - final StringBuffer stderr = StringBuffer(); - await evalFlutter( - 'install', - canFail: true, - stderr: stderr, - options: ['--flavor', 'bogus'], - ); - final String stderrString = stderr.toString(); - if (!stderrString.contains('The Xcode project defines schemes: free, paid')) { - print(stderrString); - return TaskResult.failure('Should not succeed with bogus flavor'); - } - }); + final TaskResult installTestsResult = await inDirectory( + '${flutterDirectory.path}/dev/integration_tests/flavors', + () async { + await flutter( + 'install', + options: ['--debug', '--flavor', 'paid'], + ); + await flutter( + 'install', + options: ['--debug', '--flavor', 'paid', '--uninstall-only'], + ); - return TaskResult.success(null); + final StringBuffer stderr = StringBuffer(); + await evalFlutter( + 'install', + canFail: true, + stderr: stderr, + options: ['--flavor', 'bogus'], + ); + + final String stderrString = stderr.toString(); + if (!stderrString.contains('"build/app/outputs/flutter-apk/app-bogus-release.apk" does not exist.')) { + print(stderrString); + return TaskResult.failure('Should not succeed with bogus flavor'); + } + + return TaskResult.success(null); + }, + ); + + return installTestsResult; }); } diff --git a/dev/devicelab/bin/tasks/flavors_test_ios.dart b/dev/devicelab/bin/tasks/flavors_test_ios.dart index 2fbfcb9e0a4..4e84ed4ec35 100644 --- a/dev/devicelab/bin/tasks/flavors_test_ios.dart +++ b/dev/devicelab/bin/tasks/flavors_test_ios.dart @@ -14,30 +14,35 @@ Future main() async { await createFlavorsTest().call(); await createIntegrationTestFlavorsTest().call(); // test install and uninstall of flavors app - await inDirectory('${flutterDirectory.path}/dev/integration_tests/flavors', () async { - await flutter( - 'install', - options: ['--flavor', 'paid'], - ); - await flutter( - 'install', - options: ['--flavor', 'paid', '--uninstall-only'], - ); - final StringBuffer stderr = StringBuffer(); - await evalFlutter( - 'install', - canFail: true, - stderr: stderr, - options: ['--flavor', 'bogus'], - ); + final TaskResult installTestsResult = await inDirectory( + '${flutterDirectory.path}/dev/integration_tests/flavors', + () async { + await flutter( + 'install', + options: ['--flavor', 'paid'], + ); + await flutter( + 'install', + options: ['--flavor', 'paid', '--uninstall-only'], + ); + final StringBuffer stderr = StringBuffer(); + await evalFlutter( + 'install', + canFail: true, + stderr: stderr, + options: ['--flavor', 'bogus'], + ); - final String stderrString = stderr.toString(); - if (!stderrString.contains('install failed, bogus flavor not found')) { - print(stderrString); - return TaskResult.failure('Should not succeed with bogus flavor'); - } - }); + final String stderrString = stderr.toString(); + if (!stderrString.contains('The Xcode project defines schemes: free, paid')) { + print(stderrString); + return TaskResult.failure('Should not succeed with bogus flavor'); + } - return TaskResult.success(null); + return TaskResult.success(null); + }, + ); + + return installTestsResult; }); } diff --git a/dev/devicelab/bin/tasks/flavors_test_macos.dart b/dev/devicelab/bin/tasks/flavors_test_macos.dart index 346bc31a19c..e3bb56123bc 100644 --- a/dev/devicelab/bin/tasks/flavors_test_macos.dart +++ b/dev/devicelab/bin/tasks/flavors_test_macos.dart @@ -14,26 +14,31 @@ Future main() async { await createFlavorsTest().call(); await createIntegrationTestFlavorsTest().call(); - await inDirectory('${flutterDirectory.path}/dev/integration_tests/flavors', () async { - final StringBuffer stderr = StringBuffer(); + final TaskResult installTestsResult = await inDirectory( + '${flutterDirectory.path}/dev/integration_tests/flavors', + () async { + final StringBuffer stderr = StringBuffer(); - await evalFlutter( - 'install', - canFail: true, - stderr: stderr, - options: [ - '--d', 'macos', - '--flavor', 'free' - ], - ); + await evalFlutter( + 'install', + canFail: true, + stderr: stderr, + options: [ + '--d', 'macos', + '--flavor', 'free' + ], + ); - final String stderrString = stderr.toString(); - if (!stderrString.contains('Host and target are the same. Nothing to install.')) { - print(stderrString); - return TaskResult.failure('Installing a macOS app on macOS should no-op'); - } - }); + final String stderrString = stderr.toString(); + if (!stderrString.contains('Host and target are the same. Nothing to install.')) { + print(stderrString); + return TaskResult.failure('Installing a macOS app on macOS should no-op'); + } - return TaskResult.success(null); + return TaskResult.success(null); + }, + ); + + return installTestsResult; }); }