| schedules: |
| nightly_master: |
| schedule: nightly |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| matrix: |
| exclude: |
| - python: [3.6, 3.7, 3.8] |
| - cassandra: ['2.1', '3.0', '4.0', 'test-dse'] |
| |
| commit_long_test: |
| schedule: per_commit |
| disable_pull_requests: true |
| branches: |
| include: [/long-python.*/] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| matrix: |
| exclude: |
| - python: [3.6, 3.7, 3.8] |
| - cassandra: ['2.1', '3.0', 'test-dse'] |
| |
| commit_branches: |
| schedule: per_commit |
| disable_pull_requests: true |
| branches: |
| include: [/python.*/] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| EXCLUDE_LONG=1 |
| matrix: |
| exclude: |
| - python: [3.6, 3.7, 3.8] |
| - cassandra: ['2.1', '3.0', 'test-dse'] |
| |
| commit_branches_dev: |
| schedule: per_commit |
| disable_pull_requests: true |
| branches: |
| include: [/dev-python.*/] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| EXCLUDE_LONG=1 |
| matrix: |
| exclude: |
| - python: [2.7, 3.7, 3.6, 3.8] |
| - cassandra: ['2.0', '2.1', '2.2', '3.0', '4.0', 'test-dse', 'dse-4.8', 'dse-5.0', 'dse-6.0', 'dse-6.8'] |
| |
| release_test: |
| schedule: per_commit |
| disable_pull_requests: true |
| branches: |
| include: [/release-.+/] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| |
| weekly_master: |
| schedule: 0 10 * * 6 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| matrix: |
| exclude: |
| - python: [3.5] |
| - cassandra: ['2.2', '3.1'] |
| |
| weekly_gevent: |
| schedule: 0 14 * * 6 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='gevent' |
| JUST_EVENT_LOOP=1 |
| |
| weekly_eventlet: |
| schedule: 0 18 * * 6 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='eventlet' |
| JUST_EVENT_LOOP=1 |
| |
| weekly_asyncio: |
| schedule: 0 22 * * 6 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='asyncio' |
| JUST_EVENT_LOOP=1 |
| matrix: |
| exclude: |
| - python: [2.7] |
| |
| weekly_async: |
| schedule: 0 10 * * 7 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='asyncore' |
| JUST_EVENT_LOOP=1 |
| |
| weekly_twister: |
| schedule: 0 14 * * 7 |
| disable_pull_requests: true |
| branches: |
| include: [master] |
| env_vars: | |
| EVENT_LOOP_MANAGER='twisted' |
| JUST_EVENT_LOOP=1 |
| |
| upgrade_tests: |
| schedule: adhoc |
| branches: |
| include: [master, python-546] |
| env_vars: | |
| EVENT_LOOP_MANAGER='libev' |
| JUST_UPGRADE=True |
| matrix: |
| exclude: |
| - python: [3.6, 3.7, 3.8] |
| - cassandra: ['2.0', '2.1', '2.2', '3.0', '4.0', 'test-dse'] |
| |
| python: |
| - 2.7 |
| - 3.5 |
| - 3.6 |
| - 3.7 |
| - 3.8 |
| |
| os: |
| - ubuntu/bionic64/python-driver |
| |
| cassandra: |
| - '2.1' |
| - '2.2' |
| - '3.0' |
| - '3.11' |
| - '4.0' |
| - 'dse-4.8' |
| - 'dse-5.0' |
| - 'dse-5.1' |
| - 'dse-6.0' |
| - 'dse-6.7' |
| - 'dse-6.8.0' |
| |
| env: |
| CYTHON: |
| - CYTHON |
| - NO_CYTHON |
| |
| build: |
| - script: | |
| export JAVA_HOME=$CCM_JAVA_HOME |
| export PATH=$JAVA_HOME/bin:$PATH |
| export PYTHONPATH="" |
| export CCM_MAX_HEAP_SIZE=1024M |
| |
| # Required for unix socket tests |
| sudo apt-get install socat |
| |
| # Install latest setuptools |
| pip install --upgrade pip |
| pip install -U setuptools |
| |
| pip install git+ssh://git@github.com/riptano/ccm-private.git@cassandra-7544-native-ports-with-dse-fix |
| |
| #pip install $HOME/ccm |
| |
| if [ -n "$CCM_IS_DSE" ]; then |
| pip install -r test-datastax-requirements.txt |
| else |
| pip install -r test-requirements.txt |
| fi |
| |
| pip install nose-ignore-docstring |
| pip install nose-exclude |
| pip install service_identity |
| |
| FORCE_CYTHON=False |
| if [[ $CYTHON == 'CYTHON' ]]; then |
| FORCE_CYTHON=True |
| pip install cython |
| pip install numpy |
| # Install the driver & compile C extensions |
| python setup.py build_ext --inplace |
| else |
| # Install the driver & compile C extensions with no cython |
| python setup.py build_ext --inplace --no-cython |
| fi |
| |
| echo "JUST_UPGRADE: $JUST_UPGRADE" |
| if [[ $JUST_UPGRADE == 'True' ]]; then |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=upgrade_results.xml tests/integration/upgrade || true |
| exit 0 |
| fi |
| |
| if [[ $JUST_SMOKE == 'true' ]]; then |
| # When we ONLY want to run the smoke tests |
| echo "JUST_SMOKE: $JUST_SMOKE" |
| echo "==========RUNNING SMOKE TESTS===========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CCM_ARGS="$CCM_ARGS" CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION DSE_VERSION='6.7.0' MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=standard_results.xml tests/integration/standard/test_dse.py || true |
| exit 0 |
| fi |
| |
| # Run the unit tests, this is not done in travis because |
| # it takes too much time for the whole matrix to build with cython |
| if [[ $CYTHON == 'CYTHON' ]]; then |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER VERIFY_CYTHON=1 nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=unit_results.xml tests/unit/ || true |
| EVENT_LOOP_MANAGER=eventlet VERIFY_CYTHON=1 nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=unit_eventlet_results.xml tests/unit/io/test_eventletreactor.py || true |
| EVENT_LOOP_MANAGER=gevent VERIFY_CYTHON=1 nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=unit_gevent_results.xml tests/unit/io/test_geventreactor.py || true |
| fi |
| |
| if [ -n "$JUST_EVENT_LOOP" ]; then |
| echo "Running integration event loop subset with $EVENT_LOOP_MANAGER" |
| EVENT_LOOP_TESTS=( |
| "tests/integration/standard/test_cluster.py" |
| "tests/integration/standard/test_concurrent.py" |
| "tests/integration/standard/test_connection.py" |
| "tests/integration/standard/test_control_connection.py" |
| "tests/integration/standard/test_metrics.py" |
| "tests/integration/standard/test_query.py" |
| "tests/integration/simulacron/test_endpoint.py" |
| "tests/integration/long/test_ssl.py" |
| ) |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CCM_ARGS="$CCM_ARGS" DSE_VERSION=$DSE_VERSION CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=standard_results.xml ${EVENT_LOOP_TESTS[@]} || true |
| exit 0 |
| fi |
| |
| echo "Running with event loop manager: $EVENT_LOOP_MANAGER" |
| echo "==========RUNNING SIMULACRON TESTS==========" |
| SIMULACRON_JAR="$HOME/simulacron.jar" |
| SIMULACRON_JAR=$SIMULACRON_JAR EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CASSANDRA_DIR=$CCM_INSTALL_DIR CCM_ARGS="$CCM_ARGS" DSE_VERSION=$DSE_VERSION CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=simulacron_results.xml tests/integration/simulacron/ || true |
| |
| echo "Running with event loop manager: $EVENT_LOOP_MANAGER" |
| echo "==========RUNNING CQLENGINE TESTS==========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CCM_ARGS="$CCM_ARGS" DSE_VERSION=$DSE_VERSION CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=cqle_results.xml tests/integration/cqlengine/ || true |
| |
| echo "==========RUNNING INTEGRATION TESTS==========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CCM_ARGS="$CCM_ARGS" DSE_VERSION=$DSE_VERSION CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=standard_results.xml tests/integration/standard/ || true |
| |
| if [ -n "$DSE_VERSION" ] && ! [[ $DSE_VERSION == "4.8"* ]]; then |
| echo "==========RUNNING DSE INTEGRATION TESTS==========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CASSANDRA_DIR=$CCM_INSTALL_DIR DSE_VERSION=$DSE_VERSION ADS_HOME=$HOME/ VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=dse_results.xml tests/integration/advanced/ || true |
| fi |
| |
| echo "==========RUNNING CLOUD TESTS==========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CLOUD_PROXY_PATH="$HOME/proxy/" CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=advanced_results.xml tests/integration/cloud/ || true |
| |
| if [ -z "$EXCLUDE_LONG" ]; then |
| echo "==========RUNNING LONG INTEGRATION TESTS==========" |
| EVENT_LOOP_MANAGER=$EVENT_LOOP_MANAGER CCM_ARGS="$CCM_ARGS" DSE_VERSION=$DSE_VERSION CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION MAPPED_CASSANDRA_VERSION=$MAPPED_CASSANDRA_VERSION VERIFY_CYTHON=$FORCE_CYTHON nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --exclude-dir=tests/integration/long/upgrade --with-ignore-docstrings --with-xunit --xunit-file=long_results.xml tests/integration/long/ || true |
| fi |
| |
| - xunit: |
| - "*_results.xml" |