Merge branch '14951-3.11' into 14951-trunk

This commit is contained in:
Ariel Weisberg 2019-01-15 18:08:31 -05:00
commit c291e8d815
4 changed files with 126 additions and 0 deletions

View File

@ -343,6 +343,7 @@
* Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829)
* Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870)
Merged from 3.0:
* Add a script to make running the cqlsh tests in cassandra repo easier (CASSANDRA-14951)
* If SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table. (CASSANDRA-14905)
* Streaming needs to synchronise access to LifecycleTransaction (CASSANDRA-14554)
* Fix cassandra-stress write hang with default options (CASSANDRA-14616)

100
pylib/cassandra-cqlsh-tests.sh Executable file
View File

@ -0,0 +1,100 @@
#!/bin/bash -x
################################
#
# Prep
#
################################
WORKSPACE=$1
if [ "${WORKSPACE}" = "" ]; then
echo "Specify Cassandra source directory"
exit
fi
export PYTHONIOENCODING="utf-8"
export PYTHONUNBUFFERED=true
export CASS_DRIVER_NO_EXTENSIONS=true
export CASS_DRIVER_NO_CYTHON=true
export CCM_MAX_HEAP_SIZE="2048M"
export CCM_HEAP_NEWSIZE="200M"
export CCM_CONFIG_DIR=${WORKSPACE}/.ccm
export NUM_TOKENS="32"
export CASSANDRA_DIR=${WORKSPACE}
# Loop to prevent failure due to maven-ant-tasks not downloading a jar..
for x in $(seq 1 3); do
ant -buildfile ${CASSANDRA_DIR}/build.xml realclean jar
RETURN="$?"
if [ "${RETURN}" -eq "0" ]; then
break
fi
done
# Exit, if we didn't build successfully
if [ "${RETURN}" -ne "0" ]; then
echo "Build failed with exit code: ${RETURN}"
exit ${RETURN}
fi
# Set up venv with dtest dependencies
set -e # enable immediate exit if venv setup fails
virtualenv --python=python2 --no-site-packages venv
source venv/bin/activate
pip install -r ${CASSANDRA_DIR}/pylib/requirements.txt
pip freeze
if [ "$cython" = "yes" ]; then
pip install "Cython>=0.20,<0.25"
cd pylib/; python setup.py build_ext --inplace
cd ${WORKSPACE}
fi
################################
#
# Main
#
################################
ccm remove test || true # in case an old ccm cluster is left behind
ccm create test -n 1 --install-dir=${CASSANDRA_DIR}
ccm updateconf "enable_user_defined_functions: true"
version_from_build=$(ccm node1 versionfrombuild)
export pre_or_post_cdc=$(python -c """from distutils.version import LooseVersion
print \"postcdc\" if LooseVersion(\"${version_from_build}\") >= \"3.8\" else \"precdc\"
""")
case "${pre_or_post_cdc}" in
postcdc)
ccm updateconf "cdc_enabled: true"
;;
precdc)
:
;;
*)
echo "${pre_or_post_cdc}" is an invalid value.
exit 1
;;
esac
ccm start --wait-for-binary-proto
cd ${CASSANDRA_DIR}/pylib/cqlshlib/
set +e # disable immediate exit from this point
nosetests
ccm remove
mv nosetests.xml ${WORKSPACE}/cqlshlib.xml
################################
#
# Clean
#
################################
# /virtualenv
deactivate
# Exit cleanly for usable "Unstable" status
exit 0

4
pylib/cqlshlib/setup.cfg Normal file
View File

@ -0,0 +1,4 @@
[nosetests]
verbosity=3
detailed-errors=1
with-xunit=1

21
pylib/requirements.txt Normal file
View File

@ -0,0 +1,21 @@
# See python driver docs: futures and six have to be installed before
# cythonizing the driver, perhaps only on old pips.
# http://datastax.github.io/python-driver/installation.html#cython-based-extensions
futures
six
-e git+https://github.com/datastax/python-driver.git@cassandra-test#egg=cassandra-driver
# Used ccm version is tracked by cassandra-test branch in ccm repo. Please create a PR there for fixes or upgrades to new releases.
-e git+https://github.com/riptano/ccm.git@cassandra-test#egg=ccm
cql
decorator
docopt
enum34
flaky
mock
nose
nose-test-select
parse
pycodestyle
psutil
pycassa
thrift==0.9.3