diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-03-22 21:26:35 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-03-22 21:46:51 +0100 |
commit | f8950c1457955835f4411beb8dcb3672f7cd39bd (patch) | |
tree | ee7b309b133ca04b2acf0d53533641e939cee75b /test | |
parent | 6cb50acfb5ee4df342e83d8505116d4607f45d1c (diff) | |
download | scala-f8950c1457955835f4411beb8dcb3672f7cd39bd.tar.gz scala-f8950c1457955835f4411beb8dcb3672f7cd39bd.tar.bz2 scala-f8950c1457955835f4411beb8dcb3672f7cd39bd.zip |
Support :require when using the flat classpath representation.
:require was re-incarnated in https://github.com/scala/scala/pull/4051,
it seems to be used by the spark repl. This commit makes it work when
using the flat classpath representation.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t6502.scala | 45 | ||||
-rw-r--r-- | test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala | 6 |
2 files changed, 23 insertions, 28 deletions
diff --git a/test/files/run/t6502.scala b/test/files/run/t6502.scala index f4fc39a03d..dffb0e2f98 100644 --- a/test/files/run/t6502.scala +++ b/test/files/run/t6502.scala @@ -14,11 +14,11 @@ object Test extends StoreReporterDirectTest { compileString(newCompiler("-cp", classpath, "-d", s"${testOutput.path}/$jarFileName"))(code) } - // TODO flat classpath doesn't support the classpath invalidation yet so we force using the recursive one - // it's the only test which needed such a workaround + var classPathKind: String = "" + override def settings = { val settings = new Settings - settings.YclasspathImpl.value = ClassPathRepresentationType.Recursive + settings.YclasspathImpl.value = classPathKind settings } @@ -72,9 +72,8 @@ object Test extends StoreReporterDirectTest { s"[${added}] in [${output.lines.mkString("/")}]" ) lines = lines drop promptLength - assert { - lines.next.contains("testing...") - } + val r = lines.next + assert(r.contains("testing..."), r) } def test2(): Unit = { @@ -91,14 +90,10 @@ object Test extends StoreReporterDirectTest { var lines = output.lines.drop(headerLength) lines = lines drop promptLength val added = lines.next - assert { - added.contains("Added") && added.contains("test1.jar") - } + assert(added.contains("Added") && added.contains("test1.jar"), added) lines = lines drop promptLength val msg = lines.next - assert { - msg.contains("test2.jar") && msg.contains("existing classpath entries conflict") - } + assert(msg.contains("test2.jar") && msg.contains("contains a classfile that already exists on the classpath: test.Test$"), msg) } def test3(): Unit = { @@ -116,13 +111,10 @@ object Test extends StoreReporterDirectTest { var lines = output.lines.drop(headerLength) lines = lines drop promptLength val added = lines.next - assert { - added.contains("Added") && added.contains("test1.jar") - } + assert(added.contains("Added") && added.contains("test1.jar"), added) lines = lines drop (2 * promptLength + 1) - assert { - lines.next.contains("new object in existing package") - } + val r = lines.next + assert(r.contains("new object in existing package"), r) } def test4(): Unit = { @@ -136,14 +128,10 @@ object Test extends StoreReporterDirectTest { var lines = output.lines.drop(headerLength) lines = lines drop promptLength val added = lines.next - assert { - added.contains("Added") && added.contains("test1.jar") - } + assert(added.contains("Added") && added.contains("test1.jar"), added) lines = lines drop promptLength val msg = lines.next - assert { - msg.contains("test1.jar") && msg.contains("existing classpath entries conflict") - } + assert(msg.contains("test1.jar") && msg.contains("contains a classfile that already exists on the classpath: test.Test$"), msg) } def test5(): Unit = { @@ -167,7 +155,7 @@ object Test extends StoreReporterDirectTest { assert(output.contains("created test6.Z"), output) } - def show(): Unit = { + def testAll(): Unit = { test1() test2() test3() @@ -175,4 +163,11 @@ object Test extends StoreReporterDirectTest { test5() test6() } + + def show(): Unit = { + classPathKind = ClassPathRepresentationType.Flat + testAll() + classPathKind = ClassPathRepresentationType.Recursive + testAll() + } } diff --git a/test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala b/test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala index 365901c4d6..812c298c48 100644 --- a/test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala +++ b/test/junit/scala/tools/nsc/symtab/SymbolTableForUnitTesting.scala @@ -2,12 +2,12 @@ package scala.tools.nsc package symtab import scala.reflect.ClassTag -import scala.reflect.internal.{Phase, NoPhase, SomePhase} +import scala.reflect.internal.{NoPhase, Phase, SomePhase} import scala.tools.nsc.classpath.FlatClassPath import scala.tools.nsc.settings.ClassPathRepresentationType import scala.tools.util.FlatClassPathResolver import scala.tools.util.PathResolver -import util.ClassPath +import util.{ClassFileLookup, ClassPath} import io.AbstractFile /** @@ -54,7 +54,7 @@ class SymbolTableForUnitTesting extends SymbolTable { def isMaybeBoxed(sym: Symbol): Boolean = ??? def needCompile(bin: AbstractFile, src: AbstractFile): Boolean = ??? def externalEquals: Symbol = ??? - def updateClassPath(subst: Map[ClassPath[AbstractFile], ClassPath[AbstractFile]]): Unit = ??? + def updateClassPath(subst: Map[ClassFileLookup[AbstractFile], ClassFileLookup[AbstractFile]]): Unit = ??? } object loaders extends symtab.SymbolLoaders { |