diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-10 11:42:03 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-10 11:42:03 -0800 |
commit | 5abadf0aebee68c9ba6a168355d5817f8a99d7e9 (patch) | |
tree | 0179be77625efdac221fd31ee63479473092b5eb /src/partest | |
parent | 816bcdf382ea0469f6c5eadcff44901921ba6075 (diff) | |
parent | 942f078720cb05c9238913bae8e62900558c2c45 (diff) | |
download | scala-5abadf0aebee68c9ba6a168355d5817f8a99d7e9.tar.gz scala-5abadf0aebee68c9ba6a168355d5817f8a99d7e9.tar.bz2 scala-5abadf0aebee68c9ba6a168355d5817f8a99d7e9.zip |
Merge pull request #1849 from som-snytt/issue/6894-javap-app
Repl javap decodes various synthetic names for us (fixing SI-6894)
Diffstat (limited to 'src/partest')
-rw-r--r-- | src/partest/scala/tools/partest/JavapTest.scala | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/partest/scala/tools/partest/JavapTest.scala b/src/partest/scala/tools/partest/JavapTest.scala new file mode 100644 index 0000000000..3cb3dc6ca8 --- /dev/null +++ b/src/partest/scala/tools/partest/JavapTest.scala @@ -0,0 +1,26 @@ + +package scala.tools.partest + +import scala.util.{Try,Success,Failure} +import java.lang.System.{out => sysout} + +/** A trait for testing repl's javap command + * or possibly examining its output. + */ +abstract class JavapTest extends ReplTest { + + /** Your Assertion Here, whatever you want to bejahen. + * Assertions must be satisfied by all flavors of javap + * and should not be fragile with respect to compiler output. + */ + def yah(res: Seq[String]): Boolean + + def baddies = List(":javap unavailable", ":javap not yet working") + + // give it a pass if javap is broken + override def show() = try { + val res = eval().toSeq + val unsupported = res exists (s => baddies exists (s contains _)) + assert ((unsupported || yah(res)), res.mkString("","\n","\n")) + } catch { case ae: AssertionError => ae.printStackTrace(sysout) } +} |