| /** |
| * 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 |
| * <p/> |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * <p/> |
| * 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. |
| */ |
| subprojects { |
| /** |
| * Utility function for tests to use to confirm EVN Variables. |
| */ |
| ext.checkEnv = { env_vars -> |
| env_vars.each() { |
| def value = System.getenv("${it}") |
| if (value == null || value == "null") |
| throw new GradleException("undeclared env variable: ${it}") |
| } |
| } |
| |
| ext.groovyVersion = '2.5.4' |
| ext.hadoopVersion = '2.7.4' |
| ext.hbaseVersion = '1.1.9' |
| ext.solrVersion = '4.6.0' |
| ext.slf4jVersion = '1.6.6' |
| // itest needs be greater than or equal to = 1.0.0 |
| ext.itestVersion = '1.0.0' // Might need to be able to read an input for alternate version? |
| ext.BIGTOP_HOME = rootDir |
| |
| dependencies { |
| compile group: 'org.apache.bigtop.itest', name: 'itest-common', version: itestVersion, transitive: 'true' |
| //needed to avoid groovy not on classpath error. |
| testCompile group: 'org.codehaus.groovy', name: 'groovy', version: groovyVersion |
| testCompile group: 'org.apache.hadoop', name: 'hadoop-common', version: hadoopVersion, transitive: 'true' |
| testCompile group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: hadoopVersion, transitive: 'true' |
| testRuntime project(':bigtop-tests:smoke-tests:logger-test-config') |
| } |
| |
| //Note you need a snapshot itest to run this. |
| ext.doExclude = { String filename -> |
| //print("Exclude? ${filename} ... ") |
| def keep_this_test = true; |
| if (filename.contains(".groovy") || |
| filename.contains(".java")) { |
| keep_this_test = |
| tests_to_include().find({ |
| filename ==~ it |
| }) != null; |
| } |
| |
| //println("Keep = ${keep_this_test} "+filename); |
| return !keep_this_test; |
| } |
| |
| test.doFirst { |
| // java_home should be declared in all cases. |
| checkEnv(["JAVA_HOME"]) |
| // TestHadoopExamples and other tests rely on BIGTOP_HOME environment |
| // variable to find some resources. Let's set it up, using ext.BIGTOP_HOME |
| environment ("BIGTOP_HOME", BIGTOP_HOME) |
| } |
| |
| test.doLast { |
| println("Now testing..."); |
| //todo, add back in 'basic' after BIGTOP-1392 . |
| testLogging { |
| events "passed", "skipped", "failed" |
| } |
| } |
| |
| // Let's make sure all system Properties are passed into the forked test JVM |
| tasks.withType(Test) { |
| systemProperties = System.getProperties() |
| } |
| test.dependsOn compileGroovy |
| compileGroovy.dependsOn clean |
| } |