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)
 
        }
 


Reply via email to