aboutsummaryrefslogtreecommitdiff
path: root/compiler/test/dotty/partest/DPConfig.scala
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/test/dotty/partest/DPConfig.scala')
-rw-r--r--compiler/test/dotty/partest/DPConfig.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/compiler/test/dotty/partest/DPConfig.scala b/compiler/test/dotty/partest/DPConfig.scala
new file mode 100644
index 000000000..5c493f465
--- /dev/null
+++ b/compiler/test/dotty/partest/DPConfig.scala
@@ -0,0 +1,40 @@
+package dotty.partest
+
+import scala.collection.JavaConversions._
+import scala.reflect.io.Path
+import java.io.File
+
+import scala.tools.partest.PartestDefaults
+
+
+/** Dotty Partest runs all tests in the provided testDirs located under
+ * testRoot. There can be several directories with pos resp. neg tests, as
+ * long as the prefix is pos/neg.
+ *
+ * Each testDir can also have a __defaultFlags.flags file, which provides
+ * compiler flags and is used unless there's a specific flags file (e.g. for
+ * test pos/A.scala, if there's a pos/A.flags file those flags are used,
+ * otherwise pos/__defaultFlags.flags are used if the file exists).
+ */
+object DPConfig {
+ /** Options used for _running_ the run tests.
+ * Note that this is different from the options used when _compiling_ tests,
+ * those are determined by the sbt configuration.
+ */
+ val runJVMOpts = s"-Xms64M -Xmx1024M ${PartestDefaults.javaOpts}"
+
+ val testRoot = (Path("..") / Path("tests") / Path("partest-generated")).toString
+ val genLog = Path(testRoot) / Path("gen.log")
+
+ lazy val testDirs = {
+ val root = new File(testRoot)
+ val dirs = if (!root.exists) Array.empty[String] else root.listFiles.filter(_.isDirectory).map(_.getName)
+ if (dirs.isEmpty)
+ throw new Exception("Partest did not detect any generated sources")
+ dirs
+ }
+
+ // Tests finish faster when running in parallel, but console output is
+ // out of order and sometimes the compiler crashes
+ val runTestsInParallel = true
+}