Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567)
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart
index ceeedc1..ad93955 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart
@@ -7,6 +7,7 @@
import 'package:flutter_tools/src/build_system/build_system.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/assemble.dart';
+import 'package:flutter_tools/src/runner/flutter_command_runner.dart';
import 'package:mockito/mockito.dart';
import 'package:flutter_tools/src/globals.dart' as globals;
@@ -15,6 +16,7 @@
import '../../src/testbed.dart';
void main() {
+ FlutterCommandRunner.initFlutterRoot();
Cache.disableLocking();
final Testbed testbed = Testbed(overrides: <Type, Generator>{
BuildSystem: () => MockBuildSystem(),
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
index 9a9535e..488ffa2 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
@@ -76,7 +76,7 @@
'--show-test-device',
]);
fail('Expect exception');
- } catch (e) {
+ } on Exception catch (e) {
expect(e.toString(), isNot(contains('--fast-start is not supported with --use-application-binary')));
}
}, overrides: <Type, Generator>{
@@ -102,7 +102,7 @@
'--no-pub',
]);
fail('Expect exception');
- } catch (e) {
+ } on Exception catch (e) {
expect(e, isInstanceOf<ToolExit>());
}
final BufferLogger bufferLogger = globals.logger as BufferLogger;
@@ -127,7 +127,7 @@
'--no-pub',
]);
fail('Expect exception');
- } catch (e) {
+ } on Exception catch (e) {
expect(e, isInstanceOf<ToolExit>());
expect(e.toString(), contains('No pubspec.yaml file found'));
}
@@ -221,8 +221,8 @@
} on ToolExit catch (e) {
// We expect a ToolExit because no devices are attached
expect(e.message, null);
- } catch (e) {
- fail('ToolExit expected');
+ } on Exception catch (e) {
+ fail('ToolExit expected, got $e');
}
verifyInOrder(<void>[
@@ -293,8 +293,8 @@
} on ToolExit catch (e) {
// We expect a ToolExit because app does not start
expect(e.message, null);
- } catch (e) {
- fail('ToolExit expected');
+ } on Exception catch (e) {
+ fail('ToolExit expected, got $e');
}
final List<dynamic> captures = verify(mockUsage.sendCommand(
captureAny,
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
index 482c379..972b433 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
@@ -163,7 +163,7 @@
try {
await command.getTags();
fail('ToolExit expected');
- } catch(e) {
+ } on Exception catch (e) {
expect(e, isA<ToolExit>());
}
}, overrides: <Type, Generator>{