diff options
author | Paul Phillips <paulp@improving.org> | 2010-04-12 21:36:33 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-04-12 21:36:33 +0000 |
commit | 7015c96b21d4d5ae7f5bdd9f921bbf0aeef9856c (patch) | |
tree | 102023fb372eff8ae726320f7108fe2f3071f5f2 | |
parent | beee01e9ec6c650a7ebf17489f97896f6d3d119f (diff) | |
download | scala-7015c96b21d4d5ae7f5bdd9f921bbf0aeef9856c.tar.gz scala-7015c96b21d4d5ae7f5bdd9f921bbf0aeef9856c.tar.bz2 scala-7015c96b21d4d5ae7f5bdd9f921bbf0aeef9856c.zip |
Still working on partest.
temporary if considered clutter.
ant test.partest
ant test.partest-opt
They run some recently troublesome partest tests with a low timeout.
Logged some more exceptions where the compiler has been dying. Review by
phaller.
-rw-r--r-- | build.xml | 23 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/Compilable.scala | 3 | ||||
-rw-r--r-- | test/partest-tests/jvm/actor-receivewithin.check | 16 | ||||
-rw-r--r-- | test/partest-tests/jvm/actor-receivewithin.scala | 69 | ||||
-rw-r--r-- | test/partest-tests/run/crash.scala | 6 | ||||
-rw-r--r-- | test/partest-tests/run/streamWithFilter.check | 5 | ||||
-rw-r--r-- | test/partest-tests/run/streamWithFilter.scala | 11 | ||||
-rw-r--r-- | test/partest-tests/run/timeout.scala | 5 |
8 files changed, 138 insertions, 0 deletions
@@ -1520,6 +1520,29 @@ BOOTRAPING TEST AND TEST SUITE </syspropertyset> </partest> </target> + + <target name="test.partest-opt" depends="pack.done"> + <antcall target="test.partest"> + <param name="scalac.args.optimise" value="-optimise"/> + </antcall> + </target> + + <target name="test.partest" depends="pack.done"> + <partest classpathref="pack.classpath"> + <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" /> + <sysproperty key="partest.srcdir" value="partest-tests" /> + <sysproperty key="partest.scalacopts" value="${scalac.args.all}" /> + <sysproperty key="partest.javacopts" value="${javac.args}" /> + <sysproperty key="partest.verbose" value="true" /> + <sysproperty key="partest.trace" value="true" /> + <sysproperty key="partest.debug" value="true" /> + <sysproperty key="partest.test-timeout" value="25" /> + <sysproperty key="partest.scalacopts" value="${scalac.args.optimise}" /> + <syspropertyset> + <propertyref prefix="partest"/> + </syspropertyset> + </partest> + </target> <target name="test.done" depends="test.suite, test.continuations.suite, test.stability"/> diff --git a/src/partest/scala/tools/partest/Compilable.scala b/src/partest/scala/tools/partest/Compilable.scala index 6703d8a803..73dcdfce73 100644 --- a/src/partest/scala/tools/partest/Compilable.scala +++ b/src/partest/scala/tools/partest/Compilable.scala @@ -85,6 +85,9 @@ trait PartestCompilation { case FatalError(msg) => creporter.error(null, "fatal error: " + msg) case ae: AssertionError => creporter.error(null, ""+ae) case te: TypeError => creporter.error(null, ""+te) + case ex => + creporter.error(null, ""+ex) + throw ex } if (printSummary) diff --git a/test/partest-tests/jvm/actor-receivewithin.check b/test/partest-tests/jvm/actor-receivewithin.check new file mode 100644 index 0000000000..a6a3e88c61 --- /dev/null +++ b/test/partest-tests/jvm/actor-receivewithin.check @@ -0,0 +1,16 @@ +'msg +'msg +'msg +'msg +'msg +TIMEOUT +TIMEOUT +TIMEOUT +TIMEOUT +TIMEOUT +'msg2 +'msg2 +'msg2 +'msg2 +'msg2 +TIMEOUT diff --git a/test/partest-tests/jvm/actor-receivewithin.scala b/test/partest-tests/jvm/actor-receivewithin.scala new file mode 100644 index 0000000000..a5c87c2722 --- /dev/null +++ b/test/partest-tests/jvm/actor-receivewithin.scala @@ -0,0 +1,69 @@ +import scala.actors.{Actor, TIMEOUT} + +object A extends Actor { + def act() { + receive { + case 'done => + var cnt = 0 + while (cnt < 500) { + cnt += 1 + receiveWithin (0) { + case 'msg => + if (cnt % 100 == 0) + println("'msg") + case TIMEOUT => + // should not happen + println("FAIL1") + } + } + cnt = 0 + while (cnt < 500) { + cnt += 1 + receiveWithin (0) { + case 'msg => + // should not happen + println("FAIL2") + case TIMEOUT => + if (cnt % 100 == 0) + println("TIMEOUT") + } + } + B ! 'next + receive { case 'done => } + cnt = 0 + while (cnt < 501) { + cnt += 1 + receiveWithin (500) { + case 'msg2 => + if (cnt % 100 == 0) + println("'msg2") + case TIMEOUT => + println("TIMEOUT") + } + } + } + } +} + +object B extends Actor { + def act() { + A.start() + for (_ <- 1 to 500) { + A ! 'msg + } + A ! 'done + receive { + case 'next => + for (_ <- 1 to 500) { + A ! 'msg2 + } + A ! 'done + } + } +} + +object Test { + def main(args:Array[String]) { + B.start() + } +} diff --git a/test/partest-tests/run/crash.scala b/test/partest-tests/run/crash.scala new file mode 100644 index 0000000000..1735cc444e --- /dev/null +++ b/test/partest-tests/run/crash.scala @@ -0,0 +1,6 @@ +object Test { + def main(args: Array[String]): Unit = { + val t = new Throwable("DOOM") + throw t + } +} diff --git a/test/partest-tests/run/streamWithFilter.check b/test/partest-tests/run/streamWithFilter.check new file mode 100644 index 0000000000..6b0e91a147 --- /dev/null +++ b/test/partest-tests/run/streamWithFilter.check @@ -0,0 +1,5 @@ +15 +30 +45 +60 +75 diff --git a/test/partest-tests/run/streamWithFilter.scala b/test/partest-tests/run/streamWithFilter.scala new file mode 100644 index 0000000000..cb919d4f55 --- /dev/null +++ b/test/partest-tests/run/streamWithFilter.scala @@ -0,0 +1,11 @@ +object Test { + val nums = Stream.from(1) + def isFizz(x: Int) = x % 3 == 0 + def isBuzz(x: Int) = x % 5 == 0 + // next line will run forever if withFilter isn't doing its thing. + val fizzbuzzes = for (n <- nums ; if isFizz(n) ; if isBuzz(n)) yield n + + def main(args: Array[String]): Unit = { + fizzbuzzes take 5 foreach println + } +} diff --git a/test/partest-tests/run/timeout.scala b/test/partest-tests/run/timeout.scala new file mode 100644 index 0000000000..91417b39ab --- /dev/null +++ b/test/partest-tests/run/timeout.scala @@ -0,0 +1,5 @@ +object Test { + def main(args: Array[String]): Unit = { + Thread.sleep(10000000) + } +} |