Unverified Commit fdd1bf29 authored by Danny Tuppeny's avatar Danny Tuppeny Committed by GitHub

Handle missing Android SDKs in getEmulators() (#67295)

parent 5e97eed8
......@@ -56,7 +56,7 @@ class AndroidEmulators extends EmulatorDiscovery {
/// Return the list of available emulator AVDs.
Future<List<AndroidEmulator>> _getEmulatorAvds() async {
final String emulatorPath = _androidSdk.emulatorPath;
final String emulatorPath = _androidSdk?.emulatorPath;
if (emulatorPath == null) {
return <AndroidEmulator>[];
}
......
......@@ -84,6 +84,28 @@ void main() {
returnsNormally);
});
testUsingContext('getEmulators with no Android SDK', () async {
// Test that EmulatorManager.getEmulators() doesn't throw when there's no Android SDK.
final EmulatorManager emulatorManager = EmulatorManager(
fileSystem: MemoryFileSystem.test(),
logger: BufferLogger.test(),
processManager: FakeProcessManager.list(<FakeCommand>[
const FakeCommand(
command: <String>['emulator', '-list-avds'],
stdout: 'existing-avd-1',
),
]),
androidSdk: null,
androidWorkflow: AndroidWorkflow(
androidSdk: null,
featureFlags: TestFeatureFlags(),
),
);
await expectLater(() async => await emulatorManager.getAllAvailableEmulators(),
returnsNormally);
});
testWithoutContext('getEmulatorsById', () async {
final TestEmulatorManager testEmulatorManager = TestEmulatorManager(emulators);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment