diff --git a/packages/flutter_tools/lib/src/linux/linux_doctor.dart b/packages/flutter_tools/lib/src/linux/linux_doctor.dart index 05c7641105f..fc2325faaba 100644 --- a/packages/flutter_tools/lib/src/linux/linux_doctor.dart +++ b/packages/flutter_tools/lib/src/linux/linux_doctor.dart @@ -43,8 +43,12 @@ class _DriverInformation { result = await _processManager.run(['eglinfo'], stdoutEncoding: utf8); } on ArgumentError { // ignore error. + } on ProcessException { + return false; } - if (result == null || result.exitCode != 0) { + // result.exitCode is ignored, as this is non-zero if some platforms are not avaiable. + // The output information is still parsable in all cases. + if (result == null) { return false; } diff --git a/packages/flutter_tools/test/general.shard/linux/linux_doctor_test.dart b/packages/flutter_tools/test/general.shard/linux/linux_doctor_test.dart index ef948a39fe1..1965c909a8a 100644 --- a/packages/flutter_tools/test/general.shard/linux/linux_doctor_test.dart +++ b/packages/flutter_tools/test/general.shard/linux/linux_doctor_test.dart @@ -160,7 +160,11 @@ Configurations: // A command that will failure when running 'eglinfo'. FakeCommand _eglinfoMissingCommand() { - return const FakeCommand(command: ['eglinfo'], exitCode: 1); + return const FakeCommand( + command: ['eglinfo'], + exitCode: 1, + exception: ProcessException('eglinfo', []), + ); } // Commands that give some failures for the GTK library pkg-config queries.