aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-07-02 11:55:46 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-07-02 11:55:46 +0200
commitd63b63f536aafa494c70835526174be1987050de (patch)
treeff703e20cb73d38db2c3bcda5b2b5971d0dd6c68
parent232a0bb3c9b808ccd2245087ddb296163aefa451 (diff)
downloadscala-async-d63b63f536aafa494c70835526174be1987050de.tar.gz
scala-async-d63b63f536aafa494c70835526174be1987050de.tar.bz2
scala-async-d63b63f536aafa494c70835526174be1987050de.zip
Avoid hardcoded "2.10" in tests.
This allows us to cross build against 2.10.x and 2.11.x.
-rw-r--r--src/test/scala/scala/async/TreeInterrogation.scala6
-rw-r--r--src/test/scala/scala/async/package.scala17
2 files changed, 19 insertions, 4 deletions
diff --git a/src/test/scala/scala/async/TreeInterrogation.scala b/src/test/scala/scala/async/TreeInterrogation.scala
index deaee03..43393a7 100644
--- a/src/test/scala/scala/async/TreeInterrogation.scala
+++ b/src/test/scala/scala/async/TreeInterrogation.scala
@@ -15,7 +15,7 @@ class TreeInterrogation {
@Test
def `a minimal set of vals are lifted to vars`() {
val cm = reflect.runtime.currentMirror
- val tb = mkToolbox("-cp target/scala-2.10/classes")
+ val tb = mkToolbox(s"-cp ${toolboxClasspath}")
val tree = tb.parse(
"""| import _root_.scala.async.AsyncId._
| async {
@@ -52,7 +52,7 @@ class TreeInterrogation {
&& !dd.symbol.asTerm.isAccessor && !dd.symbol.asTerm.isSetter => dd.name
}
}.flatten
- defDefs.map(_.decoded.trim).toSet mustBe (Set("foo$1", "apply", "resume$async", "<init>"))
+ defDefs.map(_.decoded.trim).toSet mustBe (Set("foo$1", "apply", "resume", "<init>"))
}
}
@@ -68,7 +68,7 @@ object TreeInterrogation extends App {
withDebug {
val cm = reflect.runtime.currentMirror
- val tb = mkToolbox("-cp target/scala-2.10/classes -Xprint:flatten")
+ val tb = mkToolbox("-cp ${toolboxClasspath} -Xprint:flatten")
import scala.async.Async._
val tree = tb.parse(
""" import _root_.scala.async.AsyncId.{async, await}
diff --git a/src/test/scala/scala/async/package.scala b/src/test/scala/scala/async/package.scala
index 4a7a958..7c42024 100644
--- a/src/test/scala/scala/async/package.scala
+++ b/src/test/scala/scala/async/package.scala
@@ -42,7 +42,22 @@ package object async {
m.mkToolBox(options = compileOptions)
}
- def expectError(errorSnippet: String, compileOptions: String = "", baseCompileOptions: String = "-cp target/scala-2.10/classes")(code: String) {
+ def scalaBinaryVersion: String = {
+ val Pattern = """(\d+\.\d+)\..*""".r
+ scala.util.Properties.versionNumberString match {
+ case Pattern(v) => v
+ case _ => ""
+ }
+ }
+
+ def toolboxClasspath = {
+ val f = new java.io.File(s"target/scala-${scalaBinaryVersion}/classes")
+ if (!f.exists) sys.error(s"output directory ${f.getAbsolutePath} does not exist.")
+ f.getAbsolutePath
+ }
+
+ def expectError(errorSnippet: String, compileOptions: String = "",
+ baseCompileOptions: String = s"-cp ${toolboxClasspath}")(code: String) {
intercept[ToolBoxError] {
eval(code, compileOptions + " " + baseCompileOptions)
}.getMessage mustContain errorSnippet