@@ -69,7 +69,7 @@ void listAllObservableEngines() {
69
69
.addArguments ("engines" , "--disable-banner" ).build () //
70
70
.run (false );
71
71
72
- assertEquals (0 , result .getExitCode (), String . join ( " \n " , result . getOutputLines ( "out" ) ));
72
+ assertEquals (0 , result .getExitCode (), () -> getExitCodeMessage ( result ));
73
73
74
74
var jupiterVersion = Helper .version ("junit-jupiter-engine" );
75
75
var suiteVersion = Helper .version ("junit-platform-suite-engine" );
@@ -89,6 +89,8 @@ void compile() throws Exception {
89
89
var result = Request .builder () //
90
90
.setTool (new Javac ()) //
91
91
.setProject ("standalone" ) //
92
+ .addArguments ("-Xlint:-options" )
93
+ .addArguments ("--release" , "8" )
92
94
.addArguments ("-proc:none" ) //
93
95
.addArguments ("-d" , workspace .resolve ("bin" )) //
94
96
.addArguments ("--class-path" , MavenRepo .jar ("junit-platform-console-standalone" )) //
@@ -98,7 +100,7 @@ void compile() throws Exception {
98
100
.addArguments (workspace .resolve ("src/standalone/VintageIntegration.java" )).build () //
99
101
.run ();
100
102
101
- assertEquals (0 , result .getExitCode (), result . getOutput ( "out" ) + result . getOutput ( "err" ));
103
+ assertEquals (0 , result .getExitCode (), () -> getExitCodeMessage ( result ));
102
104
assertTrue (result .getOutput ("out" ).isEmpty ());
103
105
assertTrue (result .getOutput ("err" ).isEmpty ());
104
106
@@ -327,7 +329,7 @@ private static Result discover(String... args) {
327
329
.build () //
328
330
.run (false );
329
331
330
- assertEquals (0 , result .getExitCode (), String . join ( " \n " , result . getOutputLines ( "out" ) ));
332
+ assertEquals (0 , result .getExitCode (), () -> getExitCodeMessage ( result ));
331
333
return result ;
332
334
}
333
335
@@ -349,13 +351,13 @@ void execute() throws IOException {
349
351
.addArguments ("--classpath" , "bin" ).build () //
350
352
.run (false );
351
353
352
- assertEquals (1 , result .getExitCode (), String . join ( " \n " , result . getOutputLines ( "out" ) ));
354
+ assertEquals (1 , result .getExitCode (), () -> getExitCodeMessage ( result ));
353
355
354
356
var workspace = Request .WORKSPACE .resolve ("standalone" );
355
357
var expectedOutLines = Files .readAllLines (workspace .resolve ("expected-out.txt" ));
356
358
var expectedErrLines = Files .readAllLines (workspace .resolve ("expected-err.txt" ));
357
- assertLinesMatch (expectedOutLines , result .getOutputLines ("out" ), result . getOutput ( "out" ) );
358
- assertLinesMatch (expectedErrLines , result .getOutputLines ("err" ), result . getOutput ( "err" ) );
359
+ assertLinesMatch (expectedOutLines , result .getOutputLines ("out" ));
360
+ assertLinesMatch (expectedErrLines , result .getOutputLines ("err" ));
359
361
360
362
var jupiterVersion = Helper .version ("junit-jupiter-engine" );
361
363
var vintageVersion = Helper .version ("junit-vintage-engine" );
@@ -368,11 +370,12 @@ void execute() throws IOException {
368
370
@ Test
369
371
@ Order (4 )
370
372
void executeOnJava8 () throws IOException {
373
+ Java java8 = getJava8 ();
371
374
var result = Request .builder () //
372
- .setTool (new Java () ) //
373
- .setJavaHome (Helper . getJavaHome ( "8" ). orElseThrow ( TestAbortedException :: new )) //
375
+ .setTool (java8 ) //
376
+ .setJavaHome (java8 . getHome ( )) //
374
377
.setProject ("standalone" ) //
375
- .addArguments ("--show-version " ) //
378
+ .addArguments ("-showversion " ) //
376
379
.addArguments ("-enableassertions" ) //
377
380
.addArguments ("-Djava.util.logging.config.file=logging.properties" ) //
378
381
.addArguments ("-Djunit.platform.launcher.interceptors.enabled=true" ) //
@@ -384,11 +387,11 @@ void executeOnJava8() throws IOException {
384
387
.addArguments ("--classpath" , "bin" ).build () //
385
388
.run (false );
386
389
387
- assertEquals (1 , result .getExitCode (), String . join ( " \n " , result . getOutputLines ( "out" ) ));
390
+ assertEquals (1 , result .getExitCode (), () -> getExitCodeMessage ( result ));
388
391
389
392
var workspace = Request .WORKSPACE .resolve ("standalone" );
390
- var expectedOutLines = Files .readAllLines (workspace .resolve ("expected-out.txt" ));
391
- var expectedErrLines = Files .readAllLines (workspace .resolve ("expected-err.txt" ));
393
+ var expectedOutLines = Files .readAllLines (workspace .resolve ("expected-out-java8 .txt" ));
394
+ var expectedErrLines = Files .readAllLines (workspace .resolve ("expected-err-java8 .txt" ));
392
395
assertLinesMatch (expectedOutLines , result .getOutputLines ("out" ));
393
396
assertLinesMatch (expectedErrLines , result .getOutputLines ("err" ));
394
397
@@ -404,11 +407,12 @@ void executeOnJava8() throws IOException {
404
407
@ Order (5 )
405
408
// https://github.com/junit-team/junit5/issues/2600
406
409
void executeOnJava8SelectPackage () throws IOException {
410
+ Java java8 = getJava8 ();
407
411
var result = Request .builder () //
408
- .setTool (new Java () ) //
409
- .setJavaHome (Helper . getJavaHome ( "8" ). orElseThrow ( TestAbortedException :: new )) //
412
+ .setTool (java8 ) //
413
+ .setJavaHome (java8 . getHome ( )) //
410
414
.setProject ("standalone" ) //
411
- .addArguments ("--show-version " ) //
415
+ .addArguments ("-showversion " ) //
412
416
.addArguments ("-enableassertions" ) //
413
417
.addArguments ("-Djava.util.logging.config.file=logging.properties" ) //
414
418
.addArguments ("-Djunit.platform.launcher.interceptors.enabled=true" ) //
@@ -420,11 +424,11 @@ void executeOnJava8SelectPackage() throws IOException {
420
424
.addArguments ("--classpath" , "bin" ).build () //
421
425
.run (false );
422
426
423
- assertEquals (1 , result .getExitCode (), String . join ( " \n " , result . getOutputLines ( "out" ) ));
427
+ assertEquals (1 , result .getExitCode (), () -> getExitCodeMessage ( result ));
424
428
425
429
var workspace = Request .WORKSPACE .resolve ("standalone" );
426
- var expectedOutLines = Files .readAllLines (workspace .resolve ("expected-out.txt" ));
427
- var expectedErrLines = Files .readAllLines (workspace .resolve ("expected-err.txt" ));
430
+ var expectedOutLines = Files .readAllLines (workspace .resolve ("expected-out-java8 .txt" ));
431
+ var expectedErrLines = Files .readAllLines (workspace .resolve ("expected-err-java8 .txt" ));
428
432
assertLinesMatch (expectedOutLines , result .getOutputLines ("out" ));
429
433
assertLinesMatch (expectedErrLines , result .getOutputLines ("err" ));
430
434
@@ -461,6 +465,29 @@ void executeWithJarredTestClasses() {
461
465
.build () //
462
466
.run (false );
463
467
464
- assertEquals (1 , result .getExitCode (), String .join ("\n " , result .getOutputLines ("out" )));
468
+ assertEquals (1 , result .getExitCode (), () -> getExitCodeMessage (result ));
469
+ }
470
+
471
+ private static String getExitCodeMessage (Result result ) {
472
+ return "Exit codes don't match. Stdout:\n " +
473
+ result .getOutput ("out" ) + "\n \n Stderr:\n " + result .getOutput ("err" ) + "\n " ;
474
+ }
475
+
476
+ /**
477
+ * Speicial override of class {@link Java} to resolve against a different {@code JAVA_HOME}.
478
+ */
479
+ private static Java getJava8 () {
480
+ Path java8Home = Helper .getJavaHome ("8" ).orElseThrow (TestAbortedException ::new );
481
+ return new Java () {
482
+ @ Override
483
+ public Path getHome () {
484
+ return java8Home ;
485
+ }
486
+
487
+ @ Override
488
+ public String getVersion () {
489
+ return "8" ;
490
+ }
491
+ };
465
492
}
466
493
}
0 commit comments