summaryrefslogtreecommitdiff
path: root/build/scripts/common_tests.gant
blob: c942c974e12b8d95aa67ea20b955a3be68b8f5c8 (plain)
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
/*
 * Copyright 2000-2012 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import static org.jetbrains.jps.idea.IdeaProjectLoader.guessHome

includeTargets << new File("${guessHome(this)}/build/scripts/utils.gant")

requireProperty("out", "$home/out/classes")

target(compile: "Compile project") {
  ant.delete(failonerror: false) {
    fileset(dir: "$home/reports")
    fileset(dir: "$home/bin", includes: "*.hprof")
  }

  loadProject()
  projectBuilder.useInProcessJavac = true
  projectBuilder.targetFolder = out
  projectBuilder.cleanOutput()
  projectBuilder.buildAll()
}

private pass(String prop) {
  if (isDefined(prop)) {
    ant.jvmarg(value: "-D$prop=${p(prop)}")
  }
}

target('default': 'The default target') {
  depends([compile])

  ant.junit(fork: "yes", showoutput: "true", logfailedtests:false) {
    pass("idea.test.group")
    pass("idea.test.patterns")
    pass("idea.fast.only")
    pass("teamcity.build.tempDir")
    pass("teamcity.tests.recentlyFailedTests.file")
    jvmarg (value: "-Didea.platform.prefix=Idea")
    jvmarg (value: "-Djava.system.class.loader=com.intellij.util.lang.UrlClassLoader")

    System.getProperties().entrySet().each {
      if (it.key.startsWith("pass.")) {
        def trimmed = it.key.substring("pass.".length());
        jvmarg(value: "-D${trimmed}=${it.value}");
      };
    }

    commonJvmArgs().each { jvmarg(value: it) }

    if (isDefined("jvm_args")) {
      jvm_args.each { jvmarg(value: it) }
    }

    classpath {
      projectBuilder.moduleRuntimeClasspath(findModule("community-main"), true).each {
        pathelement(location: it)
      }
      pathelement(location: "${jdkHome}/lib/tools.jar")
    }

    testcases.each {
      test (name: it)
    }
  }
}