Jenkins jobs for jvm-dtest-upgrade builds
diff --git a/build-scripts/cassandra-test.sh b/build-scripts/cassandra-test.sh
index 852aede..ae2363f 100755
--- a/build-scripts/cassandra-test.sh
+++ b/build-scripts/cassandra-test.sh
@@ -11,14 +11,26 @@
find "test/$classlistprefix" -name '*Test.java' | sed "s;^test/$classlistprefix/;;g"
}
-_list_distributed_tests_no_upgrade() {
- _list_tests "distributed" | grep -v "upgrade"
-}
-
_timeout_for() {
grep "name=\"$1\"" build.xml | awk -F'"' '{print $4}'
}
+_build_all_dtest_jars() {
+ cd $TMP_DIR
+ git clone --depth 1 --no-single-branch https://gitbox.apache.org/repos/asf/cassandra.git cassandra-dtest-jars
+ cd cassandra-dtest-jars
+ for branch in cassandra-2.2 cassandra-3.0 cassandra-3.11 trunk; do
+ git checkout $branch
+ ant realclean
+ ant jar dtest-jar
+ cp build/dtest*.jar ../../build/
+ done
+ cd ../..
+ rm -fR ${TMP_DIR}/cassandra-dtest-jars
+ ant dtest-jar
+ ls -l build/dtest*.jar
+}
+
_main() {
local target="${1:-}"
local java_version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F. '{print $1}')
@@ -44,30 +56,35 @@
;;
esac
+ export TMP_DIR="$(pwd)/tmp"
+ mkdir -p ${TMP_DIR}
ant clean jar
- mkdir -p tmp
case $target in
"stress-test" | "fqltool-test")
ant $target -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
;;
"test")
- ant testclasslist -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
"test-cdc")
- ant testclasslist-cdc -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist-cdc -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
"test-compression")
- ant testclasslist-compression -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist-compression -Dtest.classlistfile=<( _list_tests "unit" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
"test-burn")
- ant testclasslist -Dtest.classlistprefix=burn -Dtest.timeout=$(_timeout_for "test.burn.timeout") -Dtest.classlistfile=<( _list_tests "burn" ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist -Dtest.classlistprefix=burn -Dtest.timeout=$(_timeout_for "test.burn.timeout") -Dtest.classlistfile=<( _list_tests "burn" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
"long-test")
- ant testclasslist -Dtest.classlistprefix=long -Dtest.timeout=$(_timeout_for "test.long.timeout") -Dtest.classlistfile=<( _list_tests "long" ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist -Dtest.classlistprefix=long -Dtest.timeout=$(_timeout_for "test.long.timeout") -Dtest.classlistfile=<( _list_tests "long" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
"jvm-dtest")
- ant testclasslist -Dtest.classlistprefix=distributed -Dtest.timeout=$(_timeout_for "test.distributed.timeout") -Dtest.classlistfile=<( _list_distributed_tests_no_upgrade ) -Dtmp.dir="$(pwd)/tmp" || echo "failed $target"
+ ant testclasslist -Dtest.classlistprefix=distributed -Dtest.timeout=$(_timeout_for "test.distributed.timeout") -Dtest.classlistfile=<( _list_tests "distributed" | grep -v "upgrade" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
+ ;;
+ "jvm-dtest-upgrade")
+ _build_all_dtest_jars
+ ant testclasslist -Dtest.classlistprefix=distributed -Dtest.timeout=$(_timeout_for "test.distributed.timeout") -Dtest.classlistfile=<( _list_tests "distributed" | grep "upgrade" ) -Dtmp.dir="${TMP_DIR}" || echo "failed $target"
;;
*)
echo "unregconised \"$target\""
diff --git a/jenkins-dsl/cassandra_job_dsl_seed.groovy b/jenkins-dsl/cassandra_job_dsl_seed.groovy
index 646acb8..93a5710 100644
--- a/jenkins-dsl/cassandra_job_dsl_seed.groovy
+++ b/jenkins-dsl/cassandra_job_dsl_seed.groovy
@@ -47,7 +47,7 @@
cassandraBranches = "${CASSANDRA_BRANCHES}".split(",")
}
// Ant test targets
-def testTargets = ['test', 'test-burn', 'test-cdc', 'test-compression', 'stress-test', 'fqltool-test', 'long-test', 'jvm-dtest']
+def testTargets = ['test', 'test-burn', 'test-cdc', 'test-compression', 'stress-test', 'fqltool-test', 'long-test', 'jvm-dtest', 'jvm-dtest-upgrade']
if(binding.hasVariable("CASSANDRA_ANT_TEST_TARGETS")) {
testTargets = "${CASSANDRA_ANT_TEST_TARGETS}".split(",")
}