Skip to content

tool test analytics_test fails locally when Android Studio is installed #113294

@jmagman

Description

@jmagman

In analytics_test AndroidStudio is not mocked, so it's actually finding Android Studio bundles on my system. But PlistParser is faked, and is returning null for kCFBundleShortVersionStringKey

final DoctorCommand command = DoctorCommand();

androidLicenseValidator: androidLicenseValidator,

AndroidLicenseValidator? get androidLicenseValidator => context.get<AndroidLicenseValidator>();

versionString should be String?

final String versionString = plistValues[PlistParser.kCFBundleShortVersionStringKey] as String;
Version? version;
if (versionString != null) {

00:27 +2282 ~5 -2: analytics_test.dart: analytics with fakes doctor fail sends warning [E]
  type 'Null' is not a subtype of type 'String' in type cast
  package:flutter_tools/src/android/android_studio.dart 54:90    AndroidStudio.fromMacOSBundle
  package:flutter_tools/src/android/android_studio.dart 318:68   AndroidStudio._allMacOS.<fn>
  dart:core                                                      Iterable.toList
  package:flutter_tools/src/android/android_studio.dart 320:10   AndroidStudio._allMacOS
  package:flutter_tools/src/android/android_studio.dart 249:34   AndroidStudio.allInstalled
  package:flutter_tools/src/android/android_studio.dart 234:41   AndroidStudio.latestValid
  package:flutter_tools/src/base/context.dart 104:42             AppContext._generateIfNecessary.<fn>
  dart:collection                                                _LinkedHashMapMixin.putIfAbsent
  package:flutter_tools/src/base/context.dart 92:20              AppContext._generateIfNecessary
  package:flutter_tools/src/base/context.dart 121:32             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/globals.dart 62:45                   androidStudio
  package:flutter_tools/src/context_runner.dart 103:32           runInContext.<fn>
  package:flutter_tools/src/base/context.dart 104:42             AppContext._generateIfNecessary.<fn>
  dart:collection                                                _LinkedHashMapMixin.putIfAbsent
  package:flutter_tools/src/base/context.dart 92:20              AppContext._generateIfNecessary
  package:flutter_tools/src/base/context.dart 121:32             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/base/context.dart 119:24             AppContext.get
  package:flutter_tools/src/android/android_workflow.dart 30:65  androidLicenseValidator
  package:flutter_tools/src/commands/doctor.dart 53:32           DoctorCommand.runCommand

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: null-safetySupport for Dart's null safety featurea: tests"flutter test", flutter_test, or one of our teststoolAffects the "flutter" command-line tool. See also t: labels.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions