~ubuntu-branches/debian/sid/scala/sid

« back to all changes in this revision

Viewing changes to src/partest-alternative/scala/tools/partest/Categories.scala

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg, Mehdi Dogguy, Lucas Satabin, Frank S. Thomas, Emmanuel Bourg
  • Date: 2015-06-05 23:52:59 UTC
  • mfrom: (1.2.11)
  • Revision ID: package-import@ubuntu.com-20150605235259-wk00vgk83dh8o19g
Tags: 2.10.5-1
* Team upload.

[ Mehdi Dogguy ]
* New upstream release (Closes: #744278).

[ Lucas Satabin ]
* Update patches
* Update the clean target
* Update paths of elements to install
* Update watch file

[ Frank S. Thomas ]
* Remove myself from Uploaders.

[ Emmanuel Bourg ]
* The package has been adopted by the Java Team (Closes: #754935)
* Patched the build to avoid downloading libraries from the Internet
* Replaced the minified JavaScript files with unobfuscated ones
* No longer build scala-partest.jar until diffutils is packaged or replaced
* debian/watch: Fixed the versions matched (x.y.z instead of x.y.z..z)
* debian/rules:
  - Added the missing get-orig-source target (Closes: #724704)
  - Improved the clean target
* debian/control:
  - Build depend on scala (>= 2.10) and bnd
  - Use canonical URLs for the Vcs-* fields
  - Standards-Version updated to 3.9.6 (no changes)
* Switch to debhelper level 9

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*                     __                                               *\
2
 
**     ________ ___   / /  ___     Scala Parallel Testing               **
3
 
**    / __/ __// _ | / /  / _ |    (c) 2007-2011, LAMP/EPFL             **
4
 
**  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **
5
 
** /____/\___/_/ |_/____/_/ | |                                         **
6
 
**                          |/                                          **
7
 
\*                                                                      */
8
 
 
9
 
package scala.tools
10
 
package partest
11
 
 
12
 
import nsc.Settings
13
 
import nsc.io._
14
 
import nsc.util.{ ClassPath }
15
 
 
16
 
trait Categories {
17
 
  self: Universe =>
18
 
 
19
 
  trait TestCategory extends AbsTestCategory {
20
 
    def kind: String
21
 
    def startMessage: String = "Executing test group"
22
 
    def testSequence: TestSequence
23
 
 
24
 
    class TestSettings(entity: TestEntity, error: String => Unit) extends Settings(error) {
25
 
      def this(entity: TestEntity) = this(entity, Console println _)
26
 
 
27
 
      deprecation.value   = false
28
 
      encoding.value      = "ISO-8859-1"
29
 
      classpath.value     = entity.testClasspath
30
 
      outdir.value        = entity.outDir.path
31
 
    }
32
 
 
33
 
    def createSettings(entity: TestEntity): TestSettings = new TestSettings(entity)
34
 
    def createTest(location: Path): TestEntity =
35
 
      if (location.isFile) TestFile(this, location.toFile)
36
 
      else if (location.isDirectory) TestDirectory(this, location.toDirectory)
37
 
      else error("Failed to create test at '%s'" format location)
38
 
 
39
 
    /** Category test identification.
40
 
     */
41
 
    def denotesTestFile(p: Path)  = p.isFile && (p hasExtension "scala")
42
 
    def denotesTestDir(p: Path)   = p.isDirectory && !ignorePath(p)
43
 
    def denotesTest(p: Path)      = denotesTestDir(p) || denotesTestFile(p)
44
 
 
45
 
    /** This should verify that all necessary files are present.
46
 
     *  By default it delegates to denotesTest.
47
 
     */
48
 
    def denotesValidTest(p: Path) = denotesTest(p)
49
 
  }
50
 
 
51
 
  abstract class DirBasedCategory(val kind: String) extends TestCategory with CategoryContribution {
52
 
    lazy val root = Directory(src / kind).normalize
53
 
    def enumerate = root.list filter denotesTest map createTest toList
54
 
 
55
 
    /** Standard actions.  These can be overridden either on the
56
 
     *  Category level or by individual tests.
57
 
     */
58
 
    def compile: TestStep         = (_: TestEntity).compile()
59
 
    def checkFileRequired: TestStep  = (_: TestEntity).checkFileRequired
60
 
    def diff: TestStep            = (_: TestEntity).diff()
61
 
    def run: TestStep             = (_: TestEntity).run()
62
 
    def exec: TestStep            = (_: TestEntity).exec()
63
 
 
64
 
    /** Combinators.
65
 
     */
66
 
    def not(f: TestStep): TestStep = !f(_: TestEntity)
67
 
 
68
 
    override def toString = kind
69
 
  }
70
 
}
 
 
b'\\ No newline at end of file'