=pro #13928 Run multi-jvm tests in samples in normal test target

* fix scalariform formatting in MutiNode
This commit is contained in:
Patrik Nordwall 2014-08-29 14:25:30 +02:00
parent 07df1efa5e
commit e8bb4f1d5b
6 changed files with 23 additions and 27 deletions

View file

@ -1,12 +1,11 @@
package akka.persistence.journal.leveldb package akka.persistence.journal.leveldb
import akka.persistence.journal.JournalSpec import akka.persistence.journal.JournalSpec
import akka.persistence.{PersistenceSpec, PluginCleanup} import akka.persistence.{ PersistenceSpec, PluginCleanup }
class LeveldbJournalJavaSpec extends JournalSpec with PluginCleanup { class LeveldbJournalJavaSpec extends JournalSpec with PluginCleanup {
lazy val config = PersistenceSpec.config( lazy val config = PersistenceSpec.config(
"leveldb", "leveldb",
"LeveldbJournalJavaSpec", "LeveldbJournalJavaSpec",
extraConfig = Some("akka.persistence.journal.leveldb.native = off") extraConfig = Some("akka.persistence.journal.leveldb.native = off"))
)
} }

View file

@ -3,8 +3,8 @@
*/ */
package akka.persistence.journal.leveldb package akka.persistence.journal.leveldb
import akka.persistence.journal.{JournalPerfSpec, JournalSpec} import akka.persistence.journal.{ JournalPerfSpec, JournalSpec }
import akka.persistence.{PersistenceSpec, PluginCleanup} import akka.persistence.{ PersistenceSpec, PluginCleanup }
import org.scalatest.DoNotDiscover import org.scalatest.DoNotDiscover
@DoNotDiscover // because only checking that compilation is OK with JournalPerfSpec @DoNotDiscover // because only checking that compilation is OK with JournalPerfSpec
@ -12,6 +12,5 @@ class LeveldbJournalNativePerfSpec extends JournalSpec with JournalPerfSpec with
lazy val config = PersistenceSpec.config( lazy val config = PersistenceSpec.config(
"leveldb", "leveldb",
"LeveldbJournalNativePerfSpec", "LeveldbJournalNativePerfSpec",
extraConfig = Some("akka.persistence.journal.leveldb.native = on") extraConfig = Some("akka.persistence.journal.leveldb.native = on"))
)
} }

View file

@ -1,13 +1,12 @@
package akka.persistence.journal.leveldb package akka.persistence.journal.leveldb
import akka.persistence.journal.JournalSpec import akka.persistence.journal.JournalSpec
import akka.persistence.{PersistenceSpec, PluginCleanup} import akka.persistence.{ PersistenceSpec, PluginCleanup }
class LeveldbJournalNativeSpec extends JournalSpec with PluginCleanup { class LeveldbJournalNativeSpec extends JournalSpec with PluginCleanup {
lazy val config = PersistenceSpec.config( lazy val config = PersistenceSpec.config(
"leveldb", "leveldb",
"LeveldbJournalNativeSpec", "LeveldbJournalNativeSpec",
extraConfig = Some("akka.persistence.journal.leveldb.native = on") extraConfig = Some("akka.persistence.journal.leveldb.native = on"))
)
} }

View file

@ -255,7 +255,7 @@ object AkkaBuild extends Build {
id = "akka-sample-cluster-java", id = "akka-sample-cluster-java",
base = file("akka-samples/akka-sample-cluster-java"), base = file("akka-samples/akka-sample-cluster-java"),
dependencies = Seq(cluster, contrib, remoteTests % "test", testkit % "test"), dependencies = Seq(cluster, contrib, remoteTests % "test", testkit % "test"),
settings = multiJvmSettings ++ sampleSettings ++ Seq( settings = sampleSettings ++ Seq(
libraryDependencies ++= Dependencies.clusterSample, libraryDependencies ++= Dependencies.clusterSample,
javaOptions in run ++= Seq( javaOptions in run ++= Seq(
"-Djava.library.path=./sigar", "-Djava.library.path=./sigar",
@ -266,14 +266,14 @@ object AkkaBuild extends Build {
extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src => extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src =>
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq (name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
} }
) ) ++ multiJvmSettings
) configs (MultiJvm) ) configs (MultiJvm)
lazy val clusterSampleScala = Project( lazy val clusterSampleScala = Project(
id = "akka-sample-cluster-scala", id = "akka-sample-cluster-scala",
base = file("akka-samples/akka-sample-cluster-scala"), base = file("akka-samples/akka-sample-cluster-scala"),
dependencies = Seq(cluster, contrib, remoteTests % "test", testkit % "test"), dependencies = Seq(cluster, contrib, remoteTests % "test", testkit % "test"),
settings = multiJvmSettings ++ sampleSettings ++ Seq( settings = sampleSettings ++ Seq(
libraryDependencies ++= Dependencies.clusterSample, libraryDependencies ++= Dependencies.clusterSample,
javaOptions in run ++= Seq( javaOptions in run ++= Seq(
"-Djava.library.path=./sigar", "-Djava.library.path=./sigar",
@ -284,21 +284,21 @@ object AkkaBuild extends Build {
extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src => extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src =>
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq (name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
} }
) ) ++ multiJvmSettings
) configs (MultiJvm) ) configs (MultiJvm)
lazy val multiNodeSampleScala = Project( lazy val multiNodeSampleScala = Project(
id = "akka-sample-multi-node-scala", id = "akka-sample-multi-node-scala",
base = file("akka-samples/akka-sample-multi-node-scala"), base = file("akka-samples/akka-sample-multi-node-scala"),
dependencies = Seq(multiNodeTestkit % "test", testkit % "test"), dependencies = Seq(multiNodeTestkit % "test", testkit % "test"),
settings = multiJvmSettings ++ sampleSettings ++ experimentalSettings ++ Seq( settings = sampleSettings ++ experimentalSettings ++ Seq(
libraryDependencies ++= Dependencies.multiNodeSample, libraryDependencies ++= Dependencies.multiNodeSample,
// disable parallel tests // disable parallel tests
parallelExecution in Test := false, parallelExecution in Test := false,
extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src => extraOptions in MultiJvm <<= (sourceDirectory in MultiJvm) { src =>
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq (name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
} }
) ) ++ multiJvmSettings
) configs (MultiJvm) ) configs (MultiJvm)
lazy val osgiDiningHakkersSample = Project(id = "akka-sample-osgi-dining-hakkers", lazy val osgiDiningHakkersSample = Project(id = "akka-sample-osgi-dining-hakkers",
@ -385,7 +385,7 @@ object AkkaBuild extends Build {
) )
lazy val sampleSettings = defaultSettings ++ docFormatSettings ++ Seq( lazy val sampleSettings = defaultSettings ++ docFormatSettings ++ Seq(
publishArtifact in (Compile, packageBin) := false, publishArtifact := false,
reportBinaryIssues := () // disable bin comp check reportBinaryIssues := () // disable bin comp check
) )

View file

@ -8,7 +8,8 @@ import com.typesafe.sbt.SbtScalariform.ScalariformKeys
object Formatting { object Formatting {
lazy val formatSettings = SbtScalariform.scalariformSettings ++ Seq( lazy val formatSettings = SbtScalariform.scalariformSettings ++ Seq(
ScalariformKeys.preferences in Compile := formattingPreferences, ScalariformKeys.preferences in Compile := formattingPreferences,
ScalariformKeys.preferences in Test := formattingPreferences ScalariformKeys.preferences in Test := formattingPreferences,
ScalariformKeys.preferences in MultiJvm := formattingPreferences
) )
lazy val docFormatSettings = SbtScalariform.scalariformSettings ++ Seq( lazy val docFormatSettings = SbtScalariform.scalariformSettings ++ Seq(

View file

@ -9,7 +9,6 @@ import sbt.Keys._
import com.typesafe.sbt.SbtScalariform.ScalariformKeys import com.typesafe.sbt.SbtScalariform.ScalariformKeys
object MultiNode { object MultiNode {
def executeMultiJvmTests = Filter.containsOrNotExcludesTag("long-running")
val multiNodeEnabled = sys.props.get("akka.test.multi-node").getOrElse("false").toBoolean val multiNodeEnabled = sys.props.get("akka.test.multi-node").getOrElse("false").toBoolean
@ -41,13 +40,13 @@ object MultiNode {
lazy val multiJvmSettings = SbtMultiJvm.multiJvmSettings ++ inConfig(MultiJvm)(SbtScalariform.configScalariformSettings) ++ Seq( lazy val multiJvmSettings = SbtMultiJvm.multiJvmSettings ++ inConfig(MultiJvm)(SbtScalariform.configScalariformSettings) ++ Seq(
jvmOptions in MultiJvm := defaultMultiJvmOptions, jvmOptions in MultiJvm := defaultMultiJvmOptions,
compileInputs in(MultiJvm, compile) <<= (compileInputs in(MultiJvm, compile)) dependsOn (ScalariformKeys.format in MultiJvm), compileInputs in(MultiJvm, compile) <<= (compileInputs in(MultiJvm, compile)) dependsOn (ScalariformKeys.format in MultiJvm),
compile in MultiJvm <<= (compile in MultiJvm) triggeredBy (compile in Test), compile in MultiJvm <<= (compile in MultiJvm) triggeredBy (compile in Test)) ++
ScalariformKeys.preferences in MultiJvm := Formatting.formattingPreferences) ++
Option(System.getProperty("akka.test.multi-node.hostsFileName")).map(x => Seq(multiNodeHostsFileName in MultiJvm := x)).getOrElse(Seq.empty) ++ Option(System.getProperty("akka.test.multi-node.hostsFileName")).map(x => Seq(multiNodeHostsFileName in MultiJvm := x)).getOrElse(Seq.empty) ++
Option(System.getProperty("akka.test.multi-node.java")).map(x => Seq(multiNodeJavaName in MultiJvm := x)).getOrElse(Seq.empty) ++ Option(System.getProperty("akka.test.multi-node.java")).map(x => Seq(multiNodeJavaName in MultiJvm := x)).getOrElse(Seq.empty) ++
Option(System.getProperty("akka.test.multi-node.targetDirName")).map(x => Seq(multiNodeTargetDirName in MultiJvm := x)).getOrElse(Seq.empty) ++ Option(System.getProperty("akka.test.multi-node.targetDirName")).map(x => Seq(multiNodeTargetDirName in MultiJvm := x)).getOrElse(Seq.empty) ++
((executeMultiJvmTests, multiNodeEnabled) match { // make sure that MultiJvm tests are executed by the default test target,
case (true, true) => // and combine the results from ordinary test and multi-jvm tests
(if (multiNodeEnabled) {
executeTests in Test <<= (executeTests in Test, multiNodeExecuteTests in MultiJvm) map { executeTests in Test <<= (executeTests in Test, multiNodeExecuteTests in MultiJvm) map {
case (testResults, multiNodeResults) => case (testResults, multiNodeResults) =>
val overall = val overall =
@ -59,7 +58,7 @@ object MultiNode {
testResults.events ++ multiNodeResults.events, testResults.events ++ multiNodeResults.events,
testResults.summaries ++ multiNodeResults.summaries) testResults.summaries ++ multiNodeResults.summaries)
} }
case (true, false) => } else {
executeTests in Test <<= (executeTests in Test, executeTests in MultiJvm) map { executeTests in Test <<= (executeTests in Test, executeTests in MultiJvm) map {
case (testResults, multiNodeResults) => case (testResults, multiNodeResults) =>
val overall = val overall =
@ -71,7 +70,6 @@ object MultiNode {
testResults.events ++ multiNodeResults.events, testResults.events ++ multiNodeResults.events,
testResults.summaries ++ multiNodeResults.summaries) testResults.summaries ++ multiNodeResults.summaries)
} }
case (false, _) => Seq.empty
}) })
} }