Author: reto
Date: Wed Nov 17 19:57:57 2010
New Revision: 1036186
URL: http://svn.apache.org/viewvc?rev=1036186&view=rev
Log:
added concurrency tests for compiler, added output of time elapsed
Modified:
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/CompilerServiceTest.scala
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
Modified:
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/CompilerServiceTest.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/CompilerServiceTest.scala?rev=1036186&r1=1036185&r2=1036186&view=diff
==============================================================================
---
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/CompilerServiceTest.scala
(original)
+++
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/CompilerServiceTest.scala
Wed Nov 17 19:57:57 2010
@@ -96,6 +96,57 @@ class CompilerServiceTest {
Assert.assertEquals("Hello", method.invoke(null))
}
+ @Test
+ def testConcurrency : Unit = {
+ val startTime = System.currentTimeMillis
+ import scala.actors.Actor._
+ val actorsCount = 5
+ val iterationsCount = 9
+ val testRunner = self
+ for (i <- 1 to actorsCount) {
+ object ValueVerifier extends Actor {
+ def act() {
+ try {
+ for (i <- 1 to iterationsCount)
{
+ val objectName =
"C"+(for (i <-1 to 12) yield
((random*('z'-'a'+1))+'a').asInstanceOf[Char]).mkString
+ val message = "Hello
from "+objectName
+
+ val source = """
+object """+objectName+""" {
+ println("constructing TestClass Object");
+ val msg = """"+message+""""
+}"""
+
+ //println("compiling:
"+source)
+ val sources =
List(source.toCharArray)
+ val compiled =
service.compile(sources)
+ val clazz = compiled(0)
+ val className =
clazz.getName
+ testRunner !
(objectName, className)
+ val method =
clazz.getMethod("msg")
+ val receivedMessage =
method.invoke(null)
+ testRunner ! (message,
receivedMessage)
+ }
+ } catch {
+ case t => testRunner ! t
+ }
+ }
+ }
+ ValueVerifier.start()
+ }
+ for (i <- 1 to (actorsCount*iterationsCount*2)) {
+ self.receive {
+ case (expected, got) => {
+ Assert.assertEquals(expected,
got)
+ }
+ case t : Throwable => throw t
+ }
+ }
+ val duration = System.currentTimeMillis - startTime
+ println("running the tests took "+duration)
+
+ }
+
}
object CompilerServiceTest {
Modified:
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala?rev=1036186&r1=1036185&r2=1036186&view=diff
==============================================================================
---
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
(original)
+++
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
Wed Nov 17 19:57:57 2010
@@ -83,6 +83,7 @@ class ScriptEngineFactoryTest {
@Test
def testConcurrency : Unit = {
+ val startTime = System.currentTimeMillis
import scala.actors.Actor._
val actorsCount = 5
val iterationsCount = 9
@@ -117,6 +118,8 @@ s"""
case t : Throwable => throw t
}
}
+ val duration = System.currentTimeMillis - startTime
+ println("running the tests took "+duration)
}