Skip to content

Commit 7e5059a

Browse files
rolandtritschckipp01
authored andcommitted
Refresh excluding packages and files.
1 parent 0accf82 commit 7e5059a

File tree

24 files changed

+230
-3
lines changed

24 files changed

+230
-3
lines changed

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ $ sbt coverageAggregate
6262
**NOTE**: You do not need to run `coverageReport` before `coverageAggregate`; it
6363
aggregates over the sub-projects' coverage data directly, not the report xml.
6464

65-
### Exclude classes and packages
65+
### Exclude classes and packages and files
6666

6767
You can exclude classes from being considered for coverage measurement by
6868
providing semicolon-separated list of regular expressions.
@@ -75,6 +75,15 @@ The regular expressions are matched against the fully qualified class name, and
7575
must match the entire string to take effect. Any matched classes will not be
7676
instrumented or included in the coverage report.
7777

78+
You can also exclude files and file paths.
79+
80+
```scala
81+
coverageExcludedFiles := ".*\\/two\\/GoodCoverage\.scala;.*\\/three\\/.*"
82+
```
83+
84+
Note: This only works for Scala2. Right now Scala3 does not support
85+
a way to exclude packages or files from being instrumented.
86+
7887
You can also mark sections of code with comments like:
7988

8089
```scala
@@ -118,7 +127,6 @@ Can also be set through the sbt set directive
118127
set coverageDataDir := file("/tmp")
119128
```
120129

121-
122130
## Trouble-shooting failing tests
123131

124132
scoverage does a lot of file writing behind the scenes in order to track which
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version := "0.1"
2+
3+
scalaVersion := "2.13.6"
4+
5+
libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test
6+
7+
coverageExcludedFiles := ".*\\/two\\/GoodCoverage\\.scala"
8+
9+
resolvers ++= {
10+
if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT")))
11+
Seq(Resolver.sonatypeRepo("snapshots"))
12+
else Seq.empty
13+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=1.6.2
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
val pluginVersion = sys.props.getOrElse(
2+
"plugin.version",
3+
throw new RuntimeException(
4+
"""|The system property 'plugin.version' is not defined.
5+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin
6+
)
7+
)
8+
9+
addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion)
10+
11+
resolvers ++= {
12+
if (pluginVersion.endsWith("-SNAPSHOT"))
13+
Seq(Resolver.sonatypeRepo("snapshots"))
14+
else
15+
Seq.empty
16+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object GoodCoverage {
2+
3+
def sum(num1: Int, num2: Int) = {
4+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
5+
}
6+
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package two
2+
3+
object GoodCoverage {
4+
5+
def sum(num1: Int, num2: Int) = {
6+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
7+
}
8+
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import munit.FunSuite
2+
3+
/** Created by tbarke001c on 7/8/14.
4+
*/
5+
class GoodCoverageSpec extends FunSuite {
6+
7+
test("GoodCoverage should sum two numbers") {
8+
assertEquals(GoodCoverage.sum(1, 2), 3)
9+
assertEquals(GoodCoverage.sum(0, 3), 3)
10+
assertEquals(GoodCoverage.sum(3, 0), 3)
11+
}
12+
13+
test("two.GoodCoverage should sum two numbers") {
14+
assertEquals(two.GoodCoverage.sum(1, 2), 3)
15+
assertEquals(two.GoodCoverage.sum(0, 3), 3)
16+
assertEquals(two.GoodCoverage.sum(3, 0), 3)
17+
}
18+
19+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# run scoverage using the coverage task
2+
> clean
3+
> coverage
4+
> test
5+
> coverageReport
6+
# There should be no directory for the excluded files
7+
-$ exists target/scala-2.13/scoverage-report/two
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version := "0.1"
2+
3+
scalaVersion := "2.13.6"
4+
5+
libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test
6+
7+
coverageExcludedPackages := "two.*"
8+
9+
resolvers ++= {
10+
if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT")))
11+
Seq(Resolver.sonatypeRepo("snapshots"))
12+
else Seq.empty
13+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=1.6.2
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
val pluginVersion = sys.props.getOrElse(
2+
"plugin.version",
3+
throw new RuntimeException(
4+
"""|The system property 'plugin.version' is not defined.
5+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin
6+
)
7+
)
8+
9+
addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion)
10+
11+
resolvers ++= {
12+
if (pluginVersion.endsWith("-SNAPSHOT"))
13+
Seq(Resolver.sonatypeRepo("snapshots"))
14+
else
15+
Seq.empty
16+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object GoodCoverage {
2+
3+
def sum(num1: Int, num2: Int) = {
4+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
5+
}
6+
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package two
2+
3+
object GoodCoverage {
4+
5+
def sum(num1: Int, num2: Int) = {
6+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
7+
}
8+
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import munit.FunSuite
2+
3+
/** Created by tbarke001c on 7/8/14.
4+
*/
5+
class GoodCoverageSpec extends FunSuite {
6+
7+
test("GoodCoverage should sum two numbers") {
8+
assertEquals(GoodCoverage.sum(1, 2), 3)
9+
assertEquals(GoodCoverage.sum(0, 3), 3)
10+
assertEquals(GoodCoverage.sum(3, 0), 3)
11+
}
12+
13+
test("two.GoodCoverage should sum two numbers") {
14+
assertEquals(two.GoodCoverage.sum(1, 2), 3)
15+
assertEquals(two.GoodCoverage.sum(0, 3), 3)
16+
assertEquals(two.GoodCoverage.sum(3, 0), 3)
17+
}
18+
19+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# run scoverage using the coverage task
2+
> clean
3+
> coverage
4+
> test
5+
> coverageReport
6+
# There should be no directory for the excluded package
7+
-$ exists target/scala-2.13/scoverage-report/two
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=1.6.2

src/sbt-test/scoverage/coverage-off/test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
> coverageOff
88
> test
99
# There should be no scoverage-data directory
10-
-$ exists target/scala-2.12/scoverage-data
10+
-$ exists target/scala-2.13/scoverage-data
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version := "0.1"
2+
3+
scalaVersion := "3.2.0-RC1"
4+
5+
libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test
6+
7+
coverageExcludedFiles := ".*\\/two\\/GoodCoverage\\.scala"
8+
9+
resolvers ++= {
10+
if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT")))
11+
Seq(Resolver.sonatypeRepo("snapshots"))
12+
else Seq.empty
13+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=1.6.2
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
val pluginVersion = sys.props.getOrElse(
2+
"plugin.version",
3+
throw new RuntimeException(
4+
"""|The system property 'plugin.version' is not defined.
5+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin
6+
)
7+
)
8+
9+
addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion)
10+
11+
resolvers ++= {
12+
if (pluginVersion.endsWith("-SNAPSHOT"))
13+
Seq(Resolver.sonatypeRepo("snapshots"))
14+
else
15+
Seq.empty
16+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object GoodCoverage {
2+
3+
def sum(num1: Int, num2: Int) = {
4+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
5+
}
6+
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package two
2+
3+
object GoodCoverage {
4+
5+
def sum(num1: Int, num2: Int) = {
6+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
7+
}
8+
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import munit.FunSuite
2+
3+
/** Created by tbarke001c on 7/8/14.
4+
*/
5+
class GoodCoverageSpec extends FunSuite {
6+
7+
test("GoodCoverage should sum two numbers") {
8+
assertEquals(GoodCoverage.sum(1, 2), 3)
9+
assertEquals(GoodCoverage.sum(0, 3), 3)
10+
assertEquals(GoodCoverage.sum(3, 0), 3)
11+
}
12+
13+
test("two.GoodCoverage should sum two numbers") {
14+
assertEquals(two.GoodCoverage.sum(1, 2), 3)
15+
assertEquals(two.GoodCoverage.sum(0, 3), 3)
16+
assertEquals(two.GoodCoverage.sum(3, 0), 3)
17+
}
18+
19+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# run scoverage using the coverage task
2+
> clean
3+
> coverage
4+
> test
5+
> coverageReport
6+
# There should be no directory for the excluded files
7+
#-$ exists target/scala-3.2.0-RC1/scoverage-report/two
8+
# But right now there is, because Scala3 does not support excluding files
9+
$ exists target/scala-3.2.0-RC1/scoverage-report/two

0 commit comments

Comments
 (0)