mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0: Add to jenkins pipeline: test-oa, test-system-keyspace-directory, test-trie, jvm-dtest-novnode, jvm-dtest-upgrade-novnode simulator-dtest, dtest-large-novnode, dtest-upgrade-large, dtest-upgrade-novnode, dtest-upgrade-novnode-large.
This commit is contained in:
commit
337aa5ce33
|
|
@ -134,7 +134,7 @@ case ${target} in
|
|||
# check that ${cassandra_dtest_dir} is valid
|
||||
[ -f "${cassandra_dtest_dir}/dtest.py" ] || { echo >&2 "${cassandra_dtest_dir}/dtest.py not found. please specify 'cassandra_dtest_dir' to point to the local cassandra-dtest source"; exit 1; }
|
||||
;;
|
||||
"test"| "test-cdc" | "test-compression" | "test-oa" | "test-system-keyspace-directory" | "test-tries" | "jvm-dtest" | "jvm-dtest-upgrade")
|
||||
"test"| "test-cdc" | "test-compression" | "test-oa" | "test-system-keyspace-directory" | "test-tries" | "jvm-dtest" | "jvm-dtest-upgrade" | "jvm-dtest-novnode" | "jvm-dtest-upgrade-novnode" | "simulator-dtest")
|
||||
[[ ${mem} -gt $((5 * 1024 * 1024 * 1024 * ${jenkins_executors})) ]] || { echo >&2 "tests require minimum docker memory 6g (per jenkins executor (${jenkins_executors})), found ${mem}"; exit 1; }
|
||||
max_docker_runs_by_cores=$( echo "sqrt( ${cores} / ${jenkins_executors} )" | bc )
|
||||
max_docker_runs_by_mem=$(( ${mem} / ( 5 * 1024 * 1024 * 1024 * ${jenkins_executors} ) ))
|
||||
|
|
@ -164,9 +164,23 @@ mkdir -p ${build_dir}/test/logs || true
|
|||
mkdir -p ${build_dir}/test/output || true
|
||||
chmod -R ag+rwx ${build_dir}
|
||||
|
||||
# define testtag.extra so tests can be aggregated together. (jdk is already appended in build.xml)
|
||||
case ${target} in
|
||||
"cqlsh-test" | "dtest" | "dtest-novnode" | "dtest-offheap" | "dtest-large" | "dtest-large-novnode" | "dtest-upgrade" | "dtest-upgrade-large" | "dtest-upgrade-novnode" | "dtest-upgrade-novnode-large" )
|
||||
ANT_OPTS="-Dtesttag.extra=_$(arch)_python${python_version/./-}"
|
||||
;;
|
||||
"jvm-dtest-novnode" | "jvm-dtest-upgrade-novnode" )
|
||||
ANT_OPTS="-Dtesttag.extra=_$(arch)_novnode"
|
||||
;;
|
||||
*)
|
||||
ANT_OPTS="-Dtesttag.extra=_$(arch)"
|
||||
;;
|
||||
esac
|
||||
|
||||
# cython can be used for cqlsh-test
|
||||
if [ "$cython" == "yes" ]; then
|
||||
[ "${target}" == "cqlsh-test" ] || { echo "cython is only supported for cqlsh-test"; exit 1; }
|
||||
ANT_OPTS="${ANT_OPTS}_cython"
|
||||
else
|
||||
cython="no"
|
||||
fi
|
||||
|
|
@ -178,7 +192,7 @@ TEST_SCRIPT=${test_script}
|
|||
JAVA_VERSION=${java_version}
|
||||
PYTHON_VERSION=${python_version}
|
||||
cython=${cython}
|
||||
ANT_OPTS="-Dtesttag.extra=.arch=$(arch).python${python_version}"
|
||||
ANT_OPTS="${ANT_OPTS}"
|
||||
EOF
|
||||
|
||||
split_str="0_0"
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ _main() {
|
|||
# check split_chunk is compatible with target (if not a regexp)
|
||||
if [[ "${_split_chunk}" =~ ^\d+/\d+$ ]] && [[ "1/1" != "${split_chunk}" ]] ; then
|
||||
case ${target} in
|
||||
"stress-test" | "fqltool-test" | "microbench" | "cqlsh-test")
|
||||
"stress-test" | "fqltool-test" | "microbench" | "cqlsh-test" | "simulator-dtest")
|
||||
echo "Target ${target} does not suport splits."
|
||||
exit 1
|
||||
;;
|
||||
|
|
@ -227,7 +227,11 @@ _main() {
|
|||
"long-test")
|
||||
_run_testlist "long" "testclasslist" "${split_chunk}" "$(_timeout_for 'test.long.timeout')"
|
||||
;;
|
||||
"jvm-dtest")
|
||||
"simulator-dtest")
|
||||
ant test-simulator-dtest ${ANT_TEST_OPTS} || echo "failed ${target}"
|
||||
;;
|
||||
"jvm-dtest" | "jvm-dtest-novnode")
|
||||
[ "jvm-dtest-novnode" == "${target}" ] || ANT_TEST_OPTS="${ANT_TEST_OPTS} -Dcassandra.dtest.num_tokens=16"
|
||||
testlist=$( _list_tests "distributed" | grep -v "upgrade" | _split_tests "${split_chunk}")
|
||||
if [[ -z "$testlist" ]]; then
|
||||
[[ "${split_chunk}" =~ ^[0-9]+/[0-9]+$ ]] || { echo "No tests match ${split_chunk}"; exit 1; }
|
||||
|
|
@ -237,8 +241,9 @@ _main() {
|
|||
fi
|
||||
ant testclasslist -Dtest.classlistprefix=distributed -Dtest.timeout=$(_timeout_for "test.distributed.timeout") -Dtest.classlistfile=<(echo "${testlist}") ${ANT_TEST_OPTS} || echo "failed ${target} ${split_chunk}"
|
||||
;;
|
||||
"jvm-dtest-upgrade")
|
||||
"jvm-dtest-upgrade" | "jvm-dtest-upgrade-novnode")
|
||||
_build_all_dtest_jars
|
||||
[ "jvm-dtest-upgrade-novnode" == "${target}" ] || ANT_TEST_OPTS="${ANT_TEST_OPTS} -Dcassandra.dtest.num_tokens=16"
|
||||
testlist=$( _list_tests "distributed" | grep "upgrade" | _split_tests "${split_chunk}")
|
||||
if [[ -z "${testlist}" ]]; then
|
||||
[[ "${split_chunk}" =~ ^[0-9]+/[0-9]+$ ]] || { echo "No tests match ${split_chunk}"; exit 1; }
|
||||
|
|
|
|||
|
|
@ -231,6 +231,84 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
stage('oa') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
oa = build job: "${env.JOB_NAME}-test-oa", propagate: false
|
||||
if (oa.result != 'FAILURE') break
|
||||
}
|
||||
if (oa.result != 'SUCCESS') unstable('oa failures')
|
||||
if (oa.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-oa', oa.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('system-keyspace-directory') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
system_keyspace_directory = build job: "${env.JOB_NAME}-test-system-keyspace-directory", propagate: false
|
||||
if (system_keyspace_directory.result != 'FAILURE') break
|
||||
}
|
||||
if (system_keyspace_directory.result != 'SUCCESS') unstable('system-keyspace-directory failures')
|
||||
if (system_keyspace_directory.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-system-keyspace-directory', system_keyspace_directory.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('trie') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
trie = build job: "${env.JOB_NAME}-test-trie", propagate: false
|
||||
if (trie.result != 'FAILURE') break
|
||||
}
|
||||
if (trie.result != 'SUCCESS') unstable('trie failures')
|
||||
if (trie.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-trie', trie.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('cqlsh') {
|
||||
steps {
|
||||
script {
|
||||
|
|
@ -257,6 +335,32 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
stage('simulator-dtest') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
simulator_dtest = build job: "${env.JOB_NAME}-simulator-dtest", propagate: false
|
||||
if (simulator_dtest.result != 'FAILURE') break
|
||||
}
|
||||
if (simulator_dtest.result != 'SUCCESS') unstable('simulator-dtest failures')
|
||||
if (simulator_dtest.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('simulator-dtest', simulator_dtest.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Distributed Test') {
|
||||
|
|
@ -287,6 +391,32 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
stage('jvm-dtest-novnode') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
jvm_dtest_novnode = build job: "${env.JOB_NAME}-jvm-dtest-novnode", propagate: false
|
||||
if (jvm_dtest_novnode.result != 'FAILURE') break
|
||||
}
|
||||
if (jvm_dtest_novnode.result != 'SUCCESS') unstable('jvm-dtest-novnode failures')
|
||||
if (jvm_dtest_novnode.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('jvm-dtest-novnode', jvm_dtest_novnode.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('jvm-dtest-upgrade') {
|
||||
steps {
|
||||
script {
|
||||
|
|
@ -311,8 +441,34 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('jvm-dtest-upgrade-novnode') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
jvm_dtest_upgrade_novnode = build job: "${env.JOB_NAME}-jvm-dtest-upgrade-novnode", propagate: false
|
||||
if (jvm_dtest_upgrade_novnode.result != 'FAILURE') break
|
||||
}
|
||||
if (jvm_dtest_upgrade_novnode.result != 'SUCCESS') unstable('jvm-dtest-upgrade-novnode failures')
|
||||
if (jvm_dtest_upgrade_novnode.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('jvm-dtest-upgrade-novnode', jvm_dtest_upgrade_novnode.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest') {
|
||||
steps {
|
||||
script {
|
||||
|
|
@ -469,6 +625,84 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-upgrade-large') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
dtest_upgrade = build job: "${env.JOB_NAME}-dtest-upgrade-large", propagate: false
|
||||
if (dtest_upgrade.result != 'FAILURE') break
|
||||
}
|
||||
if (dtest_upgrade.result != 'SUCCESS') unstable('dtest failures')
|
||||
if (dtest_upgrade.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-upgrade', dtest_upgrade.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-upgrade-novnode') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
dtest_upgrade_novnode = build job: "${env.JOB_NAME}-dtest-upgrade-novnode", propagate: false
|
||||
if (dtest_upgrade_novnode.result != 'FAILURE') break
|
||||
}
|
||||
if (dtest_upgrade_novnode.result != 'SUCCESS') unstable('dtest-upgrade-novnode failures')
|
||||
if (dtest_upgrade_novnode.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-upgrade-novnode', dtest_upgrade_novnode.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-upgrade-novnode-large') {
|
||||
steps {
|
||||
script {
|
||||
def attempt = 1
|
||||
while (attempt <=2) {
|
||||
if (attempt > 1) {
|
||||
sleep(60 * attempt)
|
||||
}
|
||||
attempt = attempt + 1
|
||||
dtest_upgrade_novnode_large = build job: "${env.JOB_NAME}-dtest-upgrade-novnode-large", propagate: false
|
||||
if (dtest_upgrade_novnode_large.result != 'FAILURE') break
|
||||
}
|
||||
if (dtest_upgrade_novnode_large.result != 'SUCCESS') unstable('dtest-upgrade-novnode-large failures')
|
||||
if (dtest_upgrade_novnode_large.result == 'FAILURE') currentBuild.result='FAILURE'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-upgrade-novnode-large', dtest_upgrade_novnode_large.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Summary') {
|
||||
|
|
|
|||
|
|
@ -1152,7 +1152,7 @@
|
|||
<jvmarg value="-Dcassandra.test.sstableformatdevelopment=true"/>
|
||||
<!-- The first time SecureRandom initializes can be slow if it blocks on /dev/random -->
|
||||
<jvmarg value="-Djava.security.egd=file:/dev/urandom" />
|
||||
<jvmarg value="-Dcassandra.testtag=@{testtag}.jdk${ant.java.version}${testtag.extra}"/>
|
||||
<jvmarg value="-Dcassandra.testtag=@{testtag}_jdk${ant.java.version}${testtag.extra}"/>
|
||||
<jvmarg value="-Dcassandra.keepBriefBrief=${cassandra.keepBriefBrief}" />
|
||||
<jvmarg value="-Dcassandra.strict.runtime.checks=true" />
|
||||
<jvmarg value="-Dcassandra.reads.thresholds.coordinator.defensive_checks_enabled=true" /> <!-- enable defensive checks -->
|
||||
|
|
|
|||
Loading…
Reference in New Issue