From dbe3a01e9c813fc70b1dd66fb64190728d4c57fd Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 23 Jan 2012 16:53:09 +0100 Subject: [PATCH] Fixing the 0MQ tests and removing boilerplate --- .../zeromq/ConcurrentSocketActorSpec.scala | 36 ++----------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/akka-zeromq/src/test/scala/akka/zeromq/ConcurrentSocketActorSpec.scala b/akka-zeromq/src/test/scala/akka/zeromq/ConcurrentSocketActorSpec.scala index 4b3c5b46b6..983a2951c1 100644 --- a/akka-zeromq/src/test/scala/akka/zeromq/ConcurrentSocketActorSpec.scala +++ b/akka-zeromq/src/test/scala/akka/zeromq/ConcurrentSocketActorSpec.scala @@ -5,16 +5,13 @@ package akka.zeromq import org.scalatest.matchers.MustMatchers import akka.testkit.{ TestProbe, DefaultTimeout, AkkaSpec } -import akka.util.Timeout import akka.util.duration._ -import java.net.{ SocketException, ConnectException, Socket } -import util.Random import akka.actor.{ Cancellable, Actor, Props, ActorRef } object ConcurrentSocketActorSpec { val config = """ akka { - extensions = ["akka.zeromq.ZeroMQExtension$"] + extensions = [] } """ } @@ -24,7 +21,7 @@ class ConcurrentSocketActorSpec with MustMatchers with DefaultTimeout { - val endpoint = "tcp://127.0.0.1:%s" format FreePort.randomFreePort() + val endpoint = "tcp://127.0.0.1:%s" format { val s = new java.net.ServerSocket(0); try s.getLocalPort finally s.close() } def zmq = system.extension(ZeroMQExtension) @@ -121,33 +118,4 @@ class ConcurrentSocketActorSpec actorRef ! ZMQMessage(payload.getBytes) } } - - object FreePort { - - def isPortFree(port: Int) = { - try { - val socket = new Socket("127.0.0.1", port) - socket.close() - false - } catch { - case e: ConnectException ⇒ true - case e: SocketException if e.getMessage == "Connection reset by peer" ⇒ true - } - } - - private def newPort = Random.nextInt(55365) + 10000 - - def randomFreePort(maxRetries: Int = 50) = { - var count = 0 - var freePort = newPort - while (!isPortFree(freePort)) { - freePort = newPort - count += 1 - if (count >= maxRetries) { - throw new RuntimeException("Couldn't determine a free port") - } - } - freePort - } - } }