blob: 00061c77ad2fc7d6b11bbd55d51de6be48fc2bd9 [file] [log] [blame]
// Based on tests.gant but with the includeTargets of common_tests inlined
// below (and with some changes to invoke our GUI test suite instead
import static org.jetbrains.jps.idea.IdeaProjectLoader.guessHome
includeTargets << new File("${guessHome(this)}/build/scripts/utils.gant")
requireProperty("out", "$home/out")
target(check: "Ensure the environment is configured") {
tempDir = p("teamcity.build.tempDir")
}
target(compile: "Compile project") {
ant.delete(failonerror: false) {
fileset(dir: "$home/reports")
fileset(dir: "$home/bin", includes: "*.hprof")
}
loadProject()
projectBuilder.targetFolder = out
if (!isDefined("skip_build")) {
projectBuilder.cleanOutput()
projectBuilder.buildAll()
}
}
private pass(String prop) {
if (isDefined(prop)) {
ant.jvmarg(value: "-D$prop=${p(prop)}")
}
}
target('run_ui_tests': 'Run java tests') {
depends([check, compile])
ant.junit(fork: "yes", showoutput: "true", logfailedtests:false, printsummary: "true") {
pass("idea.test.group")
pass("idea.test.patterns")
pass("idea.fast.only")
pass("teamcity.build.tempDir")
pass("teamcity.tests.recentlyFailedTests.file")
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")
}
formatter(type: "plain")
formatter(type: "xml")
testcases.each {
test (name: it)
}
}
}
target('default' : "Run all UI tests") {
depends([compile, run_ui_tests])
depends([run_ui_tests])
}
// To run just your own tests, you can for example write
//setProperty("testcases", ["com.android.tools.idea.tests.gui.layout.LayoutPreviewTest","com.android.tools.idea.tests.gui.layout.LayoutEditorTest"])
setProperty("testcases", ["com.android.tools.idea.tests.gui.GuiTestSuite"])
def args = [
"-Xmx2048m",
"-XX:MaxPermSize=1024m",
"-XX:ReservedCodeCacheSize=96m",
"-XX:+UseCodeCacheFlushing"
]
setProperty("jvm_args", args)