summaryrefslogtreecommitdiff
path: root/src/partest/scala/tools/partest/nest/ConsoleRunnerSpec.scala
blob: bb831a496462608dbfc9af844c5006def49a1a60 (plain) (blame)
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
package scala.tools.partest.nest

import language.postfixOps

import scala.tools.cmd.{ CommandLine, Interpolation, Meta, Reference, Spec }

trait ConsoleRunnerSpec extends Spec with Meta.StdOpts with Interpolation {
  def referenceSpec       = ConsoleRunnerSpec
  def programInfo         = Spec.Info(
      "console-runner",
      "Usage: NestRunner [options] [test test ...]",
      "scala.tools.partest.nest.ConsoleRunner")

  heading("Test categories:")
  val optAll          = "all"          / "run all tests"                     --?
  val optPos          = "pos"          / "run compilation tests (success)"   --?
  val optNeg          = "neg"          / "run compilation tests (failure)"   --?
  val optRun          = "run"          / "run interpreter and backend tests" --?
  val optJvm          = "jvm"          / "run JVM backend tests"             --?
  val optRes          = "res"          / "run resident compiler tests"       --?
  val optAnt          = "ant"          / "run Ant tests"                     --?
  val optScalap       = "scalap"       / "run scalap tests"                  --?
  val optSpecialized  = "specialized"  / "run specialization tests"          --?
  val optScalacheck   = "scalacheck"   / "run ScalaCheck tests"              --?
  val optInstrumented = "instrumented" / "run instrumented tests"            --?
  val optPresentation = "presentation" / "run presentation compiler tests"   --?

  heading("Test runner options:")
  val optFailed       = "failed"       / "run only those tests that failed during the last run"                           --?
  val optTimeout      = "timeout"      / "aborts the test suite after the given amount of time"                           --|
  val optPack         = "pack"         / "pick compiler/reflect/library in build/pack, and run all tests"                 --?
  val optGrep         = "grep"         / "run all tests whose source file contains the expression given to grep"          --|
  val optUpdateCheck  = "update-check" / "instead of failing tests with output change, update checkfile (use with care!)" --?
  val optBuildPath    = "buildpath"    / "set (relative) path to build jars (ex.: --buildpath build/pack)"                --|
  val optClassPath    = "classpath"    / "set (absolute) path to build classes"                                           --|
  val optSourcePath   = "srcpath"      / "set (relative) path to test source files (ex.: --srcpath pending)"              --|

  heading("Test output options:")
  val optShowDiff     = "show-diff"    / "show diffs for failed tests"       --> NestUI.setDiffOnFail()
  val optVerbose      = "verbose"      / "show verbose progress information" --> NestUI.setVerbose()
  val optTerse        = "terse"        / "show terse progress information"   --> NestUI.setTerse()
  val optDebug        = "debug"        / "enable debugging output"           --> NestUI.setDebug()

  heading("Other options:")
  val optVersion      = "version"      / "show Scala version and exit"  --?
  val optSelfTest     = "self-test"    / "run tests for partest itself" --?
  val optHelp         = "help"         / "show this page and exit"      --?

}

object ConsoleRunnerSpec extends ConsoleRunnerSpec with Reference {
  type ThisCommandLine = CommandLine
  def creator(args: List[String]): ThisCommandLine = new CommandLine(ConsoleRunnerSpec, args)
}