Add general mechanism for excluding tests
This commit is contained in:
parent
511263c838
commit
804812b635
2 changed files with 15 additions and 24 deletions
|
|
@ -2,7 +2,6 @@ package akka.actor
|
||||||
|
|
||||||
import akka.testkit.TestKit
|
import akka.testkit.TestKit
|
||||||
import akka.util.duration._
|
import akka.util.duration._
|
||||||
import akka.Testing
|
|
||||||
|
|
||||||
import org.scalatest.WordSpec
|
import org.scalatest.WordSpec
|
||||||
import org.scalatest.matchers.MustMatchers
|
import org.scalatest.matchers.MustMatchers
|
||||||
|
|
@ -17,7 +16,7 @@ class FSMTimingSpec
|
||||||
|
|
||||||
val fsm = Actor.actorOf(new StateMachine(testActor)).start
|
val fsm = Actor.actorOf(new StateMachine(testActor)).start
|
||||||
fsm ! SubscribeTransitionCallBack(testActor)
|
fsm ! SubscribeTransitionCallBack(testActor)
|
||||||
expectMsg(Testing.time(200).millis, CurrentState(fsm, Initial))
|
expectMsg(200 millis, CurrentState(fsm, Initial))
|
||||||
|
|
||||||
ignoreMsg {
|
ignoreMsg {
|
||||||
case Transition(_, Initial, _) => true
|
case Transition(_, Initial, _) => true
|
||||||
|
|
@ -26,7 +25,7 @@ class FSMTimingSpec
|
||||||
"A Finite State Machine" must {
|
"A Finite State Machine" must {
|
||||||
|
|
||||||
"receive StateTimeout" in {
|
"receive StateTimeout" in {
|
||||||
within (Testing.time(50).millis, Testing.time(150).millis) {
|
within (50 millis, 150 millis) {
|
||||||
fsm ! TestStateTimeout
|
fsm ! TestStateTimeout
|
||||||
expectMsg(Transition(fsm, TestStateTimeout, Initial))
|
expectMsg(Transition(fsm, TestStateTimeout, Initial))
|
||||||
expectNoMsg
|
expectNoMsg
|
||||||
|
|
@ -34,7 +33,7 @@ class FSMTimingSpec
|
||||||
}
|
}
|
||||||
|
|
||||||
"receive single-shot timer" in {
|
"receive single-shot timer" in {
|
||||||
within (Testing.time(50).millis, Testing.time(150).millis) {
|
within (50 millis, 150 millis) {
|
||||||
fsm ! TestSingleTimer
|
fsm ! TestSingleTimer
|
||||||
expectMsg(Tick)
|
expectMsg(Tick)
|
||||||
expectMsg(Transition(fsm, TestSingleTimer, Initial))
|
expectMsg(Transition(fsm, TestSingleTimer, Initial))
|
||||||
|
|
@ -48,7 +47,7 @@ class FSMTimingSpec
|
||||||
case Tick => Tick
|
case Tick => Tick
|
||||||
}
|
}
|
||||||
seq must have length (5)
|
seq must have length (5)
|
||||||
within(Testing.time(250) millis) {
|
within(250 millis) {
|
||||||
expectMsg(Transition(fsm, TestRepeatedTimer, Initial))
|
expectMsg(Transition(fsm, TestRepeatedTimer, Initial))
|
||||||
expectNoMsg
|
expectNoMsg
|
||||||
}
|
}
|
||||||
|
|
@ -56,21 +55,21 @@ class FSMTimingSpec
|
||||||
|
|
||||||
"notify unhandled messages" in {
|
"notify unhandled messages" in {
|
||||||
fsm ! TestUnhandled
|
fsm ! TestUnhandled
|
||||||
within(Testing.time(100) millis) {
|
within(100 millis) {
|
||||||
fsm ! Tick
|
fsm ! Tick
|
||||||
expectNoMsg
|
expectNoMsg
|
||||||
}
|
}
|
||||||
within(Testing.time(100) millis) {
|
within(100 millis) {
|
||||||
fsm ! SetHandler
|
fsm ! SetHandler
|
||||||
fsm ! Tick
|
fsm ! Tick
|
||||||
expectMsg(Unhandled(Tick))
|
expectMsg(Unhandled(Tick))
|
||||||
expectNoMsg
|
expectNoMsg
|
||||||
}
|
}
|
||||||
within(Testing.time(100) millis) {
|
within(100 millis) {
|
||||||
fsm ! Unhandled("test")
|
fsm ! Unhandled("test")
|
||||||
expectNoMsg
|
expectNoMsg
|
||||||
}
|
}
|
||||||
within(Testing.time(100) millis) {
|
within(100 millis) {
|
||||||
fsm ! Cancel
|
fsm ! Cancel
|
||||||
expectMsg(Transition(fsm, TestUnhandled, Initial))
|
expectMsg(Transition(fsm, TestUnhandled, Initial))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -465,8 +465,6 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
def akkaArtifacts = descendents(info.projectPath / "dist", "*-" + version + ".jar")
|
def akkaArtifacts = descendents(info.projectPath / "dist", "*-" + version + ".jar")
|
||||||
lazy val integrationTestsEnabled = systemOptional[Boolean]("integration.tests",false)
|
|
||||||
lazy val stressTestsEnabled = systemOptional[Boolean]("stress.tests",false)
|
|
||||||
|
|
||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
class AkkaDefaultProject(info: ProjectInfo, val deployPath: Path) extends DefaultProject(info)
|
class AkkaDefaultProject(info: ProjectInfo, val deployPath: Path) extends DefaultProject(info)
|
||||||
|
|
@ -485,21 +483,15 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) {
|
||||||
override def packageToPublishActions = super.packageToPublishActions ++ Seq(this.packageDocs, this.packageSrc)
|
override def packageToPublishActions = super.packageToPublishActions ++ Seq(this.packageDocs, this.packageSrc)
|
||||||
override def pomPostProcess(node: scala.xml.Node): scala.xml.Node = mcPom(AkkaParentProject.this.moduleConfigurations)(super.pomPostProcess(node))
|
override def pomPostProcess(node: scala.xml.Node): scala.xml.Node = mcPom(AkkaParentProject.this.moduleConfigurations)(super.pomPostProcess(node))
|
||||||
|
|
||||||
/**
|
lazy val excludeTestsProperty = systemOptional[String]("akka.test.exclude", "")
|
||||||
* Used for testOptions, possibility to enable the running of integration and or stresstests
|
|
||||||
*
|
def excludeTests = {
|
||||||
* To enable set true and disable set false
|
val exclude = excludeTestsProperty.value
|
||||||
* set integration.tests true
|
if (exclude.isEmpty) Seq.empty else exclude.split(",").toSeq
|
||||||
* set stress.tests true
|
|
||||||
*/
|
|
||||||
def createTestFilter(defaultTests: (String) => Boolean) = { TestFilter({
|
|
||||||
case s: String if defaultTests(s) => true
|
|
||||||
case s: String if integrationTestsEnabled.value => s.endsWith("TestIntegration")
|
|
||||||
case s: String if stressTestsEnabled.value => s.endsWith("TestStress")
|
|
||||||
case _ => false
|
|
||||||
}) :: Nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def testOptions = super.testOptions ++ excludeTests.map(exclude => TestFilter(test => !test.contains(exclude)))
|
||||||
|
|
||||||
lazy val publishRelease = {
|
lazy val publishRelease = {
|
||||||
val releaseConfiguration = new DefaultPublishConfiguration(localReleaseRepository, "release", false)
|
val releaseConfiguration = new DefaultPublishConfiguration(localReleaseRepository, "release", false)
|
||||||
publishTask(publishIvyModule, releaseConfiguration) dependsOn (deliver, publishLocal, makePom)
|
publishTask(publishIvyModule, releaseConfiguration) dependsOn (deliver, publishLocal, makePom)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue