@@ -315,21 +315,35 @@ public class SCMSourceRetrieverTest {
315
315
WorkflowMultiBranchProject mbp = r .jenkins .createProject (WorkflowMultiBranchProject .class , "mbp" );
316
316
BranchSource branchSource = new BranchSource (new GitSCMSource ("source-id" , sampleRepo2 .toString (), "" , "*" , "" , false ));
317
317
mbp .getSourcesList ().add (branchSource );
318
+ // Note: this notification causes discovery of branches,
319
+ // definition of MBP "leaf" jobs, and launch of builds,
320
+ // so below we just make sure they complete and analyze
321
+ // the outcomes.
318
322
sampleRepo2 .notifyCommit (r );
323
+ r .waitUntilNoActivity ();
319
324
320
325
WorkflowJob p1 = mbp .getItem ("master" );
321
- WorkflowRun b1 = r .buildAndAssertSuccess (p1 );
326
+ WorkflowRun b1 = p1 .getLastBuild ();
327
+ r .waitForCompletion (b1 );
328
+ assertFalse (p1 .isBuilding ());
329
+ r .assertBuildStatusSuccess (b1 );
322
330
r .assertLogContains ("Loading library branchylib@master" , b1 );
323
331
r .assertLogContains ("something special" , b1 );
324
332
325
333
WorkflowJob p2 = mbp .getItem ("feature" );
326
- WorkflowRun b2 = r .buildAndAssertSuccess (p2 );
334
+ WorkflowRun b2 = p2 .getLastBuild ();
335
+ r .waitForCompletion (b2 );
336
+ assertFalse (p2 .isBuilding ());
337
+ r .assertBuildStatusSuccess (b2 );
327
338
r .assertLogContains ("Loading library branchylib@feature" , b2 );
328
339
r .assertLogContains ("something very special" , b2 );
329
340
330
341
// library branch "bogus" does not exist => fall back to default (master)
331
342
WorkflowJob p3 = mbp .getItem ("bogus" );
332
- WorkflowRun b3 = r .buildAndAssertSuccess (p3 );
343
+ WorkflowRun b3 = p3 .getLastBuild ();
344
+ r .waitForCompletion (b3 );
345
+ assertFalse (p3 .isBuilding ());
346
+ r .assertBuildStatusSuccess (b3 );
333
347
r .assertLogContains ("Loading library branchylib@master" , b3 );
334
348
r .assertLogContains ("something special" , b3 );
335
349
@@ -376,20 +390,34 @@ public class SCMSourceRetrieverTest {
376
390
WorkflowMultiBranchProject mbp = r .jenkins .createProject (WorkflowMultiBranchProject .class , "mbp" );
377
391
BranchSource branchSource = new BranchSource (new GitSCMSource ("source-id" , sampleRepo2 .toString (), "" , "*" , "" , false ));
378
392
mbp .getSourcesList ().add (branchSource );
393
+ // Note: this notification causes discovery of branches,
394
+ // definition of MBP "leaf" jobs, and launch of builds,
395
+ // so below we just make sure they complete and analyze
396
+ // the outcomes.
379
397
sampleRepo2 .notifyCommit (r );
398
+ r .waitUntilNoActivity ();
380
399
381
400
WorkflowJob p1 = mbp .getItem ("master" );
382
- WorkflowRun b1 = r .buildAndAssertSuccess (p1 );
401
+ WorkflowRun b1 = p1 .getLastBuild ();
402
+ r .waitForCompletion (b1 );
403
+ assertFalse (p1 .isBuilding ());
404
+ r .assertBuildStatusSuccess (b1 );
383
405
r .assertLogContains ("Loading library branchylib@master" , b1 );
384
406
r .assertLogContains ("something special" , b1 );
385
407
386
408
WorkflowJob p2 = mbp .getItem ("feature" );
387
- WorkflowRun b2 = r .buildAndAssertSuccess (p2 );
409
+ WorkflowRun b2 = p2 .getLastBuild ();
410
+ r .waitForCompletion (b2 );
411
+ assertFalse (p2 .isBuilding ());
412
+ r .assertBuildStatusSuccess (b2 );
388
413
r .assertLogContains ("Loading library branchylib@feature" , b2 );
389
414
r .assertLogContains ("something very special" , b2 );
390
415
391
416
WorkflowJob p3 = mbp .getItem ("bogus" );
392
- WorkflowRun b3 = r .buildAndAssertStatus (Result .FAILURE , p3 );
417
+ WorkflowRun b3 = p3 .getLastBuild ();
418
+ r .waitForCompletion (b3 );
419
+ assertFalse (p3 .isBuilding ());
420
+ r .assertBuildStatus (Result .FAILURE , b3 );
393
421
r .assertLogContains ("ERROR: Could not resolve bogus" , b3 );
394
422
r .assertLogContains ("ambiguous argument 'bogus^{commit}': unknown revision or path not in the working tree" , b3 );
395
423
r .assertLogContains ("ERROR: No version bogus found for library branchylib" , b3 );
@@ -430,20 +458,34 @@ public class SCMSourceRetrieverTest {
430
458
WorkflowMultiBranchProject mbp = r .jenkins .createProject (WorkflowMultiBranchProject .class , "mbp" );
431
459
BranchSource branchSource = new BranchSource (new GitSCMSource ("source-id" , sampleRepo2 .toString (), "" , "*" , "" , false ));
432
460
mbp .getSourcesList ().add (branchSource );
461
+ // Note: this notification causes discovery of branches,
462
+ // definition of MBP "leaf" jobs, and launch of builds,
463
+ // so below we just make sure they complete and analyze
464
+ // the outcomes.
433
465
sampleRepo2 .notifyCommit (r );
466
+ r .waitUntilNoActivity ();
434
467
435
468
WorkflowJob p1 = mbp .getItem ("master" );
436
- WorkflowRun b1 = r .buildAndAssertStatus (Result .FAILURE , p1 );
469
+ WorkflowRun b1 = p1 .getLastBuild ();
470
+ r .waitForCompletion (b1 );
471
+ assertFalse (p1 .isBuilding ());
472
+ r .assertBuildStatus (Result .FAILURE , b1 );
437
473
r .assertLogContains ("ERROR: Version override not permitted for library branchylib" , b1 );
438
474
r .assertLogContains ("WorkflowScript: Loading libraries failed" , b1 );
439
475
440
476
WorkflowJob p2 = mbp .getItem ("feature" );
441
- WorkflowRun b2 = r .buildAndAssertStatus (Result .FAILURE , p2 );
477
+ WorkflowRun b2 = p2 .getLastBuild ();
478
+ r .waitForCompletion (b2 );
479
+ assertFalse (p2 .isBuilding ());
480
+ r .assertBuildStatus (Result .FAILURE , b2 );
442
481
r .assertLogContains ("ERROR: Version override not permitted for library branchylib" , b2 );
443
482
r .assertLogContains ("WorkflowScript: Loading libraries failed" , b2 );
444
483
445
484
WorkflowJob p3 = mbp .getItem ("bogus" );
446
- WorkflowRun b3 = r .buildAndAssertStatus (Result .FAILURE , p3 );
485
+ WorkflowRun b3 = p3 .getLastBuild ();
486
+ r .waitForCompletion (b3 );
487
+ assertFalse (p3 .isBuilding ());
488
+ r .assertBuildStatus (Result .FAILURE , b3 );
447
489
r .assertLogContains ("ERROR: Version override not permitted for library branchylib" , b3 );
448
490
r .assertLogContains ("WorkflowScript: Loading libraries failed" , b3 );
449
491
}
0 commit comments