diff --git a/akka-multi-node-testkit/src/main/mima-filters/2.5.22.backwards.excludes b/akka-multi-node-testkit/src/main/mima-filters/2.5.22.backwards.excludes new file mode 100644 index 0000000000..1209e72ec2 --- /dev/null +++ b/akka-multi-node-testkit/src/main/mima-filters/2.5.22.backwards.excludes @@ -0,0 +1,2 @@ +ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.testkit.PerfFlamesSupport.*") +ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.remote.testkit.PerfFlamesSupport.runPerfFlames") diff --git a/akka-testkit/src/main/scala/akka/testkit/TestActorRef.scala b/akka-testkit/src/main/scala/akka/testkit/TestActorRef.scala index acf6143f59..368ede795a 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestActorRef.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestActorRef.scala @@ -6,10 +6,13 @@ package akka.testkit import akka.actor._ import java.util.concurrent.atomic.AtomicLong + import akka.dispatch._ + import scala.concurrent.Await import scala.reflect.ClassTag import akka.pattern.ask +import com.github.ghik.silencer.silent /** * This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it @@ -18,6 +21,7 @@ import akka.pattern.ask * * @since 1.1 */ +@silent // 'early initializers' are deprecated on 2.13 and will be replaced with trait parameters on 2.14. https://github.com/akka/akka/issues/26753 class TestActorRef[T <: Actor](_system: ActorSystem, _props: Props, _supervisor: ActorRef, name: String) extends { val props = _props.withDispatcher( diff --git a/akka-testkit/src/main/scala/akka/testkit/TestEventListener.scala b/akka-testkit/src/main/scala/akka/testkit/TestEventListener.scala index 8b038aaf20..b8dfe038f8 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestEventListener.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestEventListener.scala @@ -540,6 +540,7 @@ final case class DeadLettersFilter(val messageClass: Class[_])(occurrences: Int) * } * */ +@ccompatUsedUntil213 class TestEventListener extends Logging.DefaultLogger { import TestEvent._ diff --git a/akka-testkit/src/main/scala/akka/testkit/TestKit.scala b/akka-testkit/src/main/scala/akka/testkit/TestKit.scala index c5afdbff68..e89ee0343c 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestKit.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestKit.scala @@ -15,12 +15,12 @@ import scala.concurrent.Await import scala.concurrent.duration._ import scala.reflect.ClassTag import scala.util.control.NonFatal - import akka.actor._ import akka.util.{ BoxedType, Timeout } import akka.actor.IllegalActorStateException import akka.actor.DeadLetter import akka.actor.Terminated +import com.github.ghik.silencer.silent object TestActor { type Ignore = Option[PartialFunction[Any, Boolean]] @@ -919,6 +919,7 @@ trait TestKitBase { * * @since 1.1 */ +@silent // 'early initializers' are deprecated on 2.13 and will be replaced with trait parameters on 2.14. https://github.com/akka/akka/issues/26753 class TestKit(_system: ActorSystem) extends { implicit val system = _system } with TestKitBase object TestKit { diff --git a/akka-testkit/src/main/scala/akka/testkit/package.scala b/akka-testkit/src/main/scala/akka/testkit/package.scala index 7e0b55b3a1..64e4ccb037 100644 --- a/akka-testkit/src/main/scala/akka/testkit/package.scala +++ b/akka-testkit/src/main/scala/akka/testkit/package.scala @@ -12,6 +12,7 @@ import scala.collection.immutable import java.util.concurrent.TimeUnit.MILLISECONDS package object testkit { + @ccompatUsedUntil213 def filterEvents[T](eventFilters: Iterable[EventFilter])(block: => T)(implicit system: ActorSystem): T = { def now = System.currentTimeMillis diff --git a/akka-testkit/src/test/scala/akka/testkit/AkkaSpecSpec.scala b/akka-testkit/src/test/scala/akka/testkit/AkkaSpecSpec.scala index 678f8f55ab..50c753a083 100644 --- a/akka-testkit/src/test/scala/akka/testkit/AkkaSpecSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/AkkaSpecSpec.scala @@ -5,16 +5,18 @@ package akka.testkit import language.postfixOps - import org.scalatest.WordSpec import org.scalatest.Matchers import akka.actor._ import com.typesafe.config.ConfigFactory + import scala.concurrent.Await import scala.concurrent.duration._ import akka.actor.DeadLetter import akka.pattern.ask +import com.github.ghik.silencer.silent +@silent class AkkaSpecSpec extends WordSpec with Matchers { "An AkkaSpec" must { diff --git a/akka-testkit/src/test/scala/akka/testkit/Coroner.scala b/akka-testkit/src/test/scala/akka/testkit/Coroner.scala index 5ddd2dd9c4..b4fa7d05e4 100644 --- a/akka-testkit/src/test/scala/akka/testkit/Coroner.scala +++ b/akka-testkit/src/test/scala/akka/testkit/Coroner.scala @@ -143,9 +143,8 @@ object Coroner { #Heap usage: ${memMx.getHeapMemoryUsage()} #Non-heap usage: ${memMx.getNonHeapMemoryUsage()}""".stripMargin('#')) - def dumpAllThreads: Seq[ThreadInfo] = { - threadMx.dumpAllThreads(threadMx.isObjectMonitorUsageSupported, threadMx.isSynchronizerUsageSupported) - } + def dumpAllThreads: Seq[ThreadInfo] = + threadMx.dumpAllThreads(threadMx.isObjectMonitorUsageSupported, threadMx.isSynchronizerUsageSupported).toSeq def findDeadlockedThreads: (Seq[ThreadInfo], String) = { val (ids, desc) = if (threadMx.isSynchronizerUsageSupported()) { @@ -157,7 +156,7 @@ object Coroner { (Seq.empty, desc) } else { val maxTraceDepth = 1000 // Seems deep enough - (threadMx.getThreadInfo(ids, maxTraceDepth), desc) + (threadMx.getThreadInfo(ids, maxTraceDepth).toSeq, desc) } } diff --git a/akka-testkit/src/test/scala/akka/testkit/JavaTestKitSpec.scala b/akka-testkit/src/test/scala/akka/testkit/JavaTestKitSpec.scala index 086b43e8c2..428fb61410 100644 --- a/akka-testkit/src/test/scala/akka/testkit/JavaTestKitSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/JavaTestKitSpec.scala @@ -5,10 +5,12 @@ package akka.testkit import language.postfixOps - import akka.actor._ +import com.github.ghik.silencer.silent + import scala.concurrent.duration._ +@silent class JavaTestKitSpec extends AkkaSpec with DefaultTimeout { "JavaTestKit" must { diff --git a/akka-testkit/src/test/scala/akka/testkit/TestFSMRefSpec.scala b/akka-testkit/src/test/scala/akka/testkit/TestFSMRefSpec.scala index e6ede5fa3f..cb8d797c18 100644 --- a/akka-testkit/src/test/scala/akka/testkit/TestFSMRefSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/TestFSMRefSpec.scala @@ -45,7 +45,7 @@ class TestFSMRefSpec extends AkkaSpec { val fsm = TestFSMRef(new Actor with FSM[Int, Null] { startWith(1, null) when(1) { - case x => stay + case _ => stay } }, "test-fsm-ref-2") fsm.isTimerActive("test") should ===(false) @@ -65,7 +65,7 @@ class TestFSMRefSpec extends AkkaSpec { class TestFSMActor extends Actor with FSM[Int, Null] { startWith(1, null) when(1) { - case x => stay + case _ => stay } val supervisor = context.parent val name = context.self.path.name diff --git a/akka-testkit/src/test/scala/akka/testkit/metrics/MemoryUsageSnapshotting.scala b/akka-testkit/src/test/scala/akka/testkit/metrics/MemoryUsageSnapshotting.scala index 1e545e7ee1..08bbd9ef1f 100644 --- a/akka-testkit/src/test/scala/akka/testkit/metrics/MemoryUsageSnapshotting.scala +++ b/akka-testkit/src/test/scala/akka/testkit/metrics/MemoryUsageSnapshotting.scala @@ -41,7 +41,7 @@ private[akka] trait MemoryUsageSnapshotting extends MetricsPrefix { metrics.get(key("non-heap-usage")).asInstanceOf[RatioGauge].getValue) } - private def key(k: String) = prefix + "." + k + private def key(k: String) = prefix.toString + "." + k } diff --git a/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKit.scala b/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKit.scala index 2f0d4e00b0..99a8a0ce0f 100644 --- a/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKit.scala +++ b/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKit.scala @@ -151,7 +151,7 @@ private[akka] trait MetricsKit extends MetricsKitOps { import collection.JavaConverters._ registry.getMetrics.asScala.find(_._1 == key).map(_._2) match { case Some(existing: M) => existing - case Some(existing) => + case Some(_) => throw new IllegalArgumentException( "Key: [%s] is already for different kind of metric! Was [%s], expected [%s]" .format(key, metric.getClass.getSimpleName, tag.runtimeClass.getSimpleName)) diff --git a/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKitSpec.scala b/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKitSpec.scala index e663895bef..22ddc19610 100644 --- a/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKitSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/metrics/MetricsKitSpec.scala @@ -53,7 +53,7 @@ class MetricsKitSpec extends WordSpec with Matchers with BeforeAndAfter with Bef val hist = hdrHistogram(KitKey / "hist", highestTrackableValue = maxMillis, 4, "ns") for { - n <- 1 to 11 + _ <- 1 to 11 i <- 0L to 1579331 } hist.update(i) diff --git a/akka-testkit/src/test/scala/akka/testkit/metrics/reporter/AkkaConsoleReporter.scala b/akka-testkit/src/test/scala/akka/testkit/metrics/reporter/AkkaConsoleReporter.scala index ef43099e9a..55c8d4c2c8 100644 --- a/akka-testkit/src/test/scala/akka/testkit/metrics/reporter/AkkaConsoleReporter.scala +++ b/akka-testkit/src/test/scala/akka/testkit/metrics/reporter/AkkaConsoleReporter.scala @@ -9,7 +9,6 @@ import java.util import java.util.concurrent.TimeUnit import com.codahale.metrics._ import akka.testkit.metrics._ -import scala.reflect.ClassTag /** * Used to report `akka.testkit.metric.Metric` types that the original `com.codahale.metrics.ConsoleReporter` is unaware of (cannot re-use directly because of private constructor). @@ -48,9 +47,8 @@ class AkkaConsoleReporter(registry: AkkaMetricRegistry, verbose: Boolean, output output.flush() } - def printMetrics[T <: Metric](metrics: Iterable[(String, T)], printer: T => Unit)( - implicit clazz: ClassTag[T]): Unit = { - if (!metrics.isEmpty) { + def printMetrics[T <: Metric](metrics: Iterable[(String, T)], printer: T => Unit): Unit = { + if (metrics.nonEmpty) { printWithBanner(s"-- ${simpleName(metrics.head._2.getClass)}", '-') for ((key, metric) <- metrics) { output.println(" " + key) diff --git a/project/AkkaDisciplinePlugin.scala b/project/AkkaDisciplinePlugin.scala index 1e9d86eaff..c7d3ec9f53 100644 --- a/project/AkkaDisciplinePlugin.scala +++ b/project/AkkaDisciplinePlugin.scala @@ -33,8 +33,7 @@ object AkkaDisciplinePlugin extends AutoPlugin with ScalafixSupport { "akka-persistence-tck", "akka-remote", "akka-stream-tests", - "akka-stream-tests-tck", - "akka-testkit") + "akka-stream-tests-tck") val strictProjects = Set("akka-discovery", "akka-protobuf", "akka-coordination")