diff options
author | Paul Phillips <paulp@improving.org> | 2012-11-23 20:10:28 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-11-23 20:12:42 -0800 |
commit | f0e9237834d00ea9e27937e44dc8b8382be32db6 (patch) | |
tree | 9807c35aa0bc818bf487a2c93bd577e37e1adce0 /src/partest | |
parent | 889ceade520ae5d2d1485edf2826696fa91a0e91 (diff) | |
parent | faa6cfcf404b4d172f20b3ed01ba3bd59427b700 (diff) | |
download | scala-f0e9237834d00ea9e27937e44dc8b8382be32db6.tar.gz scala-f0e9237834d00ea9e27937e44dc8b8382be32db6.tar.bz2 scala-f0e9237834d00ea9e27937e44dc8b8382be32db6.zip |
Merge branch 'merge-2.10.wip-x' into merge-2.10.x-master
* merge-2.10.wip-x: (24 commits)
SI-6023 reify abstract vals
Removing controversial `either` method from Futures API.
SI-6695 Test case for fixed Array match bug
adds comments to standard attachments
SI-6673 fixes macro problems with eta expansions
Restore the opimization apparently lost after merge.
SI-6624 set info of case pattern binder to help find case field accessors
Scaladoc update for collection.mutable.MultiMap
SI-6663: don't ignore type parameter on selectDynamic invocation
SI-6551: don't insert apply call in polymorphic expression.
SI-6634 Fixes data corruption issue in ListBuffer#remove
Fixes SI-6628, Revert "Fix for view isEmpty."
SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method
Fixes SI-6150 - backport to 2.10.x branch.
SI-5330, SI-6014 deal with existential self-type
Fixes SI-6559 - StringContext not using passed in escape function.
SI-6648 copyAttrs must preserve TypeTree#wasEmpty
Fix raw string interpolator: string parts which were after the first argument were still escaped
sane printing of renamed imports
SI-6440 Address regressions around MissingRequirementError
...
Conflicts:
src/library/scala/collection/generic/IndexedSeqFactory.scala
src/library/scala/collection/mutable/ListBuffer.scala
src/reflect/scala/reflect/internal/Symbols.scala
src/reflect/scala/reflect/internal/Types.scala
test/files/run/t6150.scala
Diffstat (limited to 'src/partest')
-rw-r--r-- | src/partest/scala/tools/partest/DirectTest.scala | 8 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/StoreReporterDirectTest.scala | 15 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/partest/scala/tools/partest/DirectTest.scala b/src/partest/scala/tools/partest/DirectTest.scala index 554e7848c7..8c18809ad6 100644 --- a/src/partest/scala/tools/partest/DirectTest.scala +++ b/src/partest/scala/tools/partest/DirectTest.scala @@ -8,6 +8,7 @@ package scala.tools.partest import scala.tools.nsc._ import io.Directory import util.{BatchSourceFile, CommandLineParser} +import reporters.{Reporter, ConsoleReporter} /** A class for testing code which is embedded as a string. * It allows for more complete control over settings, compiler @@ -38,9 +39,12 @@ abstract class DirectTest extends App { // new compiler def newCompiler(args: String*): Global = { val settings = newSettings((CommandLineParser tokenize ("-d \"" + testOutput.path + "\" " + extraSettings)) ++ args.toList) - if (settings.Yrangepos.value) new Global(settings) with interactive.RangePositions - else new Global(settings) + if (settings.Yrangepos.value) new Global(settings, reporter(settings)) with interactive.RangePositions + else new Global(settings, reporter(settings)) } + + def reporter(settings: Settings): Reporter = new ConsoleReporter(settings) + def newSources(sourceCodes: String*) = sourceCodes.toList.zipWithIndex map { case (src, idx) => new BatchSourceFile("newSource" + (idx + 1), src) } diff --git a/src/partest/scala/tools/partest/StoreReporterDirectTest.scala b/src/partest/scala/tools/partest/StoreReporterDirectTest.scala new file mode 100644 index 0000000000..7f3604c86c --- /dev/null +++ b/src/partest/scala/tools/partest/StoreReporterDirectTest.scala @@ -0,0 +1,15 @@ +package scala.tools.partest + +import scala.tools.nsc.Settings +import scala.tools.nsc.reporters.StoreReporter +import scala.collection.mutable + +trait StoreReporterDirectTest extends DirectTest { + lazy val storeReporter: StoreReporter = new scala.tools.nsc.reporters.StoreReporter() + + /** Discards all but the first message issued at a given position. */ + def filteredInfos: Seq[storeReporter.Info] = storeReporter.infos.groupBy(_.pos).map(_._2.head).toList + + /** Hook into [[scala.tools.partest.DirectTest]] to install the custom reporter */ + override def reporter(settings: Settings) = storeReporter +} |