Skip to content

Commit 77ed1d2

Browse files
committed
update
1 parent 29b30b7 commit 77ed1d2

File tree

2 files changed

+121
-43
lines changed

2 files changed

+121
-43
lines changed

script/tool/lib/src/branch_for_batch_release_command.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class BranchForBatchReleaseCommand extends PackageCommand {
233233

234234
Future<void> _pushBranch(
235235
GitDir git, String remoteName, String branchName) async {
236-
print(' Pushing branch ${branchName} to remote ${remoteName}...');
236+
print(' Pushing branch $branchName to remote $remoteName...');
237237
final io.ProcessResult pushResult =
238238
await git.runCommand(<String>['push', remoteName, branchName]);
239239
if (pushResult.exitCode != 0) {

script/tool/test/branch_for_batch_release_command_test.dart

Lines changed: 120 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ void main() {
1919
late RecordingProcessRunner processRunner;
2020
late RecordingProcessRunner gitProcessRunner;
2121
late CommandRunner<void> runner;
22-
late RepositoryPackage package;
2322

24-
void createPendingChangelogFile(String name, String content) {
23+
void createPendingChangelogFile(
24+
RepositoryPackage package, String name, String content) {
2525
final File pendingChangelog = package.directory
2626
.childDirectory('pending_changelogs')
2727
.childFile(name)
@@ -41,7 +41,24 @@ void main() {
4141
],
4242
errorHandler: errorHandler);
4343

44-
const List<ProcessCall> expectedGitCallsForABFiles = [
44+
RepositoryPackage createTestPackage() {
45+
final RepositoryPackage package =
46+
createFakePackage('a_package', packagesDir);
47+
48+
package.changelogFile.writeAsStringSync('''
49+
## 1.0.0
50+
51+
- Old changes
52+
''');
53+
package.pubspecFile.writeAsStringSync('''
54+
name: a_package
55+
version: 1.0.0
56+
''');
57+
package.directory.childDirectory('pending_changelogs').createSync();
58+
return package;
59+
}
60+
61+
const List<ProcessCall> expectedGitCallsForABFiles = <ProcessCall>[
4562
ProcessCall('git-checkout', <String>['-b', 'release-branch'], null),
4663
ProcessCall('git-rm',
4764
<String>['/packages/a_package/pending_changelogs/a.yaml'], null),
@@ -88,27 +105,15 @@ void main() {
88105
runner = CommandRunner<void>('branch_for_batch_release_command',
89106
'Test for branch_for_batch_release_command');
90107
runner.addCommand(command);
91-
package = createFakePackage('a_package', packagesDir);
92-
93-
package.changelogFile.writeAsStringSync('''
94-
## 1.0.0
95-
96-
- Old changes
97-
''');
98-
package.pubspecFile.writeAsStringSync('''
99-
name: a_package
100-
version: 1.0.0
101-
''');
102-
package.directory.childDirectory('pending_changelogs').createSync();
103-
});
104-
105-
tearDown(() {
106-
package.directory.deleteSync(recursive: true);
107108
});
108109

109110
group('happy path', () {
110111
test('can bump minor', () async {
111-
createPendingChangelogFile('a.yaml', '''
112+
final RepositoryPackage package = createTestPackage();
113+
addTearDown(() {
114+
package.directory.deleteSync(recursive: true);
115+
});
116+
createPendingChangelogFile(package, 'a.yaml', '''
112117
changelog: A new feature
113118
version: minor
114119
''');
@@ -133,7 +138,11 @@ version: minor
133138
});
134139

135140
test('can bump major', () async {
136-
createPendingChangelogFile('a.yaml', '''
141+
final RepositoryPackage package = createTestPackage();
142+
addTearDown(() {
143+
package.directory.deleteSync(recursive: true);
144+
});
145+
createPendingChangelogFile(package, 'a.yaml', '''
137146
changelog: A new feature
138147
version: major
139148
''');
@@ -158,7 +167,11 @@ version: major
158167
});
159168

160169
test('can bump patch', () async {
161-
createPendingChangelogFile('a.yaml', '''
170+
final RepositoryPackage package = createTestPackage();
171+
addTearDown(() {
172+
package.directory.deleteSync(recursive: true);
173+
});
174+
createPendingChangelogFile(package, 'a.yaml', '''
162175
changelog: A new feature
163176
version: patch
164177
''');
@@ -183,11 +196,15 @@ version: patch
183196
});
184197

185198
test('merges multiple changelogs, minor and major', () async {
186-
createPendingChangelogFile('a.yaml', '''
199+
final RepositoryPackage package = createTestPackage();
200+
addTearDown(() {
201+
package.directory.deleteSync(recursive: true);
202+
});
203+
createPendingChangelogFile(package, 'a.yaml', '''
187204
changelog: A new feature
188205
version: minor
189206
''');
190-
createPendingChangelogFile('b.yaml', '''
207+
createPendingChangelogFile(package, 'b.yaml', '''
191208
changelog: A breaking change
192209
version: major
193210
''');
@@ -213,11 +230,15 @@ version: major
213230
});
214231

215232
test('merges multiple changelogs, minor and patch', () async {
216-
createPendingChangelogFile('a.yaml', '''
233+
final RepositoryPackage package = createTestPackage();
234+
addTearDown(() {
235+
package.directory.deleteSync(recursive: true);
236+
});
237+
createPendingChangelogFile(package, 'a.yaml', '''
217238
changelog: A new feature
218239
version: minor
219240
''');
220-
createPendingChangelogFile('b.yaml', '''
241+
createPendingChangelogFile(package, 'b.yaml', '''
221242
changelog: A bug fix
222243
version: patch
223244
''');
@@ -243,11 +264,15 @@ version: patch
243264
});
244265

245266
test('merges multiple changelogs, major and patch', () async {
246-
createPendingChangelogFile('a.yaml', '''
267+
final RepositoryPackage package = createTestPackage();
268+
addTearDown(() {
269+
package.directory.deleteSync(recursive: true);
270+
});
271+
createPendingChangelogFile(package, 'a.yaml', '''
247272
changelog: A breaking change
248273
version: major
249274
''');
250-
createPendingChangelogFile('b.yaml', '''
275+
createPendingChangelogFile(package, 'b.yaml', '''
251276
changelog: A bug fix
252277
version: patch
253278
''');
@@ -273,15 +298,19 @@ version: patch
273298
});
274299

275300
test('merges multiple changelogs, minor, major and patch', () async {
276-
createPendingChangelogFile('a.yaml', '''
301+
final RepositoryPackage package = createTestPackage();
302+
addTearDown(() {
303+
package.directory.deleteSync(recursive: true);
304+
});
305+
createPendingChangelogFile(package, 'a.yaml', '''
277306
changelog: A new feature
278307
version: minor
279308
''');
280-
createPendingChangelogFile('b.yaml', '''
309+
createPendingChangelogFile(package, 'b.yaml', '''
281310
changelog: A breaking change
282311
version: major
283312
''');
284-
createPendingChangelogFile('c.yaml', '''
313+
createPendingChangelogFile(package, 'c.yaml', '''
285314
changelog: A bug fix
286315
version: patch
287316
''');
@@ -335,11 +364,15 @@ version: patch
335364
});
336365

337366
test('merges multiple changelogs with same version', () async {
338-
createPendingChangelogFile('a.yaml', '''
367+
final RepositoryPackage package = createTestPackage();
368+
addTearDown(() {
369+
package.directory.deleteSync(recursive: true);
370+
});
371+
createPendingChangelogFile(package, 'a.yaml', '''
339372
changelog: A new feature
340373
version: minor
341374
''');
342-
createPendingChangelogFile('b.yaml', '''
375+
createPendingChangelogFile(package, 'b.yaml', '''
343376
changelog: Another new feature
344377
version: minor
345378
''');
@@ -365,11 +398,15 @@ version: minor
365398
});
366399

367400
test('mix of skip and other version changes', () async {
368-
createPendingChangelogFile('a.yaml', '''
401+
final RepositoryPackage package = createTestPackage();
402+
addTearDown(() {
403+
package.directory.deleteSync(recursive: true);
404+
});
405+
createPendingChangelogFile(package, 'a.yaml', '''
369406
changelog: A new feature
370407
version: minor
371408
''');
372-
createPendingChangelogFile('b.yaml', '''
409+
createPendingChangelogFile(package, 'b.yaml', '''
373410
changelog: A documentation update
374411
version: skip
375412
''');
@@ -395,7 +432,11 @@ version: skip
395432
});
396433

397434
test('skips version update', () async {
398-
createPendingChangelogFile('a.yaml', '''
435+
final RepositoryPackage package = createTestPackage();
436+
addTearDown(() {
437+
package.directory.deleteSync(recursive: true);
438+
});
439+
createPendingChangelogFile(package, 'a.yaml', '''
399440
changelog: A new feature
400441
version: skip
401442
''');
@@ -415,6 +456,10 @@ version: skip
415456
});
416457

417458
test('handles no changelog files', () async {
459+
final RepositoryPackage package = createTestPackage();
460+
addTearDown(() {
461+
package.directory.deleteSync(recursive: true);
462+
});
418463
final List<String> output = await runBatchCommand();
419464

420465
expect(
@@ -432,7 +477,11 @@ version: skip
432477

433478
group('error handling', () {
434479
test('throw when git-checkout fails', () async {
435-
createPendingChangelogFile('a.yaml', '''
480+
final RepositoryPackage package = createTestPackage();
481+
addTearDown(() {
482+
package.directory.deleteSync(recursive: true);
483+
});
484+
createPendingChangelogFile(package, 'a.yaml', '''
436485
changelog: A new feature
437486
version: major
438487
''');
@@ -451,7 +500,11 @@ version: major
451500
});
452501

453502
test('throw when git-rm fails', () async {
454-
createPendingChangelogFile('a.yaml', '''
503+
final RepositoryPackage package = createTestPackage();
504+
addTearDown(() {
505+
package.directory.deleteSync(recursive: true);
506+
});
507+
createPendingChangelogFile(package, 'a.yaml', '''
455508
changelog: A new feature
456509
version: major
457510
''');
@@ -471,7 +524,11 @@ version: major
471524
});
472525

473526
test('throw when git-add fails', () async {
474-
createPendingChangelogFile('a.yaml', '''
527+
final RepositoryPackage package = createTestPackage();
528+
addTearDown(() {
529+
package.directory.deleteSync(recursive: true);
530+
});
531+
createPendingChangelogFile(package, 'a.yaml', '''
475532
changelog: A new feature
476533
version: major
477534
''');
@@ -489,7 +546,11 @@ version: major
489546
});
490547

491548
test('throw when git-commit fails', () async {
492-
createPendingChangelogFile('a.yaml', '''
549+
final RepositoryPackage package = createTestPackage();
550+
addTearDown(() {
551+
package.directory.deleteSync(recursive: true);
552+
});
553+
createPendingChangelogFile(package, 'a.yaml', '''
493554
changelog: A new feature
494555
version: major
495556
''');
@@ -507,7 +568,11 @@ version: major
507568
});
508569

509570
test('throw when git-push fails', () async {
510-
createPendingChangelogFile('a.yaml', '''
571+
final RepositoryPackage package = createTestPackage();
572+
addTearDown(() {
573+
package.directory.deleteSync(recursive: true);
574+
});
575+
createPendingChangelogFile(package, 'a.yaml', '''
511576
changelog: A new feature
512577
version: major
513578
''');
@@ -525,12 +590,25 @@ version: major
525590
});
526591

527592
test('throws for pre-1.0.0 packages', () async {
593+
final RepositoryPackage package =
594+
createFakePackage('a_package', packagesDir);
595+
596+
addTearDown(() {
597+
package.directory.deleteSync(recursive: true);
598+
});
599+
528600
// Set a pre-1.0.0 version.
601+
package.changelogFile.writeAsStringSync('''
602+
## 0.5.0
603+
604+
- Old changes
605+
''');
529606
package.pubspecFile.writeAsStringSync('''
530607
name: a_package
531608
version: 0.5.0
532609
''');
533-
createPendingChangelogFile('a.yaml', '''
610+
package.directory.childDirectory('pending_changelogs').createSync();
611+
createPendingChangelogFile(package, 'a.yaml', '''
534612
changelog: A new feature
535613
version: minor
536614
''');

0 commit comments

Comments
 (0)