Skip to content

Commit

Permalink
add test for setting JAVA_HOME and PATH when invoking `sdkmanager --l…
Browse files Browse the repository at this point in the history
…icenses` (#127344)

#126086 inadvertently fixed #124776

This follow-up PR gets the fix under test.
  • Loading branch information
andrewkolos committed May 22, 2023
1 parent 6e1caad commit 46a742f
Showing 1 changed file with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import 'package:file/memory.dart';
import 'package:flutter_tools/src/android/android_sdk.dart';
import 'package:flutter_tools/src/android/android_studio.dart';
import 'package:flutter_tools/src/android/android_workflow.dart';
import 'package:flutter_tools/src/android/java.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/logger.dart';
Expand Down Expand Up @@ -209,6 +210,35 @@ All SDK package licenses accepted.
expect(result, LicensesAccepted.all);
});

testWithoutContext('licensesAccepted sets environment for finding java', () async {
final Java java = FakeJava();
sdk.sdkManagerPath = '/foo/bar/sdkmanager';
processManager.addCommand(
FakeCommand(
command: <String>[sdk.sdkManagerPath!, '--licenses'],
stdout: 'All SDK package licenses accepted.',
environment: <String, String>{
'JAVA_HOME': java.javaHome!,
'PATH': fileSystem.path.join(java.javaHome!, 'bin'),
}
)
);
final AndroidLicenseValidator licenseValidator = AndroidLicenseValidator(
java: java,
androidSdk: sdk,
fileSystem: fileSystem,
processManager: processManager,
platform: FakePlatform(environment: <String, String>{'HOME': '/home/me'}),
stdio: stdio,
logger: BufferLogger.test(),
userMessages: UserMessages(),
androidStudio: FakeAndroidStudio(),
);
final LicensesAccepted licenseStatus = await licenseValidator.licensesAccepted;

expect(licenseStatus, LicensesAccepted.all);
});

testWithoutContext('licensesAccepted works for some licenses accepted', () async {
sdk.sdkManagerPath = '/foo/bar/sdkmanager';
const String output = '''
Expand Down

0 comments on commit 46a742f

Please sign in to comment.