From 6f4eac9e43dd07270b8a132416b6eeb61c17edfe Mon Sep 17 00:00:00 2001 From: FateJH Date: Tue, 26 May 2020 19:50:54 -0400 Subject: [PATCH 1/3] changes to quiet the warnings since the 2.13.2 update --- build.sbt | 4 +- .../net/psforever/config/ConfigParser.scala | 2 +- .../psforever/config/ConfigValidation.scala | 4 +- .../newcodecs/QuantizedDoubleCodec.scala | 2 +- .../scala/net/psforever/objects/Player.scala | 2 +- .../net/psforever/objects/SpawnPoint.scala | 2 +- .../objects/avatar/PlayerControl.scala | 2 +- .../definition/ProjectileDefinition.scala | 4 +- .../converter/AvatarConverter.scala | 2 +- .../psforever/objects/guid/TaskResolver.scala | 2 +- .../generator/GeneratorControl.scala | 4 +- .../hackable/GenericHackables.scala | 4 +- .../pad/VehicleSpawnControl.scala | 2 +- .../serverobject/painbox/PainboxControl.scala | 2 +- .../terminals/ProximityTerminalControl.scala | 2 +- .../turret/FacilityTurretControl.scala | 2 +- .../vital/StandardResistanceProfile.scala | 2 +- .../vital/resistance/ResistanceProfile.scala | 8 +- .../resolution/ResolutionCalculations.scala | 4 +- .../net/psforever/objects/zones/Zone.scala | 27 +++--- .../scala/net/psforever/packet/PSPacket.scala | 2 +- .../SquadDetailDefinitionUpdateMessage.scala | 44 +++++---- .../packet/game/objectcreate/PlayerData.scala | 4 +- .../scala/services/support/SupportActor.scala | 2 +- common/src/test/scala/base/ActorTest.scala | 10 ++- .../src/test/scala/objects/BuildingTest.scala | 4 +- .../test/scala/objects/DamageableTest.scala | 58 ++++++------ .../test/scala/objects/DeployableTest.scala | 10 +-- .../test/scala/objects/GeneratorTest.scala | 72 +++++++-------- .../scala/objects/PlayerControlTest.scala | 14 +-- .../test/scala/objects/RepairableTest.scala | 10 +-- .../test/scala/objects/ResourceSiloTest.scala | 16 ++-- .../src/test/scala/objects/VehicleTest.scala | 16 ++-- common/src/test/scala/objects/ZoneTest.scala | 90 +++++++++---------- .../number/UniqueNumberSystemTest.scala | 4 +- .../objects/terminal/ProximityTest.scala | 14 +-- .../terminal/TerminalControlTest.scala | 2 +- .../test/scala/service/LocalServiceTest.scala | 2 +- .../test/scala/service/RemoverActorTest.scala | 48 +++++----- .../service/RouterTelepadActivationTest.scala | 2 +- .../scala/service/VehicleServiceTest.scala | 2 +- project/plugins.sbt | 2 +- .../src/main/scala/LoginSessionActor.scala | 2 +- pslogin/src/main/scala/Maps.scala | 4 +- pslogin/src/main/scala/PsLogin.scala | 4 +- pslogin/src/main/scala/SessionRouter.scala | 2 +- .../src/main/scala/UdpNetworkSimulator.scala | 19 ++-- .../src/main/scala/WorldSessionActor.scala | 34 ++++--- pslogin/src/main/scala/Zones.scala | 4 +- pslogin/src/main/scala/csr/CSRWarp.scala | 2 +- pslogin/src/main/scala/csr/CSRZoneImpl.scala | 78 ++++++++-------- .../src/main/scala/psadmin/CmdInternal.scala | 2 +- .../test/scala/PacketCodingActorTest.scala | 10 +-- .../src/test/scala/actor/base/ActorTest.scala | 18 ++-- .../actor/objects/VehicleSpawnPadTest.scala | 2 +- .../actor/service/AvatarServiceTest.scala | 20 ++--- 56 files changed, 366 insertions(+), 346 deletions(-) diff --git a/build.sbt b/build.sbt index 4dd903cd4..e5e487517 100644 --- a/build.sbt +++ b/build.sbt @@ -45,8 +45,8 @@ lazy val commonSettings = Seq( "com.github.t3hnar" %% "scala-bcrypt" % "4.1", "org.ini4j" % "ini4j" % "0.5.4", "org.scala-graph" %% "graph-core" % "1.13.1", - "io.kamon" %% "kamon-bundle" % "2.1.0", - "io.kamon" %% "kamon-apm-reporter" % "2.1.0", +// "io.kamon" %% "kamon-bundle" % "2.1.0", +// "io.kamon" %% "kamon-apm-reporter" % "2.1.0", "org.json4s" %% "json4s-native" % "3.6.8", "com.typesafe.akka" %% "akka-stream" % "2.6.5", ), diff --git a/common/src/main/scala/net/psforever/config/ConfigParser.scala b/common/src/main/scala/net/psforever/config/ConfigParser.scala index 3b95fb743..00124a4ca 100644 --- a/common/src/main/scala/net/psforever/config/ConfigParser.scala +++ b/common/src/main/scala/net/psforever/config/ConfigParser.scala @@ -186,7 +186,7 @@ trait ConfigParser { Valid } - def ReplaceConfig(map : Map[String, Any]) { + def ReplaceConfig(map : Map[String, Any]) : Unit = { config_map = map } diff --git a/common/src/main/scala/net/psforever/config/ConfigValidation.scala b/common/src/main/scala/net/psforever/config/ConfigValidation.scala index dcfb969e0..94bf33f59 100644 --- a/common/src/main/scala/net/psforever/config/ConfigValidation.scala +++ b/common/src/main/scala/net/psforever/config/ConfigValidation.scala @@ -126,7 +126,7 @@ trait Constraints { errorMessage: String = "error.min", strictErrorMessage: String = "error.min.strict" )(implicit ordering: scala.math.Ordering[T]): Constraint[T] = Constraint[T]("constraint.min", minValue) { o => - (ordering.compare(o, minValue).signum, strict) match { + (ordering.compare(o, minValue).sign, strict) match { case (1, _) | (0, false) => Valid case (_, false) => Invalid(ValidationError(errorMessage, minValue)) case (_, true) => Invalid(ValidationError(strictErrorMessage, minValue)) @@ -145,7 +145,7 @@ trait Constraints { errorMessage: String = "error.max", strictErrorMessage: String = "error.max.strict" )(implicit ordering: scala.math.Ordering[T]): Constraint[T] = Constraint[T]("constraint.max", maxValue) { o => - (ordering.compare(o, maxValue).signum, strict) match { + (ordering.compare(o, maxValue).sign, strict) match { case (-1, _) | (0, false) => Valid case (_, false) => Invalid(ValidationError(errorMessage, maxValue)) case (_, true) => Invalid(ValidationError(strictErrorMessage, maxValue)) diff --git a/common/src/main/scala/net/psforever/newcodecs/QuantizedDoubleCodec.scala b/common/src/main/scala/net/psforever/newcodecs/QuantizedDoubleCodec.scala index 454e50761..110f319e4 100644 --- a/common/src/main/scala/net/psforever/newcodecs/QuantizedDoubleCodec.scala +++ b/common/src/main/scala/net/psforever/newcodecs/QuantizedDoubleCodec.scala @@ -33,7 +33,7 @@ final class QuantizedDoubleCodec(min: Double, max: Double, bits: Int) extends Co } def UnquantizeDouble(value : Int) : Double = { - return ((max - min) * value.toDouble / (1 << bitsL).toDouble + min) + return ((max - min) * value.toDouble / (1 << bitsL.toInt).toDouble + min) } override def encode(value: Double) = { diff --git a/common/src/main/scala/net/psforever/objects/Player.scala b/common/src/main/scala/net/psforever/objects/Player.scala index 5ba475339..479e34004 100644 --- a/common/src/main/scala/net/psforever/objects/Player.scala +++ b/common/src/main/scala/net/psforever/objects/Player.scala @@ -150,7 +150,7 @@ class Player(private val core : Avatar) extends PlanetSideServerObject def Capacitor : Float = capacitor def Capacitor_=(value : Float) : Float = { - val newValue = math.min(math.max(0, value), ExoSuitDef.MaxCapacitor) + val newValue = math.min(math.max(0, value), ExoSuitDef.MaxCapacitor.toFloat) if(newValue < capacitor) { capacitorLastUsedMillis = System.currentTimeMillis() diff --git a/common/src/main/scala/net/psforever/objects/SpawnPoint.scala b/common/src/main/scala/net/psforever/objects/SpawnPoint.scala index dc86b3738..ad6bd4364 100644 --- a/common/src/main/scala/net/psforever/objects/SpawnPoint.scala +++ b/common/src/main/scala/net/psforever/objects/SpawnPoint.scala @@ -80,7 +80,7 @@ object SpawnPoint { val z = ori.z val zrot = (z + 90) % 360 val zrad = math.toRadians(zrot) - val shift = Vector3(math.sin(zrad).toFloat, math.cos(zrad).toFloat, 0) * (3 * side) //x=sin, y=cos because compass-0 is East, not North + val shift = Vector3(math.sin(zrad).toFloat, math.cos(zrad).toFloat, 0) * (3 * side).toFloat //x=sin, y=cos because compass-0 is East, not North ( obj.Position + shift + (if(x >= 330) { //ams leaning to the left Vector3.z(xsin) diff --git a/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala b/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala index 4588b0837..552dd0216 100644 --- a/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala +++ b/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala @@ -69,7 +69,7 @@ class PlayerControl(player : Player) extends Actor } if(implant.StaminaCost > 0 && implant.GetCostIntervalByExoSuit(player.ExoSuit) > 0) { // Ongoing stamina drain, if applicable - implantSlotStaminaDrainTimers(slot) = context.system.scheduler.schedule(0 seconds, implant.GetCostIntervalByExoSuit(player.ExoSuit) milliseconds, self, Player.DrainStamina(implant.StaminaCost)) + implantSlotStaminaDrainTimers(slot) = context.system.scheduler.scheduleWithFixedDelay(0 seconds, implant.GetCostIntervalByExoSuit(player.ExoSuit) milliseconds, self, Player.DrainStamina(implant.StaminaCost)) } player.Zone.AvatarEvents ! AvatarServiceMessage(player.Zone.Id, AvatarAction.PlanetsideAttribute(player.GUID, 28, player.Implant(slot).id * 2 + 1)) // Activation sound / effect diff --git a/common/src/main/scala/net/psforever/objects/definition/ProjectileDefinition.scala b/common/src/main/scala/net/psforever/objects/definition/ProjectileDefinition.scala index 2b4ab83cc..0d4be4a2e 100644 --- a/common/src/main/scala/net/psforever/objects/definition/ProjectileDefinition.scala +++ b/common/src/main/scala/net/psforever/objects/definition/ProjectileDefinition.scala @@ -166,8 +166,8 @@ object ProjectileDefinition { } def CalculateDerivedFields(pdef : ProjectileDefinition) : Unit = { - val (distanceMax, distanceFromAcceleration, finalVelocity) : (Float, Float, Float) = if(pdef.Acceleration == 0f) { - (pdef.InitialVelocity * pdef.Lifespan, 0, pdef.InitialVelocity) + val (distanceMax, distanceFromAcceleration, finalVelocity) : (Float, Float, Float) = if(pdef.Acceleration == 0) { + (pdef.InitialVelocity * pdef.Lifespan, 0, pdef.InitialVelocity.toFloat) } else { val distanceFromAcceleration = (pdef.AccelerationUntil * pdef.InitialVelocity) + (0.5f * pdef.Acceleration * pdef.AccelerationUntil * pdef.AccelerationUntil) diff --git a/common/src/main/scala/net/psforever/objects/definition/converter/AvatarConverter.scala b/common/src/main/scala/net/psforever/objects/definition/converter/AvatarConverter.scala index fec77889f..88096672e 100644 --- a/common/src/main/scala/net/psforever/objects/definition/converter/AvatarConverter.scala +++ b/common/src/main/scala/net/psforever/objects/definition/converter/AvatarConverter.scala @@ -122,7 +122,7 @@ object AvatarConverter { DressBattleRank(obj), 0, DressCommandRank(obj), - MakeImplantEffectList(obj.Implants), + MakeImplantEffectList(obj.Implants.toIndexedSeq), MakeCosmetics(obj) ) } diff --git a/common/src/main/scala/net/psforever/objects/guid/TaskResolver.scala b/common/src/main/scala/net/psforever/objects/guid/TaskResolver.scala index 037aacf78..0a905d060 100644 --- a/common/src/main/scala/net/psforever/objects/guid/TaskResolver.scala +++ b/common/src/main/scala/net/psforever/objects/guid/TaskResolver.scala @@ -92,7 +92,7 @@ class TaskResolver() extends Actor { */ private def StartTimeoutCheck() : Unit = { if(timeoutCleanup.isCancelled) { - timeoutCleanup = context.system.scheduler.schedule(500 milliseconds, 500 milliseconds, self, TaskResolver.TimeoutCleanup()) + timeoutCleanup = context.system.scheduler.scheduleWithFixedDelay(500 milliseconds, 500 milliseconds, self, TaskResolver.TimeoutCleanup()) } } diff --git a/common/src/main/scala/net/psforever/objects/serverobject/generator/GeneratorControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/generator/GeneratorControl.scala index 4ee73fa8f..a5415cce0 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/generator/GeneratorControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/generator/GeneratorControl.scala @@ -156,8 +156,8 @@ object GeneratorControl { */ def DamageAwareness(target : Generator, cause : ResolvedProjectile, amount : Int) : Unit = { if(!target.Destroyed) { - val health : Float = target.Health - val max : Float = target.MaxHealth + val health : Float = target.Health.toFloat + val max : Float = target.MaxHealth.toFloat if(target.Condition != PlanetSideGeneratorState.Critical && health / max < 0.51f) { //becoming critical target.Condition = PlanetSideGeneratorState.Critical GeneratorControl.UpdateOwner(target) diff --git a/common/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala b/common/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala index 5e9255f03..3fb9dfb86 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala @@ -23,8 +23,8 @@ object GenericHackables { def GetHackSpeed(player : Player, obj: PlanetSideServerObject): Float = { val playerHackLevel = Player.GetHackLevel(player) val timeToHack = obj match { - case vehicle : Vehicle => vehicle.JackingDuration(playerHackLevel) - case hackable : Hackable => hackable.HackDuration(playerHackLevel) + case vehicle : Vehicle => vehicle.JackingDuration(playerHackLevel).toFloat + case hackable : Hackable => hackable.HackDuration(playerHackLevel).toFloat case _ => log.warn(s"${player.Name} tried to hack an object that has no hack time defined - ${obj.Definition.Name}#${obj.GUID} on ${obj.Zone.Id}") 0f diff --git a/common/src/main/scala/net/psforever/objects/serverobject/pad/VehicleSpawnControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/pad/VehicleSpawnControl.scala index 11353e5c4..ab6d4f2d7 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/pad/VehicleSpawnControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/pad/VehicleSpawnControl.scala @@ -89,7 +89,7 @@ class VehicleSpawnControl(pad : VehicleSpawnPad) extends VehicleSpawnControlBase case Some(entry) => if(periodicReminder.isCancelled) { trace (s"the pad has become blocked by ${entry.vehicle.Definition.Name}") - periodicReminder = context.system.scheduler.schedule( + periodicReminder = context.system.scheduler.scheduleWithFixedDelay( VehicleSpawnControl.initialReminderDelay, VehicleSpawnControl.periodicReminderDelay, self, VehicleSpawnControl.ProcessControl.Reminder diff --git a/common/src/main/scala/net/psforever/objects/serverobject/painbox/PainboxControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/painbox/PainboxControl.scala index c81a9b05c..5f0b52660 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/painbox/PainboxControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/painbox/PainboxControl.scala @@ -150,7 +150,7 @@ class PainboxControl(painbox: Painbox) extends Actor { case Painbox.Start() => context.become(Running) painboxTick.cancel - painboxTick = context.system.scheduler.schedule(0 seconds, 1 second, self, Painbox.Tick()) + painboxTick = context.system.scheduler.scheduleWithFixedDelay(0 seconds, 1 second, self, Painbox.Tick()) case _ => ; } diff --git a/common/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala index 5aa48de68..6c9de9871 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala @@ -105,7 +105,7 @@ class ProximityTerminalControl(term : Terminal with ProximityUnit) extends Actor val medDef = term.Definition.asInstanceOf[MedicalTerminalDefinition] import scala.concurrent.ExecutionContext.Implicits.global terminalAction.cancel - terminalAction = context.system.scheduler.schedule(500 milliseconds, medDef.Interval, self, ProximityTerminalControl.TerminalAction()) + terminalAction = context.system.scheduler.scheduleWithFixedDelay(500 milliseconds, medDef.Interval, self, ProximityTerminalControl.TerminalAction()) TerminalObject.Zone.LocalEvents ! Terminal.StartProximityEffect(term) } } diff --git a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala index 4f1392412..ee273448a 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala @@ -69,7 +69,7 @@ class FacilityTurretControl(turret : FacilityTurret) extends Actor weaponAmmoRechargeTimer.cancel() } - weaponAmmoRechargeTimer = context.system.scheduler.schedule(3 seconds, 200 milliseconds, self, FacilityTurret.RechargeAmmo()) + weaponAmmoRechargeTimer = context.system.scheduler.scheduleWithFixedDelay(3 seconds, 200 milliseconds, self, FacilityTurret.RechargeAmmo()) case FacilityTurret.RechargeAmmo() => val weapon = turret.ControlledWeapon(1).get.asInstanceOf[net.psforever.objects.Tool] diff --git a/common/src/main/scala/net/psforever/objects/vital/StandardResistanceProfile.scala b/common/src/main/scala/net/psforever/objects/vital/StandardResistanceProfile.scala index ddf1de096..1992fd8dd 100644 --- a/common/src/main/scala/net/psforever/objects/vital/StandardResistanceProfile.scala +++ b/common/src/main/scala/net/psforever/objects/vital/StandardResistanceProfile.scala @@ -25,5 +25,5 @@ trait StandardResistanceProfile extends ResistanceProfile { def ResistanceAggravated : Int = resistDef.ResistanceDirectHit - def RadiationShielding : Float = resistDef.ResistanceDirectHit + def RadiationShielding : Float = resistDef.ResistanceDirectHit.toFloat } diff --git a/common/src/main/scala/net/psforever/objects/vital/resistance/ResistanceProfile.scala b/common/src/main/scala/net/psforever/objects/vital/resistance/ResistanceProfile.scala index 1fbeec138..f24af41db 100644 --- a/common/src/main/scala/net/psforever/objects/vital/resistance/ResistanceProfile.scala +++ b/common/src/main/scala/net/psforever/objects/vital/resistance/ResistanceProfile.scala @@ -22,11 +22,11 @@ trait ResistanceProfile { def Resist(dtype : DamageType.Value) : Float = { dtype match { - case DamageType.Direct => ResistanceDirectHit - case DamageType.Splash => ResistanceSplash - case DamageType.Aggravated => ResistanceAggravated + case DamageType.Direct => ResistanceDirectHit.toFloat + case DamageType.Splash => ResistanceSplash.toFloat + case DamageType.Aggravated => ResistanceAggravated.toFloat case DamageType.Radiation => RadiationShielding - case _ => 0 + case _ => 0f } } } diff --git a/common/src/main/scala/net/psforever/objects/vital/resolution/ResolutionCalculations.scala b/common/src/main/scala/net/psforever/objects/vital/resolution/ResolutionCalculations.scala index c40096f24..518de2b3e 100644 --- a/common/src/main/scala/net/psforever/objects/vital/resolution/ResolutionCalculations.scala +++ b/common/src/main/scala/net/psforever/objects/vital/resolution/ResolutionCalculations.scala @@ -140,12 +140,12 @@ object ResolutionCalculations { if(player.Capacitor.toInt > 0 && player.isShielded) { // Subtract armour damage from capacitor result = SubtractWithRemainder(player.Capacitor.toInt, b) - player.Capacitor = result._1 + player.Capacitor = result._1.toFloat b = result._2 // Then follow up with health damage if any capacitor is left result = SubtractWithRemainder(player.Capacitor.toInt, a) - player.Capacitor = result._1 + player.Capacitor = result._1.toFloat a = result._2 } diff --git a/common/src/main/scala/net/psforever/objects/zones/Zone.scala b/common/src/main/scala/net/psforever/objects/zones/Zone.scala index a70d19cdd..4e2b49b20 100644 --- a/common/src/main/scala/net/psforever/objects/zones/Zone.scala +++ b/common/src/main/scala/net/psforever/objects/zones/Zone.scala @@ -10,6 +10,7 @@ import net.psforever.objects.entity.IdentifiableEntity import net.psforever.objects.equipment.Equipment import net.psforever.objects.guid.NumberPoolHub import net.psforever.objects.guid.actor.UniqueNumberSystem +import net.psforever.objects.guid.key.LoanedKey import net.psforever.objects.guid.selector.RandomSelector import net.psforever.objects.guid.source.LimitedNumberSource import net.psforever.objects.inventory.Container @@ -31,6 +32,8 @@ import scalax.collection.Graph import scalax.collection.GraphPredef._ import scalax.collection.GraphEdge._ +import scala.util.Try + /** * A server object representing the one-landmass planets as well as the individual subterranean caverns.
*
@@ -223,7 +226,7 @@ class Zone(private val zoneId : String, zoneMap : ZoneMap, zoneNumber : Int) { * @return synchronized reference to the globally unique identifier system */ def GUID(hub : NumberPoolHub) : Boolean = { - if(actor == ActorRef.noSender && guid.Pools.map({case (_, pool) => pool.Count}).sum == 0) { + if(actor == ActorRef.noSender && guid.Pools.values.foldLeft(0)(_ + _.Count) == 0) { import org.fusesource.jansi.Ansi.Color.RED import org.fusesource.jansi.Ansi.ansi println(ansi().fgBright(RED).a(s"""Caution: replacement of the number pool system for zone $Id; function is for testing purposes only""").reset()) @@ -408,9 +411,9 @@ class Zone(private val zoneId : String, zoneMap : ZoneMap, zoneNumber : Int) { private def MakeBuildings(implicit context : ActorContext) : PairMap[Int, Building] = { val buildingList = Map.LocalBuildings - val registrationKeys = buildingList.map { - case ((_, building_guid, _), _) => - building_guid -> guid.register(building_guid) + val registrationKeys : Map[Int, Try[LoanedKey]] = buildingList.map { + case ((_, building_guid : Int, _), _) => + (building_guid, guid.register(building_guid)) } buildings = buildingList.map({ case((name, building_guid, map_id), constructor) if registrationKeys(building_guid).isSuccess => @@ -448,19 +451,13 @@ class Zone(private val zoneId : String, zoneMap : ZoneMap, zoneNumber : Int) { } private def MakeLattice(): Unit = { - Map.LatticeLink.foreach({ case(source, target) => - val sourceBuilding = Building(source) match { - case Some(building) => building + lattice ++= Map.LatticeLink.map { case(source, target) => + val (sourceBuilding, targetBuilding) = (Building(source), Building(target)) match { + case (Some(sBuilding), Some(tBuilding)) => (sBuilding, tBuilding) case _ => throw new NoSuchElementException(s"Can't create lattice link between $source $target. Source is missing") } - - val targetBuilding = Building(target) match { - case Some(building) => building - case _ => throw new NoSuchElementException(s"Can't create lattice link between $source $target. Target is missing") - } - - lattice += sourceBuilding~targetBuilding - }) + sourceBuilding~targetBuilding + } } private def CreateSpawnGroups() : Unit = { diff --git a/common/src/main/scala/net/psforever/packet/PSPacket.scala b/common/src/main/scala/net/psforever/packet/PSPacket.scala index 2ef4cbfd1..b1fc90ff8 100644 --- a/common/src/main/scala/net/psforever/packet/PSPacket.scala +++ b/common/src/main/scala/net/psforever/packet/PSPacket.scala @@ -88,7 +88,7 @@ object PacketHelpers { def createEnumerationCodec[E <: Enumeration](enum : E, storageCodec : Codec[Int]) : Codec[E#Value] = { type Struct = Int :: HNil val struct : Codec[Struct] = storageCodec.hlist - val primitiveLimit = Math.pow(2, storageCodec.sizeBound.exact.get) + val primitiveLimit = Math.pow(2, storageCodec.sizeBound.exact.get.toDouble) // Assure that the enum will always be able to fit in a N-bit int assert(enum.maxId <= primitiveLimit, diff --git a/common/src/main/scala/net/psforever/packet/game/SquadDetailDefinitionUpdateMessage.scala b/common/src/main/scala/net/psforever/packet/game/SquadDetailDefinitionUpdateMessage.scala index 75a274d1e..ecc1e1b3b 100644 --- a/common/src/main/scala/net/psforever/packet/game/SquadDetailDefinitionUpdateMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/SquadDetailDefinitionUpdateMessage.scala @@ -509,6 +509,8 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini Some(linkFields(member_list.collect { case SquadPositionEntry(_, Some(entry)) => entry }.reverse)) :: HNil ) + case data => + Attempt.failure(Err(s"can not get squad detail definition from data $data")) } ) } @@ -637,6 +639,8 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini Attempt.successful(SquadDetail(None, None, None, None, None, None, None, None, Some(ignoreTerminatingEntry(member_list.toList)))) case false :: None :: Some(_ :: member_list :: HNil) :: HNil => Attempt.successful(SquadDetail(None, None, None, None, None, None, None, None, Some(ignoreTerminatingEntry(member_list.toList)))) + case data => + Attempt.failure(Err(s"SquadDetail $data not encoded correctly")) }, { case SquadDetail(_, _, _, _, _, _, _, _, Some(member_list)) => @@ -1108,18 +1112,22 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini conditional(index < 255, bool :: squad_member_details_codec(bitsOverByte.Add(1))) :: conditional(index == 255, bits) } - ).xmap[SquadPositionEntry] ( + ).exmap[SquadPositionEntry] ( { case 255 :: _ :: _ :: HNil => - SquadPositionEntry(255, None) + Attempt.Successful(SquadPositionEntry(255, None)) case ndx :: Some(_ :: info :: HNil) :: _ :: HNil => - SquadPositionEntry(ndx, Some(unlinkFields(Some(info)))) + Attempt.Successful(SquadPositionEntry(ndx, Some(unlinkFields(Some(info))))) + case data => + Attempt.Failure(Err(s"SquadPositionEntry: unsupported decoding format - $data")) }, { case SquadPositionEntry(255, _) => - 255 :: None :: None :: HNil + Attempt.Successful(255 :: None :: None :: HNil) case SquadPositionEntry(ndx, Some(info)) => - ndx :: Some(true :: linkFields(info) :: HNil) :: None :: HNil + Attempt.Successful(ndx :: Some(true :: linkFields(info) :: HNil) :: None :: HNil) + case data => + Attempt.Failure(Err(s"SquadPositionEntry: unsupported encoding format - $data")) } ) } @@ -1223,18 +1231,20 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini conditional(size - 1 > 0, subsequent_position_codec(size - 1)) :: conditional(index == 255, bits) } - ).xmap[LinkedFields]( + ).exmap[LinkedFields]( { case 255 :: _ :: _ :: _ :: HNil => - LinkedFields(255, SquadPositionDetail.Blank, None) + Attempt.Successful(LinkedFields(255, SquadPositionDetail.Blank, None)) case index :: Some(_ :: entry :: HNil) :: next :: _ :: HNil => - LinkedFields(index, entry, next) + Attempt.Successful(LinkedFields(index, entry, next)) + case data => + Attempt.Failure(Err(s"LinkedFields: unsupported decoding format - $data")) }, { case LinkedFields(255, _, _) => - 255 :: None :: None :: None :: HNil + Attempt.Successful(255 :: None :: None :: None :: HNil) case LinkedFields(index, entry, next) => - index :: Some(true :: entry :: HNil) :: next :: None :: HNil + Attempt.Successful(index :: Some(true :: entry :: HNil) :: next :: None :: HNil) } ) } @@ -1255,18 +1265,20 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini conditional(index < 255 && size - 1 > 0, subsequent_position_codec(size - 1)) :: conditional(index == 255, bits) } - ).xmap[LinkedFields]( + ).exmap[LinkedFields]( { case 255 :: _ :: _ :: _ :: HNil => - LinkedFields(255, SquadPositionDetail.Blank, None) + Attempt.Successful(LinkedFields(255, SquadPositionDetail.Blank, None)) case index :: Some(_ :: entry :: HNil) :: next :: _ :: HNil => - LinkedFields(index, entry, next) + Attempt.Successful(LinkedFields(index, entry, next)) + case data => + Attempt.Failure(Err(s"LinkedFields: unsupported decoding format - $data")) }, { case LinkedFields(255, _, _) => - 255 :: None :: None :: None :: HNil + Attempt.Successful(255 :: None :: None :: None :: HNil) case LinkedFields(index, entry, next) => - index :: Some(true :: entry :: HNil) :: next :: None :: HNil + Attempt.Successful(index :: Some(true :: entry :: HNil) :: next :: None :: HNil) } ) } @@ -1355,6 +1367,8 @@ object SquadDetailDefinitionUpdateMessage extends Marshallable[SquadDetailDefini { case SquadPositionDetail(Some(closed), Some(role), Some(orders), Some(requirements), Some(char_id), Some(name)) => Attempt.Successful(6 :: closed :: role :: orders :: char_id :: name :: CertificationType.toEncodedLong(defaultRequirements ++ requirements) :: HNil) + case data => + Attempt.Failure(Err(s"can not encode a SquadDetailDefinitionUpdate member's data - $data")) } ) } diff --git a/common/src/main/scala/net/psforever/packet/game/objectcreate/PlayerData.scala b/common/src/main/scala/net/psforever/packet/game/objectcreate/PlayerData.scala index 84613ad44..928bd4dd9 100644 --- a/common/src/main/scala/net/psforever/packet/game/objectcreate/PlayerData.scala +++ b/common/src/main/scala/net/psforever/packet/game/objectcreate/PlayerData.scala @@ -145,7 +145,7 @@ object PlayerData extends Marshallable[PlayerData] { * @return the number of bits needed to pad it */ def ByteAlignmentPadding(length : Long) : Int = { - val pad = (length - math.floor(length / 8) * 8).toInt + val pad = (length - math.floor(length.toDouble / 8) * 8).toInt if(pad > 0) { 8 - pad } @@ -204,7 +204,7 @@ object PlayerData extends Marshallable[PlayerData] { PlayerData(None, app, data, inv, hand)(false) }, { - case PlayerData(None, app, data, inv, hand) => + case PlayerData(_, app, data, inv, hand) => app :: data :: inv :: hand :: false :: HNil } ) diff --git a/common/src/main/scala/services/support/SupportActor.scala b/common/src/main/scala/services/support/SupportActor.scala index 0fb0d6a62..2843fbbe2 100644 --- a/common/src/main/scala/services/support/SupportActor.scala +++ b/common/src/main/scala/services/support/SupportActor.scala @@ -40,7 +40,7 @@ abstract class SupportActor[A <: SupportActor.Entry] extends Actor { def HurrySpecific(targets : List[PlanetSideGameObject], zone : Zone) : Unit - def HurryAll() + def HurryAll() : Unit def ClearSpecific(targets : List[PlanetSideGameObject], zone : Zone) : Unit diff --git a/common/src/test/scala/base/ActorTest.scala b/common/src/test/scala/base/ActorTest.scala index 7b2652092..2e736a672 100644 --- a/common/src/test/scala/base/ActorTest.scala +++ b/common/src/test/scala/base/ActorTest.scala @@ -4,21 +4,23 @@ package base import akka.actor.{Actor, ActorRef, ActorSystem, Props} import akka.testkit.{ImplicitSender, TestKit} import com.typesafe.config.ConfigFactory -import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike} +import org.scalatest.BeforeAndAfterAll +import org.scalatest.matchers.should.Matchers +import org.scalatest.wordspec.AnyWordSpecLike import org.specs2.specification.Scope import scala.collection.mutable import scala.concurrent.duration.FiniteDuration abstract class ActorTest(sys : ActorSystem = ActorSystem("system", ConfigFactory.parseMap(ActorTest.LoggingConfig))) - extends TestKit(sys) with Scope with ImplicitSender with WordSpecLike with Matchers with BeforeAndAfterAll { - override def afterAll { + extends TestKit(sys) with Scope with ImplicitSender with AnyWordSpecLike with Matchers with BeforeAndAfterAll { + override def afterAll : Unit = { TestKit.shutdownActorSystem(system) } } object ActorTest { - import scala.collection.JavaConverters._ + import scala.jdk.CollectionConverters._ private val LoggingConfig = Map( "akka.loggers" -> List("akka.testkit.TestEventListener").asJava, "akka.loglevel" -> "OFF", diff --git a/common/src/test/scala/objects/BuildingTest.scala b/common/src/test/scala/objects/BuildingTest.scala index 40278270a..cec8b518d 100644 --- a/common/src/test/scala/objects/BuildingTest.scala +++ b/common/src/test/scala/objects/BuildingTest.scala @@ -134,7 +134,7 @@ class BuildingControl2Test extends ActorTest { "Building Control" should { "convert and assert faction affinity on convert request" in { - expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) assert(bldg.Faction == PlanetSideEmpire.TR) bldg.Actor ! FactionAffinity.ConvertFactionAffinity(PlanetSideEmpire.VS) @@ -164,7 +164,7 @@ class BuildingControl3Test extends ActorTest { "Building Control" should { "convert and assert faction affinity on convert request, and for each of its amenities" in { - expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) assert(bldg.Faction == PlanetSideEmpire.TR) assert(bldg.Amenities.length == 2) diff --git a/common/src/test/scala/objects/DamageableTest.scala b/common/src/test/scala/objects/DamageableTest.scala index 6facd2589..b1c202314 100644 --- a/common/src/test/scala/objects/DamageableTest.scala +++ b/common/src/test/scala/objects/DamageableTest.scala @@ -262,7 +262,7 @@ class DamageableEntityDamageTest extends ActorTest { Vector3(1,0,0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "DamageableEntity" should { "handle taking damage" in { @@ -323,7 +323,7 @@ class DamageableEntityDestroyedTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableEntity" should { @@ -387,7 +387,7 @@ class DamageableEntityNotDestroyTwice extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableEntity" should { @@ -402,7 +402,7 @@ class DamageableEntityNotDestroyTwice extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) avatarProbe.receiveOne(500 milliseconds) //only one message - avatarProbe.expectNoMsg(500 milliseconds) //only one message + avatarProbe.expectNoMessage(500 milliseconds) //only one message activityProbe.receiveOne(500 milliseconds) //triggers activity hotspot, like it's not a killing blow assert(gen.Health < originalHealth) assert(gen.Destroyed) @@ -448,7 +448,7 @@ class DamageableAmenityTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableAmenity" should { @@ -532,7 +532,7 @@ class DamageableMountableDamageTest extends ActorTest { val applyDamageTo = resolved.damage_model.Calculate(resolved) mech.Seats(0).Occupant = player2 //seat the player player2.VehicleSeated = Some(mech.GUID) //seat the player - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableMountable" should { @@ -612,7 +612,7 @@ class DamageableMountableDestroyTest extends ActorTest { val applyDamageTo = resolved.damage_model.Calculate(resolved) mech.Seats(0).Occupant = player2 //seat the player player2.VehicleSeated = Some(mech.GUID) //seat the player - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableMountable" should { @@ -623,7 +623,7 @@ class DamageableMountableDestroyTest extends ActorTest { mech.Actor ! Vitality.Damage(applyDamageTo) val msg12 = avatarProbe.receiveN(2, 500 milliseconds) - player1Probe.expectNoMsg(500 milliseconds) + player1Probe.expectNoMessage(500 milliseconds) val msg3 = player2Probe.receiveOne(200 milliseconds) assert( msg12.head match { @@ -689,7 +689,7 @@ class DamageableWeaponTurretDamageTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableWeaponTurret" should { @@ -773,7 +773,7 @@ class DamageableWeaponTurretJammerTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableWeaponTurret" should { @@ -867,7 +867,7 @@ class DamageableWeaponTurretDestructionTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageToB = resolvedB.damage_model.Calculate(resolvedB) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableWeaponTurret" should { @@ -886,7 +886,7 @@ class DamageableWeaponTurretDestructionTest extends ActorTest { turret.Actor ! Vitality.Damage(applyDamageToB) //destroy val msg12_4 = avatarProbe.receiveN(3, 500 milliseconds) - player1Probe.expectNoMsg(500 milliseconds) + player1Probe.expectNoMessage(500 milliseconds) val msg3 = player2Probe.receiveOne(200 milliseconds) val msg56 = vehicleProbe.receiveN(2, 200 milliseconds) assert( @@ -977,7 +977,7 @@ class DamageableVehicleDamageTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableVehicle" should { @@ -1091,7 +1091,7 @@ class DamageableVehicleDamageMountedTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "handle damage with mounted vehicles" in { @@ -1217,7 +1217,7 @@ class DamageableVehicleJammeringMountedTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "handle jammering with mounted vehicles" in { @@ -1228,10 +1228,10 @@ class DamageableVehicleJammeringMountedTest extends ActorTest { lodestar.Actor ! Vitality.Damage(applyDamageTo) val msg12 = vehicleProbe.receiveOne(500 milliseconds) - avatarProbe.expectNoMsg(500 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) - player2Probe.expectNoMsg(200 milliseconds) - player3Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) + player2Probe.expectNoMessage(200 milliseconds) + player3Probe.expectNoMessage(200 milliseconds) assert( msg12 match { case VehicleServiceMessage("test", VehicleAction.PlanetsideAttribute(Service.defaultPlayerGUID, PlanetSideGUID(4), 27, 1))=> true @@ -1293,7 +1293,7 @@ class DamageableVehicleDestroyTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "DamageableVehicle" should { @@ -1419,7 +1419,7 @@ class DamageableVehicleDestroyMountedTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageToB = resolvedB.damage_model.Calculate(resolvedB) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "handle jammering with mounted vehicles" in { @@ -1435,10 +1435,10 @@ class DamageableVehicleDestroyMountedTest extends ActorTest { lodestar.Actor ! Vitality.Damage(applyDamageToA) vehicleProbe.receiveOne(500 milliseconds) //flush jammered message - avatarProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) - player2Probe.expectNoMsg(200 milliseconds) - player3Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) + player2Probe.expectNoMessage(200 milliseconds) + player3Probe.expectNoMessage(200 milliseconds) assert(lodestar.Health > lodestar.Definition.DamageDestroysAt) assert(lodestar.Jammed) assert(!lodestar.Destroyed) @@ -1449,13 +1449,13 @@ class DamageableVehicleDestroyMountedTest extends ActorTest { lodestar.Actor ! Vitality.Damage(applyDamageToB) val msg_avatar = avatarProbe.receiveN(5, 500 milliseconds) - avatarProbe.expectNoMsg(10 milliseconds) + avatarProbe.expectNoMessage(10 milliseconds) val msg_player2 = player2Probe.receiveOne(200 milliseconds) - player2Probe.expectNoMsg(10 milliseconds) + player2Probe.expectNoMessage(10 milliseconds) val msg_player3 = player3Probe.receiveOne(200 milliseconds) - player3Probe.expectNoMsg(10 milliseconds) + player3Probe.expectNoMessage(10 milliseconds) val msg_vehicle = vehicleProbe.receiveN(2, 200 milliseconds) - vehicleProbe.expectNoMsg(10 milliseconds) + vehicleProbe.expectNoMessage(10 milliseconds) assert( msg_avatar.exists( { case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(4), 0, _)) => true diff --git a/common/src/test/scala/objects/DeployableTest.scala b/common/src/test/scala/objects/DeployableTest.scala index d710d7334..a60456c1b 100644 --- a/common/src/test/scala/objects/DeployableTest.scala +++ b/common/src/test/scala/objects/DeployableTest.scala @@ -342,7 +342,7 @@ class ExplosiveDeployableJammerTest extends ActorTest { j_mine.Actor ! Vitality.Damage(applyDamageToJ) val msg_local = localProbe.receiveN(4, 200 milliseconds) val msg_avatar = avatarProbe.receiveOne(200 milliseconds) - activityProbe.expectNoMsg(200 milliseconds) + activityProbe.expectNoMessage(200 milliseconds) assert( msg_local.head match { case LocalServiceMessage("TestCharacter2", LocalAction.AlertDestroyDeployable(PlanetSideGUID(0), target)) => target eq j_mine @@ -532,7 +532,7 @@ class ExplosiveDeployableDestructionTest extends ActorTest { h_mine.Actor ! Vitality.Damage(applyDamageTo) val msg_local = localProbe.receiveN(5, 200 milliseconds) val msg_avatar = avatarProbe.receiveOne(200 milliseconds) - activityProbe.expectNoMsg(200 milliseconds) + activityProbe.expectNoMessage(200 milliseconds) assert( msg_local.head match { case LocalServiceMessage("TestCharacter2", LocalAction.AlertDestroyDeployable(PlanetSideGUID(0), target)) => target eq h_mine @@ -595,7 +595,7 @@ class TurretControlInitializeTest extends ActorTest { assert(obj.Actor == ActorRef.noSender) val init = system.actorOf(Props(classOf[DeployableTest.TurretInitializer], obj), "init_turret_test") init ! "initialize" - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(obj.Actor != ActorRef.noSender) } } @@ -608,11 +608,11 @@ class TurretControlUninitializeTest extends ActorTest { val init = system.actorOf(Props(classOf[DeployableTest.TurretInitializer], obj), "init_turret_test") obj.GUID = PlanetSideGUID(1) init ! "initialize" - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(obj.Actor != ActorRef.noSender) init ! "uninitialize" - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(obj.Actor == ActorRef.noSender) } } diff --git a/common/src/test/scala/objects/GeneratorTest.scala b/common/src/test/scala/objects/GeneratorTest.scala index aadae78c7..2f3cceaad 100644 --- a/common/src/test/scala/objects/GeneratorTest.scala +++ b/common/src/test/scala/objects/GeneratorTest.scala @@ -85,7 +85,7 @@ class GeneratorControlDamageTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -96,7 +96,7 @@ class GeneratorControlDamageTest extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar = avatarProbe.receiveN(2, 500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) assert( msg_avatar.head match { case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true @@ -158,7 +158,7 @@ class GeneratorControlCriticalTest extends ActorTest { ) val applyDamageTo = resolved.damage_model.Calculate(resolved) val halfHealth = gen.Definition.MaxHealth / 2 - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -238,7 +238,7 @@ class GeneratorControlDestroyedTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -250,7 +250,7 @@ class GeneratorControlDestroyedTest extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar1 = avatarProbe.receiveOne(500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) assert( msg_avatar1 match { case AvatarServiceMessage("TestCharacter1", AvatarAction.GenericObjectAction(_, PlanetSideGUID(1), 16)) => true @@ -261,8 +261,8 @@ class GeneratorControlDestroyedTest extends ActorTest { assert(!gen.Destroyed) assert(gen.Condition == PlanetSideGeneratorState.Normal) - avatarProbe.expectNoMsg(9 seconds) - buildingProbe.expectNoMsg(50 milliseconds) //no prior messages + avatarProbe.expectNoMessage(9 seconds) + buildingProbe.expectNoMessage(50 milliseconds) //no prior messages val msg_avatar2 = avatarProbe.receiveN(3, 1000 milliseconds) //see DamageableEntity test file val msg_building = buildingProbe.receiveOne(200 milliseconds) assert( @@ -356,7 +356,7 @@ class GeneratorControlKillsTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -368,9 +368,9 @@ class GeneratorControlKillsTest extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar1 = avatarProbe.receiveN(2, 500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) - player2Probe.expectNoMsg(200 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) + player2Probe.expectNoMessage(200 milliseconds) assert( msg_avatar1.head match { case AvatarServiceMessage("TestCharacter1", AvatarAction.GenericObjectAction(_, PlanetSideGUID(1), 16)) => true @@ -390,7 +390,7 @@ class GeneratorControlKillsTest extends ActorTest { val msg_building = buildingProbe.receiveOne(10500 milliseconds) val msg_avatar2 = avatarProbe.receiveN(3, 200 milliseconds) val msg_player1 = player1Probe.receiveOne(100 milliseconds) - player2Probe.expectNoMsg(200 milliseconds) + player2Probe.expectNoMessage(200 milliseconds) assert( msg_building match { case Building.AmenityStateChange(o) => o eq gen @@ -465,7 +465,7 @@ class GeneratorControlNotDestroyTwice extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -480,9 +480,9 @@ class GeneratorControlNotDestroyTwice extends ActorTest { assert(originalHealth > gen.Definition.DamageDestroysAt) gen.Actor ! Vitality.Damage(applyDamageTo) - avatarProbe.expectNoMsg(500 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) activityProbe.receiveOne(500 milliseconds) - buildingProbe.expectNoMsg(1000 milliseconds) + buildingProbe.expectNoMessage(1000 milliseconds) assert(gen.Health < originalHealth) assert(gen.Destroyed) assert(originalHealth < gen.Definition.DefaultHealth) @@ -494,9 +494,9 @@ class GeneratorControlNotDestroyTwice extends ActorTest { assert(gen.Health == 1) assert(gen.Destroyed) gen.Actor ! Vitality.Damage(applyDamageTo) - avatarProbe.expectNoMsg(500 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) activityProbe.receiveOne(500 milliseconds) //activity alert occurs because this was not a kill shot - buildingProbe.expectNoMsg(1000 milliseconds) + buildingProbe.expectNoMessage(1000 milliseconds) assert(gen.Health == 0) assert(gen.Destroyed) } @@ -546,7 +546,7 @@ class GeneratorControlNotDamageIfExplodingTest extends ActorTest { Vector3(1, 0, 0) ) val applyDamageTo = resolved.damage_model.Calculate(resolved) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -558,8 +558,8 @@ class GeneratorControlNotDamageIfExplodingTest extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar = avatarProbe.receiveOne(500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert( msg_avatar match { case AvatarServiceMessage("TestCharacter1", AvatarAction.GenericObjectAction(_, PlanetSideGUID(1), 16)) => true @@ -573,15 +573,15 @@ class GeneratorControlNotDamageIfExplodingTest extends ActorTest { //once gen.Actor ! Vitality.Damage(applyDamageTo) - avatarProbe.expectNoMsg(500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert(gen.Health == 1) //twice gen.Actor ! Vitality.Damage(applyDamageTo) - avatarProbe.expectNoMsg(500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert(gen.Health == 1) } } @@ -634,7 +634,7 @@ class GeneratorControlNotRepairIfExplodingTest extends ActorTest { val tool = Tool(GlobalDefinitions.nano_dispenser) //4 & 5 guid.register(tool, 4) guid.register(tool.AmmoSlot.Box, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { @@ -646,8 +646,8 @@ class GeneratorControlNotRepairIfExplodingTest extends ActorTest { gen.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar1 = avatarProbe.receiveOne(500 milliseconds) - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert( msg_avatar1 match { case AvatarServiceMessage("TestCharacter1", AvatarAction.GenericObjectAction(_, PlanetSideGUID(1), 16)) => true @@ -661,15 +661,15 @@ class GeneratorControlNotRepairIfExplodingTest extends ActorTest { //once gen.Actor ! CommonMessages.Use(player1, Some(tool)) //repair? - avatarProbe.expectNoMsg(1000 milliseconds) //no messages - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(1000 milliseconds) //no messages + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert(gen.Health == 1) //twice gen.Actor ! CommonMessages.Use(player1, Some(tool)) //repair? - avatarProbe.expectNoMsg(1000 milliseconds) //no messages - buildingProbe.expectNoMsg(200 milliseconds) - player1Probe.expectNoMsg(200 milliseconds) + avatarProbe.expectNoMessage(1000 milliseconds) //no messages + buildingProbe.expectNoMessage(200 milliseconds) + player1Probe.expectNoMessage(200 milliseconds) assert(gen.Health == 1) } } @@ -711,7 +711,7 @@ class GeneratorControlRepairPastRestorePoint extends ActorTest { guid.register(player1, 3) guid.register(tool, 4) guid.register(tool.AmmoSlot.Box, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "GeneratorControl" should { diff --git a/common/src/test/scala/objects/PlayerControlTest.scala b/common/src/test/scala/objects/PlayerControlTest.scala index 2fa7419ac..7a2a46671 100644 --- a/common/src/test/scala/objects/PlayerControlTest.scala +++ b/common/src/test/scala/objects/PlayerControlTest.scala @@ -83,7 +83,7 @@ class PlayerControlHealTest extends ActorTest { player1.Position = Vector3(10,0,0) //moved more than 5m away player2.Actor ! CommonMessages.Use(player1, Some(tool)) - avatarProbe.expectNoMsg(500 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) assert(raisedHealth == player2.Health) } } @@ -224,7 +224,7 @@ class PlayerControlRepairTest extends ActorTest { val fixedArmor = player2.Armor player1.Position = Vector3(10,0,0) //moved more than 5m away player2.Actor ! CommonMessages.Use(player1, Some(tool)) - avatarProbe.expectNoMsg(500 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) assert(fixedArmor == player2.Armor) } } @@ -329,7 +329,7 @@ class PlayerControlDamageTest extends ActorTest { guid.register(player2, 2) guid.register(tool, 3) guid.register(tool.AmmoSlot.Box, 4) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "PlayerControl" should { "handle damage" in { assert(player2.Health == player2.Definition.DefaultHealth) @@ -406,7 +406,7 @@ class PlayerControlDeathStandingTest extends ActorTest { guid.register(player2, 2) guid.register(tool, 3) guid.register(tool.AmmoSlot.Box, 4) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "PlayerControl" should { "handle death" in { @@ -421,7 +421,7 @@ class PlayerControlDeathStandingTest extends ActorTest { player2.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar = avatarProbe.receiveN(8, 500 milliseconds) - activityProbe.expectNoMsg(200 milliseconds) + activityProbe.expectNoMessage(200 milliseconds) assert( msg_avatar.head match { case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 4, _)) => true @@ -518,7 +518,7 @@ class PlayerControlDeathSeatedTest extends ActorTest { guid.register(tool, 3) guid.register(tool.AmmoSlot.Box, 4) guid.register(vehicle, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "PlayerControl" should { "handle death when seated (in something)" in { @@ -531,7 +531,7 @@ class PlayerControlDeathSeatedTest extends ActorTest { player2.Actor ! Vitality.Damage(applyDamageTo) val msg_avatar = avatarProbe.receiveN(9, 500 milliseconds) - activityProbe.expectNoMsg(200 milliseconds) + activityProbe.expectNoMessage(200 milliseconds) assert( msg_avatar.head match { case AvatarServiceMessage("TestCharacter2", AvatarAction.Killed(PlanetSideGUID(2))) => true diff --git a/common/src/test/scala/objects/RepairableTest.scala b/common/src/test/scala/objects/RepairableTest.scala index f154b02db..9d72fd332 100644 --- a/common/src/test/scala/objects/RepairableTest.scala +++ b/common/src/test/scala/objects/RepairableTest.scala @@ -53,7 +53,7 @@ class RepairableEntityRepairTest extends ActorTest { val tool = Tool(GlobalDefinitions.nano_dispenser) //4 & 5 guid.register(tool, 4) guid.register(tool.AmmoSlot.Box, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "RepairableEntity" should { @@ -115,14 +115,14 @@ class RepairableEntityNotRepairTest extends ActorTest { val tool = Tool(GlobalDefinitions.nano_dispenser) //4 & 5 guid.register(tool, 4) guid.register(tool.AmmoSlot.Box, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "RepairableEntity" should { "not repair if health is already full" in { assert(gen.Health == gen.Definition.DefaultHealth) //ideal gen.Actor ! CommonMessages.Use(player1, Some(tool)) //repair? - avatarProbe.expectNoMsg(1000 milliseconds) //no messages + avatarProbe.expectNoMessage(1000 milliseconds) //no messages } } } @@ -155,7 +155,7 @@ class RepairableAmenityTest extends ActorTest { val tool = Tool(GlobalDefinitions.nano_dispenser) //4 & 5 guid.register(tool, 4) guid.register(tool.AmmoSlot.Box, 5) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) //we're not testing that the math is correct "RepairableAmenity" should { @@ -390,7 +390,7 @@ class RepairableVehicleRestoration extends ActorTest { assert(atv.Destroyed) atv.Actor ! CommonMessages.Use(player1, Some(tool)) - avatarProbe.expectNoMsg(500 milliseconds) + avatarProbe.expectNoMessage(500 milliseconds) assert(atv.Health == 0) //set to zero explicitly assert(atv.Destroyed) } diff --git a/common/src/test/scala/objects/ResourceSiloTest.scala b/common/src/test/scala/objects/ResourceSiloTest.scala index 4f6445e8a..a72d989ad 100644 --- a/common/src/test/scala/objects/ResourceSiloTest.scala +++ b/common/src/test/scala/objects/ResourceSiloTest.scala @@ -69,9 +69,9 @@ class ResourceSiloControlStartupTest extends ActorTest { "Resource silo" should { "startup properly" in { - expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) system.actorOf(Props(classOf[ResourceSiloControl], obj), "test-silo") - expectNoMsg(1 seconds) + expectNoMessage(1 seconds) } } } @@ -99,16 +99,16 @@ class ResourceSiloControlUseTest extends ActorTest { guid.register(obj, 2) guid.register(player, 3) guid.register(vehicle, 4) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Transport ! Zone.Vehicle.Spawn(vehicle) vehicle.Seats(0).Occupant = player player.VehicleSeated = vehicle.GUID val msg = UseItemMessage(PlanetSideGUID(1), PlanetSideGUID(0), PlanetSideGUID(2), 0L, false, Vector3.Zero,Vector3.Zero,0,0,0,0L) //faked - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "Resource silo" should { "respond when being used" in { - expectNoMsg(1 seconds) + expectNoMessage(1 seconds) obj.Actor ! ResourceSilo.Use(ResourceSiloTest.player, msg) val reply = receiveOne(500 milliseconds) @@ -299,9 +299,9 @@ class ResourceSiloControlNoUpdateTest extends ActorTest { assert(!obj.LowNtuWarningOn) obj.Actor ! ResourceSilo.UpdateChargeLevel(50) - expectNoMsg(500 milliseconds) - zoneEvents.expectNoMsg(500 milliseconds) - buildingEvents.expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) + zoneEvents.expectNoMessage(500 milliseconds) + buildingEvents.expectNoMessage(500 milliseconds) assert(obj.ChargeLevel == 299 || obj.ChargeLevel == 300) // Just in case the capacitor level drops while waiting for the message check 299 & 300 assert(obj.CapacitorDisplay == 3) assert(!obj.LowNtuWarningOn) diff --git a/common/src/test/scala/objects/VehicleTest.scala b/common/src/test/scala/objects/VehicleTest.scala index d06a0762f..07a1c0faf 100644 --- a/common/src/test/scala/objects/VehicleTest.scala +++ b/common/src/test/scala/objects/VehicleTest.scala @@ -330,7 +330,7 @@ class VehicleControlPrepareForDeletionTest extends ActorTest { } vehicle.GUID = PlanetSideGUID(1) - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "VehicleControl" should { "submit for unregistering when marked for deconstruction" in { @@ -369,7 +369,7 @@ class VehicleControlPrepareForDeletionPassengerTest extends ActorTest { player1.GUID = PlanetSideGUID(2) vehicle.Seats(1).Occupant = player1 //passenger seat player1.VehicleSeated = vehicle.GUID - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "VehicleControl" should { "kick all players when marked for deconstruction" in { @@ -431,7 +431,7 @@ class VehicleControlPrepareForDeletionMountedInTest extends FreedContextActorTes val vehicleProbe = new TestProbe(system) zone.VehicleEvents = vehicleProbe.ref zone.Transport ! Zone.Vehicle.Spawn(lodestar) //can not fake this - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "VehicleControl" should { "if mounted as cargo, self-eject when marked for deconstruction" in { @@ -534,7 +534,7 @@ class VehicleControlPrepareForDeletionMountedCargoTest extends FreedContextActor val vehicleProbe = new TestProbe(system) zone.VehicleEvents = vehicleProbe.ref zone.Transport ! Zone.Vehicle.Spawn(lodestar) //can not fake this - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "VehicleControl" should { "if with mounted cargo, eject it when marked for deconstruction" in { @@ -865,7 +865,7 @@ class VehicleControlShieldsNotChargingVehicleDeadTest extends ActorTest { assert(!vehicle.History.exists({p => p.isInstanceOf[VehicleShieldCharge]})) vehicle.Actor.tell(Vehicle.ChargeShields(15), probe.ref) - probe.expectNoMsg(1 seconds) + probe.expectNoMessage(1 seconds) assert(vehicle.Shields == 0) assert(!vehicle.History.exists({p => p.isInstanceOf[VehicleShieldCharge]})) } @@ -887,7 +887,7 @@ class VehicleControlShieldsNotChargingVehicleShieldsFullTest extends ActorTest { assert(!vehicle.History.exists({p => p.isInstanceOf[VehicleShieldCharge]})) vehicle.Actor ! Vehicle.ChargeShields(15) - probe.expectNoMsg(1 seconds) + probe.expectNoMessage(1 seconds) assert(!vehicle.History.exists({p => p.isInstanceOf[VehicleShieldCharge]})) } } @@ -914,7 +914,7 @@ class VehicleControlShieldsNotChargingTooEarlyTest extends ActorTest { assert(vehicle.Shields == 15) vehicle.Actor ! Vehicle.ChargeShields(15) - probe.expectNoMsg(200 milliseconds) + probe.expectNoMessage(200 milliseconds) assert(vehicle.Shields == 15) } } @@ -944,7 +944,7 @@ class VehicleControlShieldsNotChargingTooEarlyTest extends ActorTest { // assert(vehicle.Shields == 0) // vehicle.Actor.tell(Vehicle.ChargeShields(15), probe.ref) // -// probe.expectNoMsg(200 milliseconds) +// probe.expectNoMessage(200 milliseconds) // assert(vehicle.Shields == 0) // } //} diff --git a/common/src/test/scala/objects/ZoneTest.scala b/common/src/test/scala/objects/ZoneTest.scala index 3bea483bf..1b814178b 100644 --- a/common/src/test/scala/objects/ZoneTest.scala +++ b/common/src/test/scala/objects/ZoneTest.scala @@ -123,7 +123,7 @@ class ZoneActorTest extends ActorTest { "have an Actor" in { val zone = new Zone("test", new ZoneMap("map6"), 1) { override def SetupNumberPools() = { } } zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-actor") - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Actor != ActorRef.noSender) } @@ -152,7 +152,7 @@ class ZoneActorTest extends ActorTest { zone.GUID(new NumberPoolHub(new LimitedNumberSource(40150))) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-add-pool-actor-init") zone.Actor ! Zone.Init() - expectNoMsg(Duration.create(500, "ms")) + expectNoMessage(Duration.create(500, "ms")) assert( !zone.AddPool("test1", 1 to 2) ) } @@ -164,7 +164,7 @@ class ZoneActorTest extends ActorTest { zone.AddPool("test", 1 to 2) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-remove-pool-actor-init") zone.Actor ! Zone.Init() - expectNoMsg(Duration.create(300, "ms")) + expectNoMessage(Duration.create(300, "ms")) assert( !zone.RemovePool("test") ) } @@ -194,7 +194,7 @@ class ZoneActorTest extends ActorTest { val zone = new Zone("test", map6, 1) { override def SetupNumberPools() = { } } zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-init") zone.Actor ! Zone.Init() - expectNoMsg(Duration.create(1, "seconds")) + expectNoMessage(Duration.create(1, "seconds")) val groups = zone.SpawnGroups() assert(groups.size == 2) @@ -232,7 +232,7 @@ class ZoneActorTest extends ActorTest { val zone = new Zone("test", map6, 1) { override def SetupNumberPools() = { } } zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-spawn") zone.Actor ! Zone.Init() - expectNoMsg(Duration.create(1, "seconds")) + expectNoMessage(Duration.create(1, "seconds")) val player = Player(Avatar("Chord", PlanetSideEmpire.NEUTRAL, CharacterGender.Male, 0, CharacterVoice.Voice5)) val bldg1 = zone.Building(1).get @@ -263,7 +263,7 @@ class ZoneActorTest extends ActorTest { val zone = new Zone("test", map6, 1) { override def SetupNumberPools() = { } } zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), "test-no-spawn") zone.Actor ! Zone.Init() - expectNoMsg(Duration.create(300, "ms")) + expectNoMessage(Duration.create(300, "ms")) val player = Player(Avatar("Chord", PlanetSideEmpire.NEUTRAL, CharacterGender.Male, 0, CharacterVoice.Voice5)) zone.Actor ! Zone.Lattice.RequestSpawnPoint(1, player, 7) @@ -282,12 +282,12 @@ class ZonePopulationTest extends ActorTest { val avatar = Avatar("Chord", PlanetSideEmpire.TR, CharacterGender.Male, 0, CharacterVoice.Voice5) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(zone.Players.isEmpty) assert(zone.LivePlayers.isEmpty) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) assert(zone.LivePlayers.isEmpty) @@ -300,12 +300,12 @@ class ZonePopulationTest extends ActorTest { zone.Actor ! Zone.Init() receiveOne(Duration.create(200, "ms")) //consume zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) zone.Population ! Zone.Population.Leave(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.isEmpty) } @@ -315,15 +315,15 @@ class ZonePopulationTest extends ActorTest { val player = Player(avatar) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) assert(zone.LivePlayers.isEmpty) zone.Population ! Zone.Population.Spawn(avatar, player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) assert(zone.LivePlayers.size == 1) @@ -336,18 +336,18 @@ class ZonePopulationTest extends ActorTest { val player = Player(avatar) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) zone.Population ! Zone.Population.Spawn(avatar, player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) assert(zone.LivePlayers.size == 1) assert(zone.LivePlayers.head == player) zone.Population ! Zone.Population.Release(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) assert(zone.LivePlayers.isEmpty) @@ -360,11 +360,11 @@ class ZonePopulationTest extends ActorTest { player.GUID = PlanetSideGUID(1) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) zone.Population ! Zone.Population.Spawn(avatar, player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) @@ -386,11 +386,11 @@ class ZonePopulationTest extends ActorTest { val player2 = Player(avatar) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) zone.Population ! Zone.Population.Spawn(avatar, player1) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) @@ -412,7 +412,7 @@ class ZonePopulationTest extends ActorTest { val player = Player(avatar) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(zone.Players.isEmpty) assert(zone.LivePlayers.isEmpty) @@ -430,9 +430,9 @@ class ZonePopulationTest extends ActorTest { val avatar = Avatar("Chord", PlanetSideEmpire.TR, CharacterGender.Male, 0, CharacterVoice.Voice5) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Population.Join(avatar) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Players.size == 1) assert(zone.Players.head == avatar) @@ -453,11 +453,11 @@ class ZonePopulationTest extends ActorTest { player.Release zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(zone.Corpses.isEmpty) zone.Population ! Zone.Corpse.Add(player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.size == 1) assert(zone.Corpses.head == player) } @@ -468,14 +468,14 @@ class ZonePopulationTest extends ActorTest { player.Release zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Corpse.Add(player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.size == 1) assert(zone.Corpses.head == player) zone.Population ! Zone.Corpse.Remove(player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.isEmpty) } @@ -489,18 +489,18 @@ class ZonePopulationTest extends ActorTest { player3.Release zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) zone.Population ! Zone.Corpse.Add(player1) zone.Population ! Zone.Corpse.Add(player2) zone.Population ! Zone.Corpse.Add(player3) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.size == 3) assert(zone.Corpses.head == player1) assert(zone.Corpses(1) == player2) assert(zone.Corpses(2) == player3) zone.Population ! Zone.Corpse.Remove(player2) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.size == 2) assert(zone.Corpses.head == player1) assert(zone.Corpses(1) == player3) @@ -512,11 +512,11 @@ class ZonePopulationTest extends ActorTest { //player.Release !!important zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) assert(zone.Corpses.isEmpty) zone.Population ! Zone.Corpse.Add(player) - expectNoMsg(Duration.create(100, "ms")) + expectNoMessage(Duration.create(100, "ms")) assert(zone.Corpses.isEmpty) } } @@ -530,7 +530,7 @@ class ZoneGroundDropItemTest extends ActorTest { zone.GUID(hub) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "DropItem" should { "drop item on ground" in { @@ -556,7 +556,7 @@ class ZoneGroundCanNotDropItem1Test extends ActorTest { zone.GUID(hub) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "DropItem" should { "not drop an item that is not registered" in { @@ -582,7 +582,7 @@ class ZoneGroundCanNotDropItem2Test extends ActorTest { //zone.GUID(hub) //!important zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "DropItem" should { "not drop an item that is not registered to the zone" in { @@ -608,7 +608,7 @@ class ZoneGroundCanNotDropItem3Test extends ActorTest { zone.GUID(hub) //!important zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "DropItem" should { "not drop an item that has already been dropped" in { @@ -642,7 +642,7 @@ class ZoneGroundPickupItemTest extends ActorTest { zone.GUID(hub) zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "PickupItem" should { "pickup an item from ground" in { @@ -671,7 +671,7 @@ class ZoneGroundCanNotPickupItemTest extends ActorTest { zone.GUID(hub) //still registered to this zone zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "PickupItem" should { "not pickup an item if it can not be found" in { @@ -696,7 +696,7 @@ class ZoneGroundRemoveItemTest extends ActorTest { zone.GUID(hub) //still registered to this zone zone.Actor = system.actorOf(Props(classOf[ZoneActor], zone), ZoneTest.TestName) zone.Actor ! Zone.Init() - expectNoMsg(200 milliseconds) + expectNoMessage(200 milliseconds) "RemoveItem" should { "remove an item from the ground without callback (even if the item is not found)" in { @@ -707,11 +707,11 @@ class ZoneGroundRemoveItemTest extends ActorTest { assert(zone.EquipmentOnGround.contains(item)) //dropped zone.Ground ! Zone.Ground.RemoveItem(item.GUID) - expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) assert(!zone.EquipmentOnGround.contains(item)) zone.Ground ! Zone.Ground.RemoveItem(item.GUID) //repeat - expectNoMsg(500 milliseconds) + expectNoMessage(500 milliseconds) assert(!zone.EquipmentOnGround.contains(item)) } } diff --git a/common/src/test/scala/objects/number/UniqueNumberSystemTest.scala b/common/src/test/scala/objects/number/UniqueNumberSystemTest.scala index b8629890c..01b1706e6 100644 --- a/common/src/test/scala/objects/number/UniqueNumberSystemTest.scala +++ b/common/src/test/scala/objects/number/UniqueNumberSystemTest.scala @@ -288,7 +288,7 @@ class UniqueNumberSystemTest9 extends ActorTest() { guid.AddPool("pool3", (5001 to 6000).toList).Selector = new RandomSelector val uns = system.actorOf(Props(classOf[UniqueNumberSystem], guid, UniqueNumberSystemTest.AllocateNumberPoolActors(guid)), "uns") val excp = new Exception("EXCEPTION MESSAGE") - expectNoMsg(Duration.create(200, "ms")) + expectNoMessage(Duration.create(200, "ms")) //GiveNumber uns ! NumberPoolActor.GiveNumber(1001, Some("test")) //no task associated with id="test" @@ -319,7 +319,7 @@ class UniqueNumberSystemTestA extends ActorTest { val guid : NumberPoolHub = new NumberPoolHub(src) guid.AddPool("pool1", (0 until 10).toList).Selector = new RandomSelector val uns = system.actorOf(Props(classOf[UniqueNumberSystem], guid, UniqueNumberSystemTest.AllocateNumberPoolActors(guid)), "uns") - expectNoMsg(Duration.create(200, "ms")) + expectNoMessage(Duration.create(200, "ms")) assert(src.CountUsed == 0) (0 to 4).foreach(i => { assert(guid.register(new EntityTestClass(), i).isSuccess) }) diff --git a/common/src/test/scala/objects/terminal/ProximityTest.scala b/common/src/test/scala/objects/terminal/ProximityTest.scala index 91580fc38..b869dcc44 100644 --- a/common/src/test/scala/objects/terminal/ProximityTest.scala +++ b/common/src/test/scala/objects/terminal/ProximityTest.scala @@ -114,7 +114,7 @@ class ProximityTerminalControlStartTest extends ActorTest { avatar.GUID = PlanetSideGUID(1) terminal.GUID = PlanetSideGUID(2) terminal.Actor ! Service.Startup() - expectNoMsg(500 milliseconds) //spacer + expectNoMessage(500 milliseconds) //spacer val probe1 = new TestProbe(system, "local-events") val probe2 = new TestProbe(system, "target-callback") zone.LocalEvents = probe1.ref @@ -160,7 +160,7 @@ class ProximityTerminalControlTwoUsersTest extends ActorTest { avatar2.GUID = PlanetSideGUID(2) terminal.GUID = PlanetSideGUID(3) terminal.Actor ! Service.Startup() - expectNoMsg(500 milliseconds) //spacer + expectNoMessage(500 milliseconds) //spacer val probe1 = new TestProbe(system, "local-events") val probe2 = new TestProbe(system, "target-callback-1") val probe3 = new TestProbe(system, "target-callback-2") @@ -175,7 +175,7 @@ class ProximityTerminalControlTwoUsersTest extends ActorTest { probe2.expectMsgClass(1 second, classOf[ProximityUnit.Action]) terminal.Actor.tell(CommonMessages.Use(avatar2, Some(avatar2)), probe3.ref) - probe1.expectNoMsg(1 second) + probe1.expectNoMessage(1 second) probe2.expectMsgClass(1 second, classOf[ProximityUnit.Action]) probe3.expectMsgClass(1 second, classOf[ProximityUnit.Action]) assert(terminal.NumberUsers == 2) @@ -206,7 +206,7 @@ class ProximityTerminalControlStopTest extends ActorTest { avatar.GUID = PlanetSideGUID(1) terminal.GUID = PlanetSideGUID(2) terminal.Actor ! Service.Startup() - expectNoMsg(500 milliseconds) //spacer + expectNoMessage(500 milliseconds) //spacer val probe1 = new TestProbe(system, "local-events") val probe2 = new TestProbe(system, "target-callback-1") zone.LocalEvents = probe1.ref @@ -255,7 +255,7 @@ class ProximityTerminalControlNotStopTest extends ActorTest { avatar2.GUID = PlanetSideGUID(2) terminal.GUID = PlanetSideGUID(3) terminal.Actor ! Service.Startup() - expectNoMsg(500 milliseconds) //spacer + expectNoMessage(500 milliseconds) //spacer val probe1 = new TestProbe(system, "local-events") val probe2 = new TestProbe(system, "target-callback-1") val probe3 = new TestProbe(system, "target-callback-2") @@ -270,11 +270,11 @@ class ProximityTerminalControlNotStopTest extends ActorTest { assert(terminal.NumberUsers == 1) terminal.Actor.tell(CommonMessages.Use(avatar2, Some(avatar2)), probe3.ref) - probe1.expectNoMsg(100 millisecond) + probe1.expectNoMessage(100 millisecond) assert(terminal.NumberUsers == 2) terminal.Actor ! CommonMessages.Unuse(avatar, Some(avatar)) - probe1.expectNoMsg(100 millisecond) + probe1.expectNoMessage(100 millisecond) assert(terminal.NumberUsers == 1) terminal.Actor ! CommonMessages.Unuse(avatar2, Some(avatar2)) diff --git a/common/src/test/scala/objects/terminal/TerminalControlTest.scala b/common/src/test/scala/objects/terminal/TerminalControlTest.scala index 008e90136..027438d3b 100644 --- a/common/src/test/scala/objects/terminal/TerminalControlTest.scala +++ b/common/src/test/scala/objects/terminal/TerminalControlTest.scala @@ -26,7 +26,7 @@ class TerminalControl2Test extends ActorTest { val (_, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.cert_terminal, PlanetSideEmpire.TR) terminal.Actor !"hello" - expectNoMsg(Duration.create(500, "ms")) + expectNoMessage(Duration.create(500, "ms")) } } diff --git a/common/src/test/scala/service/LocalServiceTest.scala b/common/src/test/scala/service/LocalServiceTest.scala index b74611be4..cd4dafadc 100644 --- a/common/src/test/scala/service/LocalServiceTest.scala +++ b/common/src/test/scala/service/LocalServiceTest.scala @@ -69,7 +69,7 @@ class LocalService5Test extends ActorTest { val service = system.actorOf(Props(classOf[LocalService], Zone.Nowhere), "l_service") service ! Service.Join("test") service ! "hello" - expectNoMsg() + expectNoMessage() } } } diff --git a/common/src/test/scala/service/RemoverActorTest.scala b/common/src/test/scala/service/RemoverActorTest.scala index b82290e18..d19e6579f 100644 --- a/common/src/test/scala/service/RemoverActorTest.scala +++ b/common/src/test/scala/service/RemoverActorTest.scala @@ -20,7 +20,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "handle a simple task" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val remover = system.actorOf( // Props(classOf[ActorTest.SupportActorInterface], Props[RemoverActorTest.TestRemover], self), // "test-remover" @@ -31,7 +31,7 @@ import scala.concurrent.duration._ // assert(reply1.isInstanceOf[RemoverActorTest.InclusionTestAlert]) // val reply2 = receiveOne(500 milliseconds) // assert(reply2.isInstanceOf[RemoverActorTest.InitialJobAlert]) -// expectNoMsg(1 seconds) //delay +// expectNoMessage(1 seconds) //delay // val reply3 = receiveOne(500 milliseconds) // assert(reply3.isInstanceOf[RemoverActorTest.FirstJobAlert]) // val reply4 = receiveOne(500 milliseconds) @@ -51,7 +51,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "handle a simple task (timed)" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val remover = system.actorOf( // Props(classOf[ActorTest.SupportActorInterface], Props[RemoverActorTest.TestRemover], self), // "test-remover" @@ -83,7 +83,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "allow only specific objects" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf( // Props(classOf[ActorTest.SupportActorInterface], Props[RemoverActorTest.TestRemover], self), @@ -93,7 +93,7 @@ import scala.concurrent.duration._ // // val reply1 = probe.receiveOne(200 milliseconds) // assert(reply1.isInstanceOf[RemoverActorTest.InclusionTestAlert]) -// expectNoMsg(2 seconds) +// expectNoMessage(2 seconds) // //RemoverActor is stalled because it received an object that it was not allowed to act upon // } // } @@ -105,7 +105,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "work on parallel tasks" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere) @@ -139,7 +139,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry certain tasks" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(10 minutes)) //TEN MINUTE WAIT @@ -148,7 +148,7 @@ import scala.concurrent.duration._ // assert(reply1.isInstanceOf[RemoverActorTest.InclusionTestAlert]) // val reply2 = probe.receiveOne(200 milliseconds) // assert(reply2.isInstanceOf[RemoverActorTest.InitialJobAlert]) -// probe.expectNoMsg(3 seconds) //long delay, longer than standard but not yet 10 minutes +// probe.expectNoMessage(3 seconds) //long delay, longer than standard but not yet 10 minutes // remover ! RemoverActor.HurrySpecific(List(RemoverActorTest.TestObject), Zone.Nowhere) //hurried // val reply3 = probe.receiveOne(300 milliseconds) // assert(reply3.isInstanceOf[RemoverActorTest.FirstJobAlert]) @@ -170,7 +170,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry certain tasks, but let others finish normally" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -185,7 +185,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 2 && ija == 2) -// probe.expectNoMsg(3 seconds) //long delay, longer than standard but not yet 5 seconds +// probe.expectNoMessage(3 seconds) //long delay, longer than standard but not yet 5 seconds // remover ! RemoverActor.HurrySpecific(List(RemoverActorTest.TestObject), Zone.Nowhere) //hurried // //first // val reply3a = probe.receiveOne(300 milliseconds) @@ -221,7 +221,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry certain tasks, but only valid ones" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -236,7 +236,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 2 && ija == 2) -// probe.expectNoMsg(3 seconds) //long delay, longer than standard but not yet 5 seconds +// probe.expectNoMessage(3 seconds) //long delay, longer than standard but not yet 5 seconds // remover ! RemoverActor.HurrySpecific(List(RemoverActorTest.TestObject, TestObject3), Zone.Nowhere) //multiple hurried, only one valid // //first // val reply3a = probe.receiveOne(300 milliseconds) @@ -273,7 +273,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry certain tasks by their zone" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -289,7 +289,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 3 && ija == 3) -// probe.expectNoMsg(3 seconds) //long delay, longer than standard but not yet 5 seconds +// probe.expectNoMessage(3 seconds) //long delay, longer than standard but not yet 5 seconds // remover ! RemoverActor.HurrySpecific(List(), Zone.Nowhere) //multiple hurried, only the two entries with Zone.Nowhere // // // val replies2 = probe.receiveN(10, 5 seconds) @@ -332,7 +332,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry all tasks to completion" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(20 seconds)) @@ -348,7 +348,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 3 && ija == 3) -// probe.expectNoMsg(3 seconds) //long delay, longer than standard but not yet longer than any of the tasks +// probe.expectNoMessage(3 seconds) //long delay, longer than standard but not yet longer than any of the tasks // remover ! RemoverActor.HurryAll() //all hurried // // // val replies2 = probe.receiveN(15, 5 seconds) @@ -378,7 +378,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to clear certain tasks" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -393,7 +393,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 2 && ija == 2) -// probe.expectNoMsg(4 seconds) //long delay, longer than standard but not yet 5 seconds +// probe.expectNoMessage(4 seconds) //long delay, longer than standard but not yet 5 seconds // remover ! RemoverActor.ClearSpecific(List(RemoverActorTest.TestObject), Zone.Nowhere) //cleared // // // val reply3 = probe.receiveOne(2 seconds) @@ -407,7 +407,7 @@ import scala.concurrent.duration._ // val reply7 = probe.receiveOne(500 milliseconds) // assert(reply7.isInstanceOf[RemoverActorTest.DeletionTaskRunAlert]) // //wait -// probe.expectNoMsg(2 seconds) //nothing more to do +// probe.expectNoMessage(2 seconds) //nothing more to do // } // } //} @@ -418,7 +418,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to clear all tasks, with no more work on them" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -433,10 +433,10 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 2 && ija == 2) -// probe.expectNoMsg(4 seconds) //long delay, longer than standard but not yet 5 seconds +// probe.expectNoMessage(4 seconds) //long delay, longer than standard but not yet 5 seconds // remover ! RemoverActor.ClearAll() //cleared // //wait -// probe.expectNoMsg(3 seconds) //nothing more to do +// probe.expectNoMessage(3 seconds) //nothing more to do // } // } //} @@ -447,7 +447,7 @@ import scala.concurrent.duration._ // // "RemoverActor" should { // "be able to hurry certain tasks" in { -// expectNoMsg(500 milliseconds) +// expectNoMessage(500 milliseconds) // val probe = TestProbe() // val remover = system.actorOf(Props(classOf[RemoverActorTest.TestRemover], probe), "test-remover") // remover ! RemoverActor.AddTask(RemoverActorTest.TestObject, Zone.Nowhere, Some(5 seconds)) @@ -462,7 +462,7 @@ import scala.concurrent.duration._ // case msg => assert(false, s"$msg") // } // assert(ita == 2 && ija == 2) -// probe.expectNoMsg(2 seconds) +// probe.expectNoMessage(2 seconds) // remover ! akka.actor.PoisonPill // // // val replies2 = probe.receiveN(8, 5 seconds) diff --git a/common/src/test/scala/service/RouterTelepadActivationTest.scala b/common/src/test/scala/service/RouterTelepadActivationTest.scala index fee824872..542c8fa01 100644 --- a/common/src/test/scala/service/RouterTelepadActivationTest.scala +++ b/common/src/test/scala/service/RouterTelepadActivationTest.scala @@ -165,7 +165,7 @@ class RouterTelepadActivationClearAllTest extends ActorTest { obj ! RouterTelepadActivation.AddTask(telepad2, Zone.Nowhere, Some(2 seconds)) obj ! RouterTelepadActivation.AddTask(telepad3, Zone.Nowhere, Some(2 seconds)) obj ! SupportActor.ClearAll() - expectNoMsg(4 seconds) + expectNoMessage(4 seconds) } } } diff --git a/common/src/test/scala/service/VehicleServiceTest.scala b/common/src/test/scala/service/VehicleServiceTest.scala index 90326ef78..9a5ffce71 100644 --- a/common/src/test/scala/service/VehicleServiceTest.scala +++ b/common/src/test/scala/service/VehicleServiceTest.scala @@ -66,7 +66,7 @@ class VehicleService5Test extends ActorTest { val service = system.actorOf(Props(classOf[VehicleService], Zone.Nowhere), "v-service") service ! Service.Join("test") service ! "hello" - expectNoMsg() + expectNoMessage() } } } diff --git a/project/plugins.sbt b/project/plugins.sbt index a15c66f7b..ea6a3c9af 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -2,6 +2,6 @@ logLevel := Level.Warn addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.12") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1") -addSbtPlugin("io.kamon" % "sbt-kanela-runner" % "2.0.6") +//addSbtPlugin("io.kamon" % "sbt-kanela-runner" % "2.0.6") // https://github.com/sbt/sbt-unidoc //addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.2") diff --git a/pslogin/src/main/scala/LoginSessionActor.scala b/pslogin/src/main/scala/LoginSessionActor.scala index 4d629268f..c279082f6 100644 --- a/pslogin/src/main/scala/LoginSessionActor.scala +++ b/pslogin/src/main/scala/LoginSessionActor.scala @@ -288,7 +288,7 @@ class LoginSessionActor extends Actor with MDCContextAware { case FinishAccountLogin(connection, username, newToken, isSuccessfulLogin, isInactive) => if(isSuccessfulLogin) { // Login OK loginSuccessfulResponse(username, newToken) - updateServerListTask = context.system.scheduler.schedule(0 seconds, 2 seconds, self, UpdateServerList()) + updateServerListTask = context.system.scheduler.scheduleWithFixedDelay(0 seconds, 2 seconds, self, UpdateServerList()) } else { if (!isInactive && connection.nonEmpty) { // Bad Password loginPwdFailureResponse(username, newToken) diff --git a/pslogin/src/main/scala/Maps.scala b/pslogin/src/main/scala/Maps.scala index 08e6f4b30..4de4e26a9 100644 --- a/pslogin/src/main/scala/Maps.scala +++ b/pslogin/src/main/scala/Maps.scala @@ -5,7 +5,7 @@ import net.psforever.objects.zones.ZoneMap import zonemaps._ import scala.concurrent.Future -import scala.util.Success +import scala.util.{Failure, Success} object Maps { import scala.concurrent.ExecutionContext.Implicits.global @@ -57,8 +57,8 @@ object Maps { def InitZoneMap(future : Future[ZoneMap]): Future[ZoneMap] = { future onComplete { case Success(x) => Projectiles(x) + case Failure(_) => throw new RuntimeException("Maps: failure when setting up map") //should not fail? } - future } } \ No newline at end of file diff --git a/pslogin/src/main/scala/PsLogin.scala b/pslogin/src/main/scala/PsLogin.scala index f68d45352..4a1630277 100644 --- a/pslogin/src/main/scala/PsLogin.scala +++ b/pslogin/src/main/scala/PsLogin.scala @@ -30,7 +30,7 @@ import scala.collection.JavaConverters._ import scala.concurrent.Await import scala.concurrent.duration._ -import kamon.Kamon +//import kamon.Kamon object PsLogin { private val logger = org.log4s.getLogger @@ -217,7 +217,7 @@ object PsLogin { case true => logger.info("Starting Kamon") - Kamon.init() + //Kamon.init() case _ => ; } diff --git a/pslogin/src/main/scala/SessionRouter.scala b/pslogin/src/main/scala/SessionRouter.scala index 23aa61057..8b7fc8052 100644 --- a/pslogin/src/main/scala/SessionRouter.scala +++ b/pslogin/src/main/scala/SessionRouter.scala @@ -42,7 +42,7 @@ class SessionRouter(role : String, pipeline : List[SessionPipeline]) extends Act private[this] val log = org.log4s.getLogger(self.path.name) import scala.concurrent.ExecutionContext.Implicits.global - val sessionReaper = context.system.scheduler.schedule(10 seconds, 5 seconds, self, SessionReaper()) + val sessionReaper = context.system.scheduler.scheduleWithFixedDelay(10 seconds, 5 seconds, self, SessionReaper()) val idBySocket = mutable.Map[InetSocketAddress, Long]() val sessionById = mutable.Map[Long, Session]() diff --git a/pslogin/src/main/scala/UdpNetworkSimulator.scala b/pslogin/src/main/scala/UdpNetworkSimulator.scala index 4c3773262..24ffe6e31 100644 --- a/pslogin/src/main/scala/UdpNetworkSimulator.scala +++ b/pslogin/src/main/scala/UdpNetworkSimulator.scala @@ -1,7 +1,6 @@ // Copyright (c) 2017 PSForever import akka.actor.{Actor, ActorRef} import akka.io._ -import akka.util.ByteString import scala.util.Random import scala.collection.mutable @@ -25,7 +24,7 @@ case class NetworkSimulatorParameters(packetLoss : Double, assert(packetReorderingTime >= 0) override def toString = "NetSimParams: loss %.2f%% / delay %dms / reorder %.2f%% / reorder +/- %dms".format( - packetLoss*100, packetDelay, packetReorderingChance*100, packetReorderingTime); + packetLoss*100, packetDelay, packetReorderingChance*100, packetReorderingTime) } @@ -34,10 +33,6 @@ class UdpNetworkSimulator(server : ActorRef, params : NetworkSimulatorParameters import scala.concurrent.ExecutionContext.Implicits.global - //******* Internal messages - private final case class ProcessInputQueue() - private final case class ProcessOutputQueue() - //******* Variables val packetDelayDuration = (params.packetDelay/2).milliseconds @@ -53,7 +48,7 @@ class UdpNetworkSimulator(server : ActorRef, params : NetworkSimulatorParameters var interface = ActorRef.noSender def receive = { - case ProcessInputQueue() => + case UdpNetworkSimulator.ProcessInputQueue() => val time = System.nanoTime() var exit = false @@ -68,7 +63,7 @@ class UdpNetworkSimulator(server : ActorRef, params : NetworkSimulatorParameters exit = true } } - case ProcessOutputQueue() => + case UdpNetworkSimulator.ProcessOutputQueue() => val time = System.nanoTime() var exit = false @@ -132,6 +127,12 @@ class UdpNetworkSimulator(server : ActorRef, params : NetworkSimulatorParameters def schedule(duration : FiniteDuration, outbound : Boolean) = context.system.scheduler.scheduleOnce( packetDelayDuration, self, - if(outbound) ProcessOutputQueue() else ProcessInputQueue() + if(outbound) UdpNetworkSimulator.ProcessOutputQueue() else UdpNetworkSimulator.ProcessInputQueue() ) } + +object UdpNetworkSimulator { + //******* Internal messages + private final case class ProcessInputQueue() + private final case class ProcessOutputQueue() +} diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala index b8e3cef1c..7c235a8de 100644 --- a/pslogin/src/main/scala/WorldSessionActor.scala +++ b/pslogin/src/main/scala/WorldSessionActor.scala @@ -729,7 +729,7 @@ class WorldSessionActor extends Actor case scala.util.Success(connection) => val accountUserName : String = account.Username connection.sendPreparedStatement( - "SELECT id, name, faction_id, gender_id, head_id, voice_id, deleted, last_login FROM characters where account_id=? ORDER BY last_login", Array(account.AccountId) + "SELECT id, name, faction_id, gender_id, head_id, voice_id, deleted, last_login FROM characters where account_id=? ORDER BY last_login", Array(account.AccountId).toIndexedSeq ).onComplete { case scala.util.Success(result : QueryResult) => if(connection.isConnected) connection.disconnect @@ -1558,7 +1558,7 @@ class WorldSessionActor extends Actor Database.getConnection.connect.onComplete { case scala.util.Success(connection) => Database.query(connection.sendPreparedStatement( - "SELECT gm FROM accounts where id=?", Array(account.AccountId) + "SELECT gm FROM accounts where id=?", Array(account.AccountId).toIndexedSeq )).onComplete { case scala.util.Success(queryResult) => if(connection.isConnected) connection.disconnect @@ -1945,13 +1945,13 @@ class WorldSessionActor extends Actor targetBuildings = Nil case List(building) => //blocked by a single soi; find space just outside of this soi and confirm no new overlap - val radius = Vector3(0, building.Definition.SOIRadius + 5, 0) - whereToDroppod = building.Position.xy + Vector3.Rz(radius, math.abs(scala.util.Random.nextInt() % 360)) + val radius = Vector3(0, building.Definition.SOIRadius.toFloat + 5f, 0) + whereToDroppod = building.Position.xy + Vector3.Rz(radius, math.abs(scala.util.Random.nextInt() % 360).toFloat) case buildings => //probably blocked by a facility and its tower (maximum overlap potential is 2?); find space outside of largest soi val largestBuilding = buildings.maxBy(_.Definition.SOIRadius) - val radius = Vector3(0, largestBuilding.Definition.SOIRadius + 5, 0) - whereToDroppod = largestBuilding.Position.xy + Vector3.Rz(radius, math.abs(scala.util.Random.nextInt() % 360)) + val radius = Vector3(0, largestBuilding.Definition.SOIRadius.toFloat + 5f, 0) + whereToDroppod = largestBuilding.Position.xy + Vector3.Rz(radius, math.abs(scala.util.Random.nextInt() % 360).toFloat) targetBuildings = buildings } } @@ -2191,8 +2191,8 @@ class WorldSessionActor extends Actor val now = System.currentTimeMillis() val (location, time, distanceSq) : (Vector3, Long, Float) = if(spectating) { val r = new scala.util.Random - val r1 = 2 + r.nextInt(30) - val r2 = 2 + r.nextInt(4000) + val r1 = 2 + r.nextInt(30).toFloat + val r2 = 2 + r.nextInt(4000).toFloat (Vector3(r2, r2, r1), 0L, 0f) } else { @@ -3680,10 +3680,14 @@ class WorldSessionActor extends Actor inf.foreach { case (index, loadout : InfantryLoadout) => sendResponse(FavoritesMessage(LoadoutType.Infantry, guid, index, loadout.label, InfantryLoadout.DetermineSubtypeB(loadout.exosuit, loadout.subtype))) + case (_, data) => + log.warn(s"HandleSetCurrentAvatar: unknown loadout information $data in infantry list") } veh.foreach { case (index, loadout : VehicleLoadout) => sendResponse(FavoritesMessage(LoadoutType.Vehicle, guid, index - 10, loadout.label)) + case (_, data) => + log.warn(s"HandleSetCurrentAvatar: unknown loadout information $data in vehicle list") } sendResponse(SetChatFilterMessage(ChatChannel.Platoon, false, ChatChannel.values.toList)) //TODO will not always be "on" like this deadState = DeadState.Alive @@ -3798,6 +3802,8 @@ class WorldSessionActor extends Actor avatar.SquadLoadouts.Loadouts.foreach { case (index, loadout : SquadLoadout) => sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), index, SquadAction.ListSquadFavorite(loadout.task))) + case (_, data) => + log.warn(s"HandleSetCurrentAvatar: unknown loadout information $data in squad definition list") } //non-squad GUID-0 counts as the settings when not joined with a squad sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.AssociateWithSquad())) @@ -3921,7 +3927,7 @@ class WorldSessionActor extends Actor Thread.sleep(40) import scala.concurrent.ExecutionContext.Implicits.global clientKeepAlive.cancel - clientKeepAlive = context.system.scheduler.schedule(0 seconds, 500 milliseconds, self, PokeClient()) + clientKeepAlive = context.system.scheduler.scheduleWithFixedDelay(0 seconds, 500 milliseconds, self, PokeClient()) accountIntermediary ! RetrieveAccountData(token) case msg@MountVehicleCargoMsg(player_guid, cargo_guid, carrier_guid, unk4) => @@ -3994,7 +4000,7 @@ class WorldSessionActor extends Actor Database.getConnection.connect.onComplete { case scala.util.Success(connection) => Database.query(connection.sendPreparedStatement( - "UPDATE characters SET deleted = true where id=?", Array(charId) + "UPDATE characters SET deleted = true where id=?", Array(charId).toIndexedSeq )).onComplete { case scala.util.Success(_) => if(connection.isConnected) connection.disconnect @@ -4015,7 +4021,7 @@ class WorldSessionActor extends Actor Database.getConnection.connect.onComplete { case scala.util.Success(connection) => Database.query(connection.sendPreparedStatement( - "SELECT id, name, faction_id, gender_id, head_id, voice_id FROM characters where id=?", Array(charId) + "SELECT id, name, faction_id, gender_id, head_id, voice_id FROM characters where id=?", Array(charId).toIndexedSeq )).onComplete { case Success(queryResult) => if(connection.isConnected) connection.disconnect @@ -6292,7 +6298,7 @@ class WorldSessionActor extends Actor case msg @ AvatarFirstTimeEventMessage(avatar_guid, object_guid, unk1, event_name) => log.info(s"AvatarFirstTimeEvent: $event_name") - avatar.FirstTimeEvents += event_name + avatar.FirstTimeEvents = avatar.FirstTimeEvents :+ event_name case msg @ WarpgateRequest(continent_guid, building_guid, dest_building_guid, dest_continent_guid, unk1, unk2) => log.info(s"WarpgateRequest: $msg") @@ -10474,7 +10480,7 @@ class WorldSessionActor extends Actor Database.getConnection.connect.onComplete { case scala.util.Success(connection) => Database.query(connection.sendPreparedStatement( - "SELECT id, exosuit_id, name, items FROM loadouts where characters_id = ? AND loadout_number = ?", Array(charId, line) + "SELECT id, exosuit_id, name, items FROM loadouts where characters_id = ? AND loadout_number = ?", Array(charId, line).toIndexedSeq )).onComplete { case scala.util.Success(queryResult) => queryResult match { @@ -10554,7 +10560,7 @@ class WorldSessionActor extends Actor Database.getConnection.connect.onComplete { case scala.util.Success(connection) => connection.sendPreparedStatement( - "SELECT id, loadout_number, exosuit_id, name, items FROM loadouts where characters_id = ?", Array(owner.CharId) + "SELECT id, loadout_number, exosuit_id, name, items FROM loadouts where characters_id = ?", Array(owner.CharId).toIndexedSeq ).onComplete { case Success(queryResult) => if(connection.isConnected) connection.disconnect diff --git a/pslogin/src/main/scala/Zones.scala b/pslogin/src/main/scala/Zones.scala index c2ca21709..fd51684fb 100644 --- a/pslogin/src/main/scala/Zones.scala +++ b/pslogin/src/main/scala/Zones.scala @@ -432,9 +432,9 @@ object Zones { def StandardRemapping(scale : MapScale, longDivNum : Int, latDivNum : Int)(pos : Vector3) : Vector3 = { Vector3( //x - FindClosestDivision(pos.x, scale.width, longDivNum), + FindClosestDivision(pos.x, scale.width, longDivNum.toFloat), //y - FindClosestDivision(pos.y, scale.height, latDivNum), + FindClosestDivision(pos.y, scale.height, latDivNum.toFloat), //z is always zero - maps are flat 2D planes 0 ) diff --git a/pslogin/src/main/scala/csr/CSRWarp.scala b/pslogin/src/main/scala/csr/CSRWarp.scala index eb3048f89..a736475ac 100644 --- a/pslogin/src/main/scala/csr/CSRWarp.scala +++ b/pslogin/src/main/scala/csr/CSRWarp.scala @@ -64,7 +64,7 @@ object CSRWarp { CSRWarp.reply(traveler, CSRZoneImpl.listLocations(zone) + "; " + CSRZoneImpl.listWarpgates(zone)) return (false, Vector3.Zero) } - val dest : Option[Vector3] = if(coords.nonEmpty) Some(Vector3(coords(0), coords(1), coords(2))) + val dest : Option[Vector3] = if(coords.nonEmpty) Some(Vector3(coords(0).toFloat, coords(1).toFloat, coords(2).toFloat)) else CSRZoneImpl.getWarpLocation(zone, destId) //coords before destId if(dest.isEmpty) { CSRWarp.error(traveler, "Invalid location") diff --git a/pslogin/src/main/scala/csr/CSRZoneImpl.scala b/pslogin/src/main/scala/csr/CSRZoneImpl.scala index a509aefd6..cb7f4f3f9 100644 --- a/pslogin/src/main/scala/csr/CSRZoneImpl.scala +++ b/pslogin/src/main/scala/csr/CSRZoneImpl.scala @@ -229,7 +229,7 @@ object CSRZoneImpl { * Only the warpgate keys are searchable by the `/zone` command. */ def setup() : Unit = { - zones("z1").gates += ( + zones("z1").gates ++= Map( "gate1" -> Vector3(4150, 7341, 82), "gate2" -> Vector3(5698, 3404, 129), "gate3" -> Vector3(2650, 5363, 176), @@ -237,7 +237,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(3678, 2895, 108), "geowarp2" -> Vector3(5672, 4750, 70) ) - zones("z1").locations += ( + zones("z1").locations ++= Map( "amun" -> Vector3(4337, 2278, 68), "aton" -> Vector3(3772, 5463, 54), "bastet" -> Vector3(5412, 5588, 56), @@ -250,7 +250,7 @@ object CSRZoneImpl { "lake" -> Vector3(4317, 4008, 37), "monolith" -> Vector3(5551, 5047, 64) ) - zones("z2").gates += ( + zones("z2").gates ++= Map( "gate1" -> Vector3(1881, 4873, 19), "gate2" -> Vector3(4648, 4625, 28), "gate3" -> Vector3(3296, 2045, 21), @@ -258,7 +258,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(5199, 4869, 39), "geowarp2" -> Vector3(3911, 2407, 15) ) - zones("z2").locations += ( + zones("z2").locations ++= Map( "acan" -> Vector3(3534, 4015, 30), "bitol" -> Vector3(4525, 2632, 30), "chac" -> Vector3(4111, 5950, 39), @@ -272,7 +272,7 @@ object CSRZoneImpl { "zotz" -> Vector3(6677, 2342, 129), "monolith" -> Vector3(2938, 2485, 14) ) - zones("z3").gates += ( + zones("z3").gates ++= Map( "gate1" -> Vector3(2616, 6567, 58), "gate2" -> Vector3(6980, 5336, 57), "gate3" -> Vector3(1199, 1332, 66), @@ -280,7 +280,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(2403, 4278, 60), "geowarp2" -> Vector3(4722, 2665, 78) ) - zones("z3").locations += ( + zones("z3").locations ++= Map( "aja" -> Vector3(754, 5435, 48), "chuku" -> Vector3(4208, 7021, 54), "bomazi" -> Vector3(1198, 4492, 58), @@ -301,7 +301,7 @@ object CSRZoneImpl { "monolith" -> Vector3(4515, 4105, 38), "peak" -> Vector3(3215, 5063, 579) ) - zones("z4").gates += ( + zones("z4").gates ++= Map( "gate1" -> Vector3(4702, 6768, 30), "gate2" -> Vector3(5515, 3368, 69), "gate3" -> Vector3(1564, 3356, 46), @@ -309,7 +309,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(4202, 4325, 68), "geowarp2" -> Vector3(2384, 1925, 37) ) - zones("z4").locations += ( + zones("z4").locations ++= Map( "akkan" -> Vector3(2746, 4260, 39), "baal" -> Vector3(825, 5470, 72), "dagon" -> Vector3(1739, 5681, 40), @@ -325,7 +325,7 @@ object CSRZoneImpl { "monolith" -> Vector3(5165, 4083, 35), "stonehenge" -> Vector3(4992, 3776, 56) ) - zones("z5").gates += ( + zones("z5").gates ++= Map( "gate1" -> Vector3(3432, 6498, 73), "gate2" -> Vector3(7196, 3917, 47), "gate3" -> Vector3(1533, 3540, 56), @@ -333,7 +333,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(4899, 5633, 38), "geowarp2" -> Vector3(5326, 2558, 54) ) - zones("z5").locations += ( + zones("z5").locations ++= Map( "anu" -> Vector3(3479, 2556, 56), "bel" -> Vector3(3665, 4626, 58), "caer" -> Vector3(4570, 2601, 56), @@ -348,7 +348,7 @@ object CSRZoneImpl { "islands1" -> Vector3(6680, 6217, 125), "islands2" -> Vector3(1059, 6213, 120) ) - zones("z6").gates += ( + zones("z6").gates ++= Map( "gate1" -> Vector3(5040, 4327, 46), "gate2" -> Vector3(2187, 5338, 30), "gate3" -> Vector3(4960, 1922, 15), @@ -356,7 +356,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(3221, 5328, 242), "geowarp2" -> Vector3(2237, 1783, 238) ) - zones("z6").locations += ( + zones("z6").locations ++= Map( "akna" -> Vector3(4509, 3732, 219), "anguta" -> Vector3(3999, 4170, 266), "igaluk" -> Vector3(3241, 5658, 235), @@ -369,7 +369,7 @@ object CSRZoneImpl { "monolith" -> Vector3(4011, 4851, 32), "bridge" -> Vector3(3729, 4859, 234) ) - zones("z7").gates += ( + zones("z7").gates ++= Map( "gate1" -> Vector3(1516, 6448, 61), "gate2" -> Vector3(5249, 3819, 69), "gate3" -> Vector3(2763, 2961, 86), @@ -377,7 +377,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(6345, 4802, 90), "geowarp2" -> Vector3(3800, 2197, 64) ) - zones("z7").locations += ( + zones("z7").locations ++= Map( "andvari" -> Vector3(3233, 7207, 78), "dagur" -> Vector3(4026, 6191, 60), "eisa" -> Vector3(3456, 4513, 75), @@ -393,7 +393,7 @@ object CSRZoneImpl { "ymir" -> Vector3(1911, 4008, 69), "monolith" -> Vector3(6390, 1622, 63) ) - zones("z8").gates += ( + zones("z8").gates ++= Map( "gate1" -> Vector3(5437, 5272, 32), "gate2" -> Vector3(3251, 5650, 60), "gate3" -> Vector3(5112, 2616, 40), @@ -401,7 +401,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(3979, 5370, 47), "geowarp2" -> Vector3(6018, 3136, 35) ) - zones("z8").locations += ( + zones("z8").locations ++= Map( "atar" -> Vector3(3609, 2730, 47), "dahaka" -> Vector3(4633, 5379, 54), "hvar" -> Vector3(3857, 4764, 49), @@ -415,14 +415,14 @@ object CSRZoneImpl { "arch2" -> Vector3(4688, 5272, 68), "pride" -> Vector3(2913, 4412, 63) ) - zones("z9").gates += ( + zones("z9").gates ++= Map( "gate1" -> Vector3(1505, 6981, 65), "gate2" -> Vector3(6835, 3517, 56), "gate3" -> Vector3(1393, 1376, 53), "geowarp1" -> Vector3(7081, 5552, 46), "geowarp2" -> Vector3(3776, 1092, 49) ) - zones("z9").locations += ( + zones("z9").locations ++= Map( "akua" -> Vector3(5258, 4041, 346), "drakulu" -> Vector3(3806, 2647, 151), "hiro" -> Vector3(4618, 5761, 190), @@ -439,7 +439,7 @@ object CSRZoneImpl { "wakea" -> Vector3(1785, 5241, 63), "monolith" -> Vector3(3246, 6507, 105) ) - zones("z10").gates += ( + zones("z10").gates ++= Map( "gate1" -> Vector3(6140, 6599, 71), "gate2" -> Vector3(4814, 4608, 59), "gate3" -> Vector3(3152, 3480, 54), @@ -447,7 +447,7 @@ object CSRZoneImpl { "geowarp1" -> Vector3(3612, 6918, 38), "geowarp2" -> Vector3(3668, 3327, 55) ) - zones("z10").locations += ( + zones("z10").locations ++= Map( "azeban" -> Vector3(6316, 5160, 62), "cetan" -> Vector3(3587, 2522, 48), "heyoka" -> Vector3(4395, 2327, 47), @@ -462,19 +462,19 @@ object CSRZoneImpl { "xelas" -> Vector3(6609, 4479, 56), "monolith" -> Vector3(5651, 6024, 38) ) - zones("home1").gates += ( + zones("home1").gates ++= Map( "gate1" -> Vector3(4158, 6344, 44), "gate2" -> Vector3(2214, 5797, 48), "gate3" -> Vector3(5032, 3241, 53) ) zones("home1").locations += "hart_c" -> Vector3(2352, 5523, 66) - zones("home2").gates += ( + zones("home2").gates ++= Map( "gate1" -> Vector3(5283, 4317, 44), "gate2" -> Vector3(3139, 4809, 40), "gate3" -> Vector3(3659, 2894, 26) ) zones("home2").locations += "hart_c" -> Vector3(3125, 2864, 35) - zones("home3").gates += ( + zones("home3").gates ++= Map( "gate1" -> Vector3(5657, 4681, 98), "gate2" -> Vector3(2639, 5366, 57), "gate3" -> Vector3(4079, 2467, 155) @@ -482,93 +482,93 @@ object CSRZoneImpl { zones("home3").locations += "hart_c" -> Vector3(3675, 2727, 91) zones("tzshtr").locations += "roof" -> Vector3(499, 1568, 25) zones("tzcotr").locations += "spawn" -> Vector3(960, 1002, 32) - zones("tzdrtr").locations += ( + zones("tzdrtr").locations ++= Map( "start" -> Vector3(2457, 1864, 23), "air_pad" -> Vector3(1700, 1900, 32) ) zones("tzshvs").locations += "roof" -> Vector3(499, 1568, 25) zones("tzcovs").locations += "spawn" -> Vector3(960, 1002, 32) - zones("tzdrvs").locations += ( + zones("tzdrvs").locations ++= Map( "start" -> Vector3(2457, 1864, 23), "air_pad" -> Vector3(1700, 1900, 32) ) zones("tzshnc").locations += "roof" -> Vector3(499, 1568, 25) zones("tzconc").locations += "spawn" -> Vector3(960, 1002, 32) - zones("tzdrnc").locations += ( + zones("tzdrnc").locations ++= Map( "start" -> Vector3(2457, 1864, 23), "air_pad" -> Vector3(1700, 1900, 32) ) - zones("c1").gates += ( + zones("c1").gates ++= Map( "geowarp1" -> Vector3(998, 2038, 103), "geowarp2" -> Vector3(231, 1026, 82), "geowarp3" -> Vector3(2071, 1405, 102), "geowarp4" -> Vector3(1051, 370, 103) ) - zones("c2").gates += ( + zones("c2").gates ++= Map( "geowarp1" -> Vector3(999, 2386, 243), "geowarp2" -> Vector3(283, 1249, 172), "geowarp3" -> Vector3(1887, 1307, 192), "geowarp4" -> Vector3(1039, 155, 143) ) - zones("c3").gates += ( + zones("c3").gates ++= Map( "geowarp1" -> Vector3(1095, 1725, 25), "geowarp2" -> Vector3(226, 832, 42), "geowarp3" -> Vector3(1832, 1026, 43), "geowarp4" -> Vector3(981, 320, 46) ) - zones("c4").gates += ( + zones("c4").gates ++= Map( "geowarp1" -> Vector3(902, 1811, 93), "geowarp2" -> Vector3(185, 922, 113), "geowarp3" -> Vector3(1696, 1188, 92), "geowarp4" -> Vector3(887, 227, 115) ) - zones("c5").gates += ( + zones("c5").gates ++= Map( "geowarp1" -> Vector3(1195, 1752, 244), "geowarp2" -> Vector3(290, 1104, 235), "geowarp3" -> Vector3(1803, 899, 243), "geowarp4" -> Vector3(1042, 225, 246) ) - zones("c6").gates += ( + zones("c6").gates ++= Map( "geowarp1" -> Vector3(1067, 2044, 95), "geowarp2" -> Vector3(290, 693, 73), "geowarp3" -> Vector3(1922, 928, 33), "geowarp4" -> Vector3(1174, 249, 114) ) - zones("i3").gates += ( + zones("i3").gates ++= Map( "gate1" -> Vector3(1219, 2580, 30), "gate2" -> Vector3(2889, 2919, 33), "gate3" -> Vector3(2886, 1235, 32) ) - zones("i3").locations += ( + zones("i3").locations ++= Map( "dahaka" -> Vector3(1421, 2216, 30), "jamshid" -> Vector3(2500, 2543, 30), "izha" -> Vector3(2569, 1544, 30), "oasis" -> Vector3(2084, 1935, 40) ) - zones("i2").gates += ( + zones("i2").gates ++= Map( "gate1" -> Vector3(1243, 1393, 12), "gate2" -> Vector3(2510, 2544, 12), "gate3" -> Vector3(2634, 1477, 12) ) - zones("i2").locations += ( + zones("i2").locations ++= Map( "rashnu" -> Vector3(1709, 1802, 91), "sraosha" -> Vector3(2729, 2349, 91), "zal" -> Vector3(1888, 2728, 91), "center" -> Vector3(2082, 2192, 160), "vpad" -> Vector3(1770, 2686, 92) ) - zones("i1").gates += ( + zones("i1").gates ++= Map( "gate1" -> Vector3(1225, 2036, 67), "gate2" -> Vector3(2548, 2801, 65), "gate3" -> Vector3(2481, 1194, 89) ) - zones("i1").locations += ( + zones("i1").locations ++= Map( "hvar" -> Vector3(1559, 1268, 88), "mithra" -> Vector3(2855, 2850, 89), "yazata" -> Vector3(1254, 2583, 88), "south_of_volcano" -> Vector3(2068, 1686, 88) ) - zones("i4").gates += ( + zones("i4").gates ++= Map( "gate1" -> Vector3(2359, 2717, 36), "gate2" -> Vector3(2732, 1355, 36), "geowarp" -> Vector3(1424, 1640, 45) diff --git a/pslogin/src/main/scala/psadmin/CmdInternal.scala b/pslogin/src/main/scala/psadmin/CmdInternal.scala index f58eb3234..af1f3d73d 100644 --- a/pslogin/src/main/scala/psadmin/CmdInternal.scala +++ b/pslogin/src/main/scala/psadmin/CmdInternal.scala @@ -12,7 +12,7 @@ object CmdInternal { } def cmdThreadDump(args : Array[String]) = { - import scala.collection.JavaConverters._ + import scala.jdk.CollectionConverters._ var data = Map[String,Any]() val traces = Thread.getAllStackTraces().asScala diff --git a/pslogin/src/test/scala/PacketCodingActorTest.scala b/pslogin/src/test/scala/PacketCodingActorTest.scala index 71b69b5d2..8d22d08d7 100644 --- a/pslogin/src/test/scala/PacketCodingActorTest.scala +++ b/pslogin/src/test/scala/PacketCodingActorTest.scala @@ -26,7 +26,7 @@ class PacketCodingActor2Test extends ActorTest { val pca : ActorRef = system.actorOf(Props[PacketCodingActor], "pca") within(200 millis) { pca ! HelloFriend(135, List.empty[ActorRef].iterator) - expectNoMsg + expectNoMessage } } } @@ -382,7 +382,7 @@ class PacketCodingActorETest extends ActorTest { val reply = probe1.receiveN(2, 400 milli) assert(reply.head == string_obj1) assert(reply(1) == string_obj2) - probe1.expectNoMsg(300 milli) + probe1.expectNoMessage(300 milli) } } } @@ -403,7 +403,7 @@ class PacketCodingActorFTest extends ActorTest { val reply = probe1.receiveN(1, 400 milli) assert(reply.head == string_obj) //the RelatedB message - 00 15 02 98 - is consumed by pca - probe1.expectNoMsg(300 milli) + probe1.expectNoMessage(300 milli) } } } @@ -424,7 +424,7 @@ class PacketCodingActorGTest extends ActorTest { val reply = probe1.receiveN(1, 400 milli) assert(reply.head == string_obj) //the RelatedA message - 00 11 02 98 - is consumed by pca; should see error log message in console - probe1.expectNoMsg(300 milli) + probe1.expectNoMessage(300 milli) } } } @@ -446,7 +446,7 @@ class PacketCodingActorHTest extends ActorTest { val reply = probe1.receiveN(2, 400 milli) assert(reply.head == string_obj1) assert(reply(1) == string_obj2) - probe1.expectNoMsg(300 milli) + probe1.expectNoMessage(300 milli) } } } diff --git a/pslogin/src/test/scala/actor/base/ActorTest.scala b/pslogin/src/test/scala/actor/base/ActorTest.scala index e38b83604..77c24bbb8 100644 --- a/pslogin/src/test/scala/actor/base/ActorTest.scala +++ b/pslogin/src/test/scala/actor/base/ActorTest.scala @@ -1,23 +1,23 @@ +// Copyright (c) 2017 PSForever package actor.base -// Copyright (c) 2017 PSForever - -import akka.actor.{ActorRef, ActorSystem, MDCContextAware} -import akka.testkit.{ImplicitSender, TestKit, TestProbe} +import akka.actor.ActorSystem +import akka.testkit.{ImplicitSender, TestKit} import com.typesafe.config.ConfigFactory -import net.psforever.packet.{ControlPacket, GamePacket} -import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike} +import org.scalatest.BeforeAndAfterAll +import org.scalatest.matchers.should.Matchers +import org.scalatest.wordspec.AnyWordSpecLike import org.specs2.specification.Scope abstract class ActorTest(sys : ActorSystem = ActorSystem("system", ConfigFactory.parseMap(ActorTest.LoggingConfig))) - extends TestKit(sys) with Scope with ImplicitSender with WordSpecLike with Matchers with BeforeAndAfterAll { - override def afterAll { + extends TestKit(sys) with Scope with ImplicitSender with AnyWordSpecLike with Matchers with BeforeAndAfterAll { + override def afterAll : Unit = { TestKit.shutdownActorSystem(system) } } object ActorTest { - import scala.collection.JavaConverters._ + import scala.jdk.CollectionConverters._ private val LoggingConfig = Map( "akka.loggers" -> List("akka.testkit.TestEventListener").asJava, "akka.loglevel" -> "OFF", diff --git a/pslogin/src/test/scala/actor/objects/VehicleSpawnPadTest.scala b/pslogin/src/test/scala/actor/objects/VehicleSpawnPadTest.scala index bf24f4d21..a0dea6775 100644 --- a/pslogin/src/test/scala/actor/objects/VehicleSpawnPadTest.scala +++ b/pslogin/src/test/scala/actor/objects/VehicleSpawnPadTest.scala @@ -115,7 +115,7 @@ class VehicleSpawnControl4Test extends ActorTest { case _ => false } ) - probe.expectNoMsg(5 seconds) + probe.expectNoMessage(5 seconds) } } } diff --git a/pslogin/src/test/scala/actor/service/AvatarServiceTest.scala b/pslogin/src/test/scala/actor/service/AvatarServiceTest.scala index 42f5ae6d4..afa314daf 100644 --- a/pslogin/src/test/scala/actor/service/AvatarServiceTest.scala +++ b/pslogin/src/test/scala/actor/service/AvatarServiceTest.scala @@ -67,7 +67,7 @@ class AvatarService5Test extends ActorTest { val service = system.actorOf(Props(classOf[AvatarService], Zone.Nowhere), AvatarServiceTest.TestName) service ! Service.Join("test") service ! "hello" - expectNoMsg() + expectNoMessage() } } } @@ -424,13 +424,13 @@ class AvatarReleaseTest extends ActorTest { "AvatarService" should { "pass Release" in { - expectNoMsg(100 milliseconds) //spacer + expectNoMessage(100 milliseconds) //spacer service ! Service.Join("test") taskResolver ! GUIDTask.RegisterObjectTask(obj)(zone.GUID) assert(zone.Corpses.isEmpty) zone.Population ! Zone.Corpse.Add(obj) - expectNoMsg(200 milliseconds) //spacer + expectNoMessage(200 milliseconds) //spacer assert(zone.Corpses.size == 1) assert(obj.HasGUID) @@ -453,7 +453,7 @@ class AvatarReleaseTest extends ActorTest { assert(reply2msg.replyMessage.isInstanceOf[AvatarResponse.ObjectDelete]) assert(reply2msg.replyMessage.asInstanceOf[AvatarResponse.ObjectDelete].item_guid == guid) - expectNoMsg(1 seconds) + expectNoMessage(1 seconds) assert(zone.Corpses.isEmpty) assert(!obj.HasGUID) } @@ -473,13 +473,13 @@ class AvatarReleaseEarly1Test extends ActorTest { "AvatarService" should { "pass Release" in { - expectNoMsg(100 milliseconds) //spacer + expectNoMessage(100 milliseconds) //spacer service ! Service.Join("test") taskResolver ! GUIDTask.RegisterObjectTask(obj)(zone.GUID) assert(zone.Corpses.isEmpty) zone.Population ! Zone.Corpse.Add(obj) - expectNoMsg(200 milliseconds) //spacer + expectNoMessage(200 milliseconds) //spacer assert(zone.Corpses.size == 1) assert(obj.HasGUID) @@ -503,7 +503,7 @@ class AvatarReleaseEarly1Test extends ActorTest { assert(reply2msg.replyMessage.isInstanceOf[AvatarResponse.ObjectDelete]) assert(reply2msg.replyMessage.asInstanceOf[AvatarResponse.ObjectDelete].item_guid == guid) - expectNoMsg(1 seconds) + expectNoMessage(1 seconds) assert(zone.Corpses.isEmpty) assert(!obj.HasGUID) } @@ -524,13 +524,13 @@ class AvatarReleaseEarly2Test extends ActorTest { "AvatarService" should { "pass Release" in { - expectNoMsg(100 milliseconds) //spacer + expectNoMessage(100 milliseconds) //spacer service ! Service.Join("test") taskResolver ! GUIDTask.RegisterObjectTask(obj)(zone.GUID) assert(zone.Corpses.isEmpty) zone.Population ! Zone.Corpse.Add(obj) - expectNoMsg(200 milliseconds) //spacer + expectNoMessage(200 milliseconds) //spacer assert(zone.Corpses.size == 1) assert(obj.HasGUID) @@ -554,7 +554,7 @@ class AvatarReleaseEarly2Test extends ActorTest { assert(reply2msg.replyMessage.isInstanceOf[AvatarResponse.ObjectDelete]) assert(reply2msg.replyMessage.asInstanceOf[AvatarResponse.ObjectDelete].item_guid == guid) - expectNoMsg(1 seconds) + expectNoMessage(1 seconds) assert(zone.Corpses.isEmpty) assert(!obj.HasGUID) } From 838493e4bb2201580c7c2d3ab0776b9a175c3a3e Mon Sep 17 00:00:00 2001 From: FateJH Date: Tue, 26 May 2020 19:52:14 -0400 Subject: [PATCH 2/3] turning kamon back on --- build.sbt | 4 ++-- project/plugins.sbt | 2 +- pslogin/src/main/scala/PsLogin.scala | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index e5e487517..4dd903cd4 100644 --- a/build.sbt +++ b/build.sbt @@ -45,8 +45,8 @@ lazy val commonSettings = Seq( "com.github.t3hnar" %% "scala-bcrypt" % "4.1", "org.ini4j" % "ini4j" % "0.5.4", "org.scala-graph" %% "graph-core" % "1.13.1", -// "io.kamon" %% "kamon-bundle" % "2.1.0", -// "io.kamon" %% "kamon-apm-reporter" % "2.1.0", + "io.kamon" %% "kamon-bundle" % "2.1.0", + "io.kamon" %% "kamon-apm-reporter" % "2.1.0", "org.json4s" %% "json4s-native" % "3.6.8", "com.typesafe.akka" %% "akka-stream" % "2.6.5", ), diff --git a/project/plugins.sbt b/project/plugins.sbt index ea6a3c9af..a15c66f7b 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -2,6 +2,6 @@ logLevel := Level.Warn addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.12") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1") -//addSbtPlugin("io.kamon" % "sbt-kanela-runner" % "2.0.6") +addSbtPlugin("io.kamon" % "sbt-kanela-runner" % "2.0.6") // https://github.com/sbt/sbt-unidoc //addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.2") diff --git a/pslogin/src/main/scala/PsLogin.scala b/pslogin/src/main/scala/PsLogin.scala index 4a1630277..f68d45352 100644 --- a/pslogin/src/main/scala/PsLogin.scala +++ b/pslogin/src/main/scala/PsLogin.scala @@ -30,7 +30,7 @@ import scala.collection.JavaConverters._ import scala.concurrent.Await import scala.concurrent.duration._ -//import kamon.Kamon +import kamon.Kamon object PsLogin { private val logger = org.log4s.getLogger @@ -217,7 +217,7 @@ object PsLogin { case true => logger.info("Starting Kamon") - //Kamon.init() + Kamon.init() case _ => ; } From e4d18c9c931af27cb04f0cfe204ede93eade8146 Mon Sep 17 00:00:00 2001 From: FateJH Date: Tue, 26 May 2020 20:25:03 -0400 Subject: [PATCH 3/3] commented out an unenforceable test --- pslogin/src/test/scala/ConfigTest.scala | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pslogin/src/test/scala/ConfigTest.scala b/pslogin/src/test/scala/ConfigTest.scala index 13ad1d8e6..c8df14cdd 100644 --- a/pslogin/src/test/scala/ConfigTest.scala +++ b/pslogin/src/test/scala/ConfigTest.scala @@ -20,20 +20,18 @@ class ConfigTest extends Specification { var lineno = 1 for (line <- Source.fromFile("config/worldserver.ini.dist").getLines) { val linee :String = line - val ctx = s"worldserver.ini.dist:${lineno}" + val ctx = s"worldserver.ini.dist:$lineno" val maxLen = 100 val lineLen = line.length - lineLen aka s"${ctx} - line length" must beLessThan(maxLen) - line.slice(0, 1) aka s"${ctx} - leading whitespace found" mustNotEqual " " - line.slice(line.length-1, line.length) aka s"${ctx} - trailing whitespace found" mustNotEqual " " + //lineLen aka s"${ctx} - line length" must beLessThan(maxLen) //TODO is this enforced or is it just hopeful? + line.slice(0, 1) aka s"$ctx - leading whitespace found" mustNotEqual " " + line.slice(line.length-1, line.length) aka s"$ctx - trailing whitespace found" mustNotEqual " " lineno += 1 } - ok } - } "TestConfig" should {