blob: 61f2fbdeb1479422e81b0a8f334a692f6bbf0517 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
// Following Gradle best practices to keep build logic organized
// Bundle the test classes in a JAR for other Ant based builds
task testJar(type: Jar, group: 'Build') {
description = 'Assembles a jar archive containing the test classes.'
project.test.dependsOn it
classifier 'test'
from sourceSets.test.output
}
// ----------------------------------------------------------------------------
// Unit test tasks and configurations
// Help the up to date algorithm to make these tests done
ext.markTaskDone = { task ->
def buildFile = file("$buildDir/${task.name}.flag")
task.inputs.files task.classpath
task.outputs.file buildFile
task.doLast {
buildFile.text = 'Passed!'
}
}
task deprecatedEqualityTest(type: JavaExec, group: 'Verification') {
description = 'Run the non-JUnit test suite '
classpath = sourceSets.test.runtimeClasspath
main 'org.apache.thrift.test.EqualityTest'
markTaskDone(it)
}
task deprecatedJavaBeansTest(type: JavaExec, group: 'Verification') {
description = 'Run the non-JUnit test suite '
classpath = sourceSets.test.runtimeClasspath
main 'org.apache.thrift.test.JavaBeansTest'
markTaskDone(it)
}
// Main Unit Test task configuration
test {
description="Run the full test suite"
dependsOn deprecatedEqualityTest, deprecatedJavaBeansTest
// Allow repeating tests even after successful execution
if (project.hasProperty('rerunTests')) {
outputs.upToDateWhen { false }
}
include '**/Test*.class'
exclude '**/Test*\$*.class'
maxHeapSize = '512m'
forkEvery = 1
systemProperties = [
'build.test': "${compileTestJava.destinationDir}",
'test.port': "${testPort}",
'javax.net.ssl.trustStore': "${projectDir}/test/.truststore",
'javax.net.ssl.trustStorePassword': 'thrift',
'javax.net.ssl.keyStore': "${projectDir}/test/.keystore",
'javax.net.ssl.keyStorePassword': 'thrift'
]
}