aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2015-10-23 14:56:28 +0200
committerDmitry Petrashko <dark@d-d.me>2015-10-23 14:56:28 +0200
commit392b0f10c133982d6070f2551c11d1ca7eb79bba (patch)
tree15cb62fd24b206656d63a79da8160213c48a5c24
parent3c6f28ba36e3e908c7a5e313e96e7d34f3da62fe (diff)
parentc326d15bce108459371567069a7ecbc38388fb84 (diff)
downloaddotty-392b0f10c133982d6070f2551c11d1ca7eb79bba.tar.gz
dotty-392b0f10c133982d6070f2551c11d1ca7eb79bba.tar.bz2
dotty-392b0f10c133982d6070f2551c11d1ca7eb79bba.zip
Merge pull request #853 from dotty-staging/partest-run
Run CI-partest with bootstrapped compiler
-rw-r--r--project/Build.scala6
-rwxr-xr-xscripts/jobs/validate/partest2
-rw-r--r--src/dotty/tools/dotc/core/Denotations.scala10
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala1
4 files changed, 12 insertions, 7 deletions
diff --git a/project/Build.scala b/project/Build.scala
index be39358ff..442ac3c2f 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -81,7 +81,7 @@ object DottyBuild extends Build {
val args = Def.spaceDelimited("<arg>").parsed
val jars = Seq((packageBin in Compile).value.getAbsolutePath) ++
getJarPaths(partestDeps.value, ivyPaths.value.ivyHome)
- val dottyJars = "-dottyJars " + jars.length + " " + jars.mkString(" ")
+ val dottyJars = "-dottyJars " + (jars.length + 1) + " dotty.jar" + " " + jars.mkString(" ")
// Provide the jars required on the classpath of run tests
runTask(Test, "dotty.partest.DPConsoleRunner", dottyJars + " " + args.mkString(" "))
},
@@ -118,8 +118,8 @@ object DottyBuild extends Build {
("-DpartestParentID=" + pid) :: tuning ::: agentOptions ::: travis_build ::: fullpath
}
- ) ++ addCommandAlias("partest", ";test:package;package;lockPartestFile;test:test;runPartestRunner") ++
- addCommandAlias("partest-only", ";test:package;package;lockPartestFile;test:test-only dotc.tests;runPartestRunner")
+ ) ++ addCommandAlias("partest", ";test:package;package;test:runMain dotc.build;lockPartestFile;test:test;runPartestRunner") ++
+ addCommandAlias("partest-only", ";test:package;package;test:runMain dotc.build;lockPartestFile;test:test-only dotc.tests;runPartestRunner")
lazy val dotty = Project(id = "dotty", base = file("."), settings = defaults)
diff --git a/scripts/jobs/validate/partest b/scripts/jobs/validate/partest
index ee45a3919..55ec9f4c1 100755
--- a/scripts/jobs/validate/partest
+++ b/scripts/jobs/validate/partest
@@ -4,5 +4,5 @@ baseDir=${WORKSPACE-`pwd`}
scriptsDir="$baseDir/scripts"
. $scriptsDir/common
-sbt $sbtArgs update compile "partest-only run --show-diff --verbose"
+sbt $sbtArgs update compile "partest-only --show-diff --verbose"
diff --git a/src/dotty/tools/dotc/core/Denotations.scala b/src/dotty/tools/dotc/core/Denotations.scala
index bd03cc056..65df55a9d 100644
--- a/src/dotty/tools/dotc/core/Denotations.scala
+++ b/src/dotty/tools/dotc/core/Denotations.scala
@@ -193,9 +193,11 @@ object Denotations {
*/
def requiredSymbol(p: Symbol => Boolean, source: AbstractFile = null, generateStubs: Boolean = true)(implicit ctx: Context): Symbol =
disambiguate(p) match {
- case MissingRef(ownerd, name) =>
- if (generateStubs)
+ case m @ MissingRef(ownerd, name) =>
+ if (generateStubs) {
+ m.ex.printStackTrace()
ctx.newStubSymbol(ownerd.symbol, name, source)
+ }
else NoSymbol
case NoDenotation | _: NoQualifyingRef =>
throw new TypeError(s"None of the alternatives of $this satisfies required predicate")
@@ -858,7 +860,9 @@ object Denotations {
/** An error denotation that provides more info about the missing reference.
* Produced by staticRef, consumed by requiredSymbol.
*/
- case class MissingRef(val owner: SingleDenotation, name: Name)(implicit ctx: Context) extends ErrorDenotation
+ case class MissingRef(val owner: SingleDenotation, name: Name)(implicit ctx: Context) extends ErrorDenotation {
+ val ex: Exception = new Exception
+ }
/** An error denotation that provides more info about alternatives
* that were found but that do not qualify.
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
index af33ce3c2..6e405d5f8 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
@@ -405,6 +405,7 @@ class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClas
// println(owner.info.decls.toList.map(_.debugString).mkString("\n ")) // !!! DEBUG
// }
// (5) Create a stub symbol to defer hard failure a little longer.
+ new Exception().printStackTrace()
ctx.newStubSymbol(owner, name, source)
}
}