Skip to content

Commit e248926

Browse files
committed
Merge commit '4e08a800ded85e084266df0d5ef23fcce87efd90' into fix-tests
2 parents 0d70dcd + 4e08a80 commit e248926

File tree

13 files changed

+113
-110
lines changed

13 files changed

+113
-110
lines changed

build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ task crossScalaVersionFunctionalTest(type: Test) {
6969
group = 'verification'
7070
testClassesDirs = sourceSets.functionalTest.output.classesDirs
7171
classpath = sourceSets.functionalTest.runtimeClasspath
72-
include "**/ScalaMultiModuleCrossVersionTest.*"
72+
include '**/crossversion/*'
73+
forkEvery = 1 // crucial to run every test in its own JVM
7374

7475
testLogging.showStandardStreams = true
7576

@@ -81,9 +82,7 @@ task functionalTest(type: Test) {
8182
group = 'verification'
8283
testClassesDirs = sourceSets.functionalTest.output.classesDirs
8384
classpath = sourceSets.functionalTest.runtimeClasspath
84-
exclude "**/ScalaMultiModuleCrossVersionTest.*"
85-
86-
testLogging.showStandardStreams = true
85+
exclude '**/crossversion/*'
8786

8887
dependsOn crossScalaVersionFunctionalTest
8988
}

src/functionalTest/java/org.scoverage/ScalaMultiModuleCrossVersionTest.java

Lines changed: 0 additions & 98 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.scoverage.crossversion;
2+
3+
public class Scala211Test extends ScalaVersionTest {
4+
public Scala211Test() {
5+
super("2_11");
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.scoverage.crossversion;
2+
3+
public class Scala212Test extends ScalaVersionTest {
4+
public Scala212Test() {
5+
super("2_12");
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.scoverage.crossversion;
2+
3+
public class Scala213Test extends ScalaVersionTest {
4+
public Scala213Test() {
5+
super("2_13");
6+
}
7+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package org.scoverage.crossversion;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
import org.junit.jupiter.api.Tag;
6+
import org.junit.runner.RunWith;
7+
import org.junit.runners.Suite;
8+
import org.scoverage.ScoverageFunctionalTest;
9+
import org.scoverage.ScoveragePlugin;
10+
11+
import java.io.File;
12+
13+
public class ScalaCrossVersionAggregationTest extends ScoverageFunctionalTest {
14+
15+
public ScalaCrossVersionAggregationTest() {
16+
super("scala-multi-module-cross-version");
17+
}
18+
19+
@Test
20+
public void checkAndAggregateAll() throws Exception {
21+
22+
AssertableBuildResult result = run("clean", ScoveragePlugin.getCHECK_NAME(),
23+
ScoveragePlugin.getAGGREGATE_NAME());
24+
25+
result.assertTaskSkipped(ScoveragePlugin.getREPORT_NAME());
26+
result.assertTaskSucceeded("2_11:" + ScoveragePlugin.getREPORT_NAME());
27+
result.assertTaskSucceeded("2_12:" + ScoveragePlugin.getREPORT_NAME());
28+
result.assertTaskSucceeded("2_13:" + ScoveragePlugin.getREPORT_NAME());
29+
result.assertTaskSucceeded(ScoveragePlugin.getCHECK_NAME());
30+
result.assertTaskSucceeded("2_11:" + ScoveragePlugin.getCHECK_NAME());
31+
result.assertTaskSucceeded("2_12:" + ScoveragePlugin.getCHECK_NAME());
32+
result.assertTaskSucceeded("2_13:" + ScoveragePlugin.getCHECK_NAME());
33+
result.assertTaskSucceeded(ScoveragePlugin.getAGGREGATE_NAME());
34+
35+
assertAggregationFilesExist();
36+
assertCoverage(100.0);
37+
}
38+
39+
private void assertAggregationFilesExist() {
40+
41+
Assert.assertTrue(resolve(reportDir(), "index.html").exists());
42+
Assert.assertTrue(resolve(reportDir(), "2_11/src/main/scala/org/hello/World2_11.scala.html").exists());
43+
Assert.assertTrue(resolve(reportDir(), "2_12/src/main/scala/org/hello/World2_12.scala.html").exists());
44+
Assert.assertTrue(resolve(reportDir(), "2_13/src/main/scala/org/hello/World2_13.scala.html").exists());
45+
}
46+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package org.scoverage.crossversion;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
import org.junit.jupiter.api.Tag;
6+
import org.scoverage.ScoverageFunctionalTest;
7+
import org.scoverage.ScoveragePlugin;
8+
9+
import java.io.File;
10+
11+
/**
12+
* This abstract class is used to test each scala version in an individual class.
13+
* It is crucial that each test will be separated into its own class,
14+
* as this is the only way to run these tests in separate JVM processes (via `forkEvery` gradle configuration).
15+
*/
16+
public abstract class ScalaVersionTest extends ScoverageFunctionalTest {
17+
18+
private final String scalaVersion;
19+
20+
public ScalaVersionTest(String scalaVersion) {
21+
super("scala-multi-module-cross-version");
22+
this.scalaVersion = scalaVersion;
23+
}
24+
25+
@Test
26+
public void report() throws Exception {
27+
28+
AssertableBuildResult result = run("clean", ":" + scalaVersion + ":" + ScoveragePlugin.getREPORT_NAME());
29+
result.assertTaskSucceeded(scalaVersion + ":" + ScoveragePlugin.getREPORT_NAME());
30+
31+
File reportDir = reportDir(projectDir().toPath().resolve(scalaVersion).toFile());
32+
Assert.assertTrue(resolve(reportDir, "index.html").exists());
33+
Assert.assertTrue(resolve(reportDir, "src/main/scala/org/hello/World" + scalaVersion + ".scala.html").exists());
34+
}
35+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.hello
22

3-
class World211 {
3+
class World2_11 {
44

55
def foo(): String = {
66
val s = "2" + "11"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import org.scalatest.FunSuite
55
import org.scalatest.junit.JUnitRunner
66

77
@RunWith(classOf[JUnitRunner])
8-
class World212Suite extends FunSuite {
8+
class World2_11Suite extends FunSuite {
99

1010
test("foo") {
11-
new World213().foo()
11+
new World2_11().foo()
1212
}
1313
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.hello
22

3-
class World213 {
3+
class World2_12 {
44

55
def foo(): String = {
66
val s = "2" + "12"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import org.scalatest.FunSuite
55
import org.scalatest.junit.JUnitRunner
66

77
@RunWith(classOf[JUnitRunner])
8-
class World211Suite extends FunSuite {
8+
class World2_12Suite extends FunSuite {
99

1010
test("foo") {
11-
new World211().foo()
11+
new World2_12().foo()
1212
}
1313
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.hello
22

3-
class World212 {
3+
class World2_13 {
44

55
def foo(): String = {
66
val s = "2" + "12"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ import org.scalatest.junit.JUnitRunner
88
class World212Suite extends FunSuite {
99

1010
test("foo") {
11-
new World212().foo()
11+
new World2_13().foo()
1212
}
1313
}

0 commit comments

Comments
 (0)