Make sure we refer to 'stable', and not 'release' branch. (#23745)
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 1262c57..c8a39dc 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart
@@ -47,7 +47,7 @@ 'master', 'dev', 'beta', - 'release', + 'stable', ]); /// This maps old branch names to the names of branches that replaced them. @@ -63,7 +63,7 @@ String _channel; /// The channel is the upstream branch. - /// `master`, `dev`, `beta`, `release`; or old ones, like `alpha`, `hackathon`, ... + /// `master`, `dev`, `beta`, `stable`; or old ones, like `alpha`, `hackathon`, ... String get channel => _channel; /// The name of the local branch.
diff --git a/packages/flutter_tools/test/channel_test.dart b/packages/flutter_tools/test/channel_test.dart index 96c2e92..a7bdf64 100644 --- a/packages/flutter_tools/test/channel_test.dart +++ b/packages/flutter_tools/test/channel_test.dart
@@ -56,8 +56,10 @@ final Process process = createMockProcess( stdout: 'origin/dev\n' 'origin/beta\n' + 'origin/stable\n' 'upstream/dev\n' - 'upstream/beta\n'); + 'upstream/beta\n' + 'upstream/stable\n'); when(mockProcessManager.start( <String>['git', 'branch', '-r'], workingDirectory: anyNamed('workingDirectory'), @@ -83,7 +85,7 @@ .where((String line) => line?.isNotEmpty == true) .skip(1); // remove `Flutter channels:` line - expect(rows, <String>['dev', 'beta']); + expect(rows, <String>['dev', 'beta', 'stable']); }, overrides: <Type, Generator>{ ProcessManager: () => mockProcessManager, }); @@ -127,6 +129,40 @@ expect(testLogger.statusText, contains("Switching to flutter channel 'beta'...")); expect(testLogger.errorText, hasLength(0)); + + when(mockProcessManager.start( + <String>['git', 'fetch'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).thenAnswer((_) => Future<Process>.value(createMockProcess())); + when(mockProcessManager.start( + <String>['git', 'show-ref', '--verify', '--quiet', 'refs/heads/stable'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).thenAnswer((_) => Future<Process>.value(createMockProcess())); + when(mockProcessManager.start( + <String>['git', 'checkout', 'stable', '--'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).thenAnswer((_) => Future<Process>.value(createMockProcess())); + + await runner.run(<String>['channel', 'stable']); + + verify(mockProcessManager.start( + <String>['git', 'fetch'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).called(1); + verify(mockProcessManager.start( + <String>['git', 'show-ref', '--verify', '--quiet', 'refs/heads/stable'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).called(1); + verify(mockProcessManager.start( + <String>['git', 'checkout', 'stable', '--'], + workingDirectory: anyNamed('workingDirectory'), + environment: anyNamed('environment'), + )).called(1); }, overrides: <Type, Generator>{ ProcessManager: () => mockProcessManager, FileSystem: () => MemoryFileSystem(),