-
Notifications
You must be signed in to change notification settings - Fork 3.1k
/
TastyTestJUnit.scala
83 lines (69 loc) · 2.59 KB
/
TastyTestJUnit.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package scala.tools.tastytest
import org.junit.{Test => test}
import org.junit.Assert._
import scala.util.{Try, Failure, Properties}
import TastyTestJUnit._
class TastyTestJUnit {
@test def run(): Unit = TastyTest.runSuite(
src = "run",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDir = None,
additionalSettings = Nil,
additionalDottySettings = Nil
).eval
@test def pos(): Unit = TastyTest.posSuite(
src = "pos",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDir = None,
additionalSettings = Nil,
additionalDottySettings = Nil
).eval
@test def posFalseNoAnnotations(): Unit = TastyTest.posSuite(
src = "pos-false-noannotations",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDir = None,
additionalSettings = Seq("-Ytasty-no-annotations"),
additionalDottySettings = Nil
).eval
@test def neg(): Unit = TastyTest.negSuite(
src = "neg",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDir = None,
additionalSettings = Nil,
additionalDottySettings = Nil
).eval
@test def negMoveMacros(): Unit = TastyTest.negChangePreSuite(
src = "neg-move-macros",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDirs = None,
additionalSettings = Nil,
additionalDottySettings = Nil
).eval
@test def negIsolated(): Unit = TastyTest.negSuiteIsolated(
src = "neg-isolated",
srcRoot = assertPropIsSet(propSrc),
pkgName = assertPropIsSet(propPkgName),
outDirs = None,
additionalSettings = Nil,
additionalDottySettings = Nil
).eval
val propSrc = "tastytest.src"
val propPkgName = "tastytest.packageName"
def assertPropIsSet(prop: String): String = {
Properties.propOrNull(prop).ensuring(_ != null, s"-D$prop is not set")
}
}
import scala.reflect.runtime.ReflectionUtils
object TastyTestJUnit {
final implicit class TryOps(val op: Try[Unit]) extends AnyVal {
def eval: Unit = op match {
case Failure(err) => fail(err.toString)
case _ => ()
}
}
}