From 7fb6a3247158a4610f21af41d848c0a984100653 Mon Sep 17 00:00:00 2001 From: tbarker9comcast Date: Tue, 8 Jul 2014 15:59:40 -0400 Subject: [PATCH 1/3] add scripted plugin for sbt plugin testing --- build.sbt | 7 +++++++ project/plugins.sbt | 2 ++ 2 files changed, 9 insertions(+) diff --git a/build.sbt b/build.sbt index 0d98529b..ef1e9145 100644 --- a/build.sbt +++ b/build.sbt @@ -24,3 +24,10 @@ publishMavenStyle := false publishArtifact in Test := false licenses +=("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0.html")) + + +ScriptedPlugin.scriptedSettings + +scriptedLaunchOpts := { scriptedLaunchOpts.value ++ + Seq("-Xmx1024M", "-XX:MaxPermSize=256M", "-Dplugin.version=" + version.value) +} diff --git a/project/plugins.sbt b/project/plugins.sbt index 2d62cd8d..7d1f93fd 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1,3 @@ resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/" + +libraryDependencies <+= sbtVersion(v => "org.scala-sbt" % "scripted-plugin" % v) From 7f785de1ca0fc1c1a42a3d48c6c122467241cc95 Mon Sep 17 00:00:00 2001 From: tbarker9comcast Date: Tue, 8 Jul 2014 16:01:14 -0400 Subject: [PATCH 2/3] add good coverage tests --- src/sbt-test/scoverage/good-coverage/build.sbt | 11 +++++++++++ .../scoverage/good-coverage/project/plugins.sbt | 15 +++++++++++++++ .../src/main/scala/GoodCoverage.scala | 6 ++++++ .../src/test/scala/GoodCoverageSpec.scala | 13 +++++++++++++ src/sbt-test/scoverage/good-coverage/test | 3 +++ 5 files changed, 48 insertions(+) create mode 100644 src/sbt-test/scoverage/good-coverage/build.sbt create mode 100644 src/sbt-test/scoverage/good-coverage/project/plugins.sbt create mode 100644 src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala create mode 100644 src/sbt-test/scoverage/good-coverage/test diff --git a/src/sbt-test/scoverage/good-coverage/build.sbt b/src/sbt-test/scoverage/good-coverage/build.sbt new file mode 100644 index 00000000..5d95def4 --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/build.sbt @@ -0,0 +1,11 @@ +version := "0.1" + +scalaVersion := "2.10.4" + +libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test" + +instrumentSettings + +ScoverageKeys.minimumCoverage := 80 + +ScoverageKeys.failOnMinimumCoverage := true \ No newline at end of file diff --git a/src/sbt-test/scoverage/good-coverage/project/plugins.sbt b/src/sbt-test/scoverage/good-coverage/project/plugins.sbt new file mode 100644 index 00000000..0b154c5c --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/project/plugins.sbt @@ -0,0 +1,15 @@ +// The Typesafe repository +resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" + +//scoverage needs this +resolvers += Classpaths.sbtPluginReleases + +{ + val pluginVersion = System.getProperty("plugin.version") + if(pluginVersion == null) + throw new RuntimeException("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) + else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion) +} + + diff --git a/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala new file mode 100644 index 00000000..f4f3ecae --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala @@ -0,0 +1,6 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + num1 + num2 + } +} \ No newline at end of file diff --git a/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 00000000..cbf6a70d --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,13 @@ +import org.specs2.mutable._ + +/** + * Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends Specification { + + "GoodCoverage" should { + "sum two numbers" in { + GoodCoverage.sum(1, 2) mustEqual 3 + } + } +} diff --git a/src/sbt-test/scoverage/good-coverage/test b/src/sbt-test/scoverage/good-coverage/test new file mode 100644 index 00000000..c3f6605c --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/test @@ -0,0 +1,3 @@ +# run scoverage +> clean +> scoverage:test \ No newline at end of file From 8171943e620bc41fac988555d8a552d9423f9ae9 Mon Sep 17 00:00:00 2001 From: tbarker9comcast Date: Tue, 8 Jul 2014 16:08:34 -0400 Subject: [PATCH 3/3] add bad coverage tests --- src/sbt-test/scoverage/bad-coverage/build.sbt | 11 +++++++++++ .../scoverage/bad-coverage/project/plugins.sbt | 15 +++++++++++++++ .../bad-coverage/src/main/scala/BadCoverage.scala | 10 ++++++++++ .../src/test/scala/BadCoverageSpec.scala | 13 +++++++++++++ src/sbt-test/scoverage/bad-coverage/test | 3 +++ 5 files changed, 52 insertions(+) create mode 100644 src/sbt-test/scoverage/bad-coverage/build.sbt create mode 100644 src/sbt-test/scoverage/bad-coverage/project/plugins.sbt create mode 100644 src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala create mode 100644 src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala create mode 100644 src/sbt-test/scoverage/bad-coverage/test diff --git a/src/sbt-test/scoverage/bad-coverage/build.sbt b/src/sbt-test/scoverage/bad-coverage/build.sbt new file mode 100644 index 00000000..5d95def4 --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/build.sbt @@ -0,0 +1,11 @@ +version := "0.1" + +scalaVersion := "2.10.4" + +libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test" + +instrumentSettings + +ScoverageKeys.minimumCoverage := 80 + +ScoverageKeys.failOnMinimumCoverage := true \ No newline at end of file diff --git a/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt new file mode 100644 index 00000000..0b154c5c --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt @@ -0,0 +1,15 @@ +// The Typesafe repository +resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" + +//scoverage needs this +resolvers += Classpaths.sbtPluginReleases + +{ + val pluginVersion = System.getProperty("plugin.version") + if(pluginVersion == null) + throw new RuntimeException("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) + else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion) +} + + diff --git a/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala b/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala new file mode 100644 index 00000000..9735241d --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala @@ -0,0 +1,10 @@ +object BadCoverage { + + def sum(num1: Int, num2: Int) = { + num1 + num2 + } + + def mult(num1: Int, num2: Int) = { + num1 * num2 + } +} \ No newline at end of file diff --git a/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala b/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala new file mode 100644 index 00000000..16ce924b --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala @@ -0,0 +1,13 @@ +import org.specs2.mutable._ + +/** + * Created by tbarke001c on 7/8/14. + */ +class BadCoverageSpec extends Specification { + + "BadCoverage" should { + "sum two numbers" in { + BadCoverage.sum(1, 2) mustEqual 3 + } + } +} diff --git a/src/sbt-test/scoverage/bad-coverage/test b/src/sbt-test/scoverage/bad-coverage/test new file mode 100644 index 00000000..05bac512 --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/test @@ -0,0 +1,3 @@ +# run scoverage +> clean +-> scoverage:test \ No newline at end of file