Skip to content

Commit 9ade26c

Browse files
committed
iter
1 parent caa5a70 commit 9ade26c

File tree

3 files changed

+97
-157
lines changed

3 files changed

+97
-157
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/TransportVersionGenerationFuncTest.groovy

Lines changed: 44 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
2727
return gradleRunner(args.toArray())
2828
}
2929

30-
def runGenerateAndValidateWithLabels(String... labels) {
31-
String labelsStr = String.join(System.lineSeparator(), List.of(labels));
32-
return runGenerateAndValidateTask().withEnvironment(Map.of("PULL_REQUEST_LABELS", labelsStr));
33-
}
34-
3530
def runGenerateTask(String... additionalArgs) {
3631
List<String> args = new ArrayList<>()
3732
args.add(":myserver:generateTransportVersionDefinition")
@@ -47,8 +42,9 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
4742
assert result.task(":myserver:generateTransportVersionDefinition").outcome == TaskOutcome.SUCCESS
4843
}
4944

50-
void assertGenerateFailure(BuildResult result) {
45+
void assertGenerateFailure(BuildResult result, String expectedOutput) {
5146
assert result.task(":myserver:generateTransportVersionDefinition").outcome == TaskOutcome.FAILED
47+
assertOutputContains(result.output, expectedOutput)
5248
}
5349

5450
void assertValidateSuccess(BuildResult result) {
@@ -60,10 +56,6 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
6056
assertValidateSuccess(result)
6157
}
6258

63-
def setup() {
64-
65-
}
66-
6759
def "setup is valid"() {
6860
when:
6961
def result = runGenerateAndValidateTask().build()
@@ -74,7 +66,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
7466

7567
def "a definition should be generated when specified by an arg but no code reference exists yet"() {
7668
when:
77-
def result = runGenerateTask("--name=new_tv", "--branches=9.2").build()
69+
def result = runGenerateTask("--name=new_tv").build()
7870

7971
then:
8072
assertGenerateSuccess(result)
@@ -94,31 +86,20 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
9486
referencedTransportVersion("new_tv")
9587

9688
when:
97-
def result = runGenerateAndValidateTask("--branches=9.2").build()
89+
def result = runGenerateAndValidateTask().build()
9890

9991
then:
10092
assertGenerateAndValidateSuccess(result)
10193
assertReferableDefinition("new_tv", "8124000")
10294
assertUpperBound("9.2", "new_tv,8124000")
10395
}
10496

105-
def "generation fails if branches omitted outside CI"() {
106-
when:
107-
def generateResult = runGenerateTask("--name=no_branches").buildAndFail()
108-
def validateResult = runValidateTask().build()
109-
110-
then:
111-
assertGenerateFailure(generateResult)
112-
assertOutputContains(generateResult.output, "When running outside CI, --branches must be specified")
113-
assertValidateSuccess(validateResult)
114-
}
115-
11697
def "invalid changes to a latest file should be reverted"() {
11798
given:
11899
transportVersionUpperBound("9.2", "modification", "9000000")
119100

120101
when:
121-
def result = runGenerateAndValidateTask("--branches=9.2").build()
102+
def result = runGenerateAndValidateTask().build()
122103

123104
then:
124105
assertGenerateAndValidateSuccess(result)
@@ -131,7 +112,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
131112
transportVersionUpperBound("9.1", "modification", "9000000")
132113

133114
when:
134-
def result = runGenerateAndValidateTask("--branches=9.2,9.1").build()
115+
def result = runGenerateAndValidateTask("--backport-branches=9.1").build()
135116

136117
then:
137118
assertGenerateAndValidateSuccess(result)
@@ -176,7 +157,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
176157
referencedTransportVersion("renamed_tv")
177158

178159
when:
179-
def result = runGenerateAndValidateTask("--branches=9.2").build()
160+
def result = runGenerateAndValidateTask().build()
180161

181162
then:
182163
assertGenerateAndValidateSuccess(result)
@@ -193,7 +174,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
193174
referencedTransportVersion("renamed_tv")
194175

195176
when:
196-
def result = runGenerateAndValidateTask("--branches=9.2,9.1").build()
177+
def result = runGenerateAndValidateTask("--backport-branches=9.1").build()
197178

198179
then:
199180
assertGenerateAndValidateSuccess(result)
@@ -209,7 +190,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
209190
transportVersionUpperBound("9.2", "test_tv", "8124000")
210191

211192
when:
212-
def result = runGenerateAndValidateTask("--branches=9.2").build()
193+
def result = runGenerateAndValidateTask().build()
213194

214195
then:
215196
assertGenerateAndValidateSuccess(result)
@@ -222,7 +203,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
222203
referableAndReferencedTransportVersion("test_tv", "8124000")
223204

224205
when:
225-
def result = runGenerateAndValidateTask("--branches=9.2").build()
206+
def result = runGenerateAndValidateTask().build()
226207

227208
then:
228209
assertGenerateAndValidateSuccess(result)
@@ -237,7 +218,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
237218
transportVersionUpperBound("9.1", "test_tv", "8012002")
238219

239220
when:
240-
def result = runGenerateAndValidateTask("--branches=9.2").build()
221+
def result = runGenerateAndValidateTask().build()
241222

242223
then:
243224
assertGenerateAndValidateSuccess(result)
@@ -252,7 +233,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
252233
transportVersionUpperBound("9.2", "test_tv", "8124000")
253234

254235
when:
255-
def result = runGenerateAndValidateTask("--branches=9.2,9.1").build()
236+
def result = runGenerateAndValidateTask("--backport-branches=9.1").build()
256237

257238
then:
258239
assertGenerateAndValidateSuccess(result)
@@ -290,7 +271,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
290271
referableAndReferencedTransportVersion("second_tv", "8123000")
291272

292273
when:
293-
def result = runGenerateAndValidateTask("--name=second_tv", "--branches=9.2").build()
274+
def result = runGenerateAndValidateTask("--name=second_tv", ).build()
294275

295276
then:
296277
assertGenerateAndValidateSuccess(result)
@@ -299,20 +280,19 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
299280
assertUpperBound("9.2", "second_tv,8124000")
300281
}
301282

302-
def "branches param order can be changed"() {
283+
def "branches param order does not matter"() {
303284
given:
304-
referableAndReferencedTransportVersion("test_tv", "8124000,8012002")
305-
transportVersionUpperBound("9.2", "test_tv", "8124000")
306-
transportVersionUpperBound("9.1", "test_tv", "8012002")
285+
referencedTransportVersion("test_tv")
307286

308287
when:
309-
def result = runGenerateAndValidateTask("--branches=9.1,9.2").build()
288+
def result = runGenerateAndValidateTask("--backport-branches=9.0,9.1").build()
310289

311290
then:
312291
assertGenerateAndValidateSuccess(result)
313-
assertReferableDefinition("test_tv", "8124000,8012002")
292+
assertReferableDefinition("test_tv", "8124000,8012002,8000001")
314293
assertUpperBound("9.2", "test_tv,8124000")
315294
assertUpperBound("9.1", "test_tv,8012002")
295+
assertUpperBound("9.0", "test_tv,8000001")
316296
}
317297

318298
def "if the files for a new definition already exist, no change should occur"() {
@@ -322,7 +302,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
322302

323303

324304
when:
325-
def result = runGenerateAndValidateTask("--branches=9.2").build()
305+
def result = runGenerateAndValidateTask().build()
326306

327307
then:
328308
assertGenerateAndValidateSuccess(result)
@@ -332,7 +312,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
332312

333313
def "can add backport to an existing definition"() {
334314
when:
335-
def result = runGenerateAndValidateTask("--name=existing_92", "--branches=9.2,9.1,9.0").build()
315+
def result = runGenerateAndValidateTask("--name=existing_92", "--backport-branches=9.1,9.0").build()
336316

337317
then:
338318
assertGenerateAndValidateSuccess(result)
@@ -342,6 +322,18 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
342322
assertUpperBound("9.0", "existing_92,8000001")
343323
}
344324

325+
def "increment must be positive"() {
326+
given:
327+
referencedTransportVersion("new_tv")
328+
329+
when:
330+
def result = runGenerateTask("--increment=0").buildAndFail()
331+
332+
then:
333+
assertGenerateFailure(result, "Invalid increment [0], must be a positive integer")
334+
assertReferableDefinitionDoesNotExist("new_tv")
335+
assertUpperBound("9.2", "existing_92,8123000")
336+
}
345337

346338
def "a different increment can be specified"() {
347339
given:
@@ -353,7 +345,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
353345
"""
354346

355347
when:
356-
def result = runGenerateAndValidateTask("--branches=9.2", "--increment=100").build()
348+
def result = runGenerateAndValidateTask("--backport-branches=9.2", "--increment=100").build()
357349

358350
then:
359351
assertGenerateAndValidateSuccess(result)
@@ -366,7 +358,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
366358
referencedTransportVersion("new_tv")
367359

368360
when:
369-
def result = runGenerateTask("--branches=9.2", "--increment=0").buildAndFail()
361+
def result = runGenerateTask("--increment=0").buildAndFail()
370362

371363
then:
372364
assertOutputContains(result.output, "Invalid increment: must be a positive integer > 0")
@@ -378,89 +370,44 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
378370
transportVersionUpperBound("9.2", "new_tv", "1000000")
379371

380372
when:
381-
def result = runGenerateAndValidateTask("--branches=9.2").build()
373+
def result = runGenerateAndValidateTask().build()
382374

383375
then:
384376
assertGenerateAndValidateSuccess(result)
385377
assertReferableDefinition("new_tv", "8124000")
386378
assertUpperBound("9.2", "new_tv,8124000")
387379
}
388380

389-
def "branches=main should be translated"() {
381+
def "backport branches is optional"() {
390382
given:
391-
execute("git checkout main")
392-
Version esVersion = VersionProperties.getElasticsearchVersion()
393-
String releaseBranch = esVersion.getMajor() + "." + esVersion.getMinor()
394-
unreferableTransportVersion("initial_main", "9000000")
395-
transportVersionUpperBound(releaseBranch, "initial_main", "9000000")
396-
file('myserver/build.gradle') << """
397-
tasks.named('generateTransportVersionDefinition') {
398-
getMainReleaseBranch().unset()
399-
}
400-
"""
401-
execute('git commit -a -m "setup_main"')
402-
execute('git checkout -b new_branch')
403383
referencedTransportVersion("new_tv")
404384

405385
when:
406-
def result = runGenerateAndValidateTask("--branches=main").build()
407-
408-
then:
409-
assertGenerateAndValidateSuccess(result)
410-
assertReferableDefinition("new_tv", "9001000")
411-
assertUpperBound(releaseBranch, "new_tv,9001000")
412-
}
413-
414-
def "branch from pr targeting main"() {
415-
given:
416-
referencedTransportVersion("new_tv")
417-
418-
when:
419-
def result = runGenerateAndValidateWithLabels("v9.2.0").build()
386+
def result = runGenerateAndValidateTask().build()
420387

421388
then:
422389
assertGenerateAndValidateSuccess(result)
423390
assertReferableDefinition("new_tv", "8124000")
424391
assertUpperBound("9.2", "new_tv,8124000")
425392
}
426393

427-
def "branch from pr for backport"() {
394+
def "deleted upper bounds files are restored"() {
428395
given:
429-
referencedTransportVersion("new_tv")
396+
file("myserver/src/main/resources/transport/upper_bounds/9.2.csv").delete()
430397

431398
when:
432-
def result = runGenerateAndValidateWithLabels("v9.2.0", "v9.1.2").build()
433-
434-
then:
435-
assertGenerateAndValidateSuccess(result)
436-
assertReferableDefinition("new_tv", "8124000,8012002")
437-
assertUpperBound("9.2", "new_tv,8124000")
438-
assertUpperBound("9.1", "new_tv,8012002")
439-
}
440-
441-
def "branch from pr with other labels"() {
442-
given:
443-
referencedTransportVersion("new_tv")
444-
445-
when:
446-
def result = runGenerateAndValidateWithLabels(">test", "v9.2.0", ":Core/Infra/Core").build()
399+
def result = runGenerateAndValidateTask().build()
447400

448401
then:
449402
assertGenerateAndValidateSuccess(result)
450-
assertReferableDefinition("new_tv", "8124000")
451-
assertUpperBound("9.2", "new_tv,8124000")
403+
assertUpperBound("9.2", "existing_92,8123000")
452404
}
453405

454-
def "branch from pr default to main"() {
455-
given:
456-
referencedTransportVersion("new_tv")
457-
406+
def "upper bounds files must exist for backport branches"() {
458407
when:
459-
def result = runGenerateAndValidateWithLabels(">test", ":Core/Infra/Core").build()
408+
def result = runGenerateTask("--backport-branches=9.1,8.13,7.17,6.0").buildAndFail()
460409

461410
then:
462-
assertGenerateAndValidateSuccess(result)
463-
assertReferableDefinition("new_tv", "8124000")
464-
assertUpperBound("9.2", "new_tv,8124000")
411+
assertGenerateFailure(result, "Missing upper bounds files for branches [6.0, 7.17, 8.13], known branches are [9.0, 9.1, 9.2]")
465412
}
466413
}

0 commit comments

Comments
 (0)