PYTHON-543 Forced cython validation
This commit is contained in:
@@ -27,8 +27,9 @@ build:
|
||||
fi
|
||||
pip install -r test-requirements.txt
|
||||
pip install nose-ignore-docstring
|
||||
|
||||
FORCE_CYTHON=False
|
||||
if [[ $CYTHON == 'CYTHON' ]]; then
|
||||
FORCE_CYTHON=True
|
||||
pip install cython
|
||||
pip install numpy
|
||||
# Install the driver & compile C extensions
|
||||
@@ -39,12 +40,12 @@ build:
|
||||
fi
|
||||
|
||||
echo "==========RUNNING CQLENGINE TESTS=========="
|
||||
CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION 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
|
||||
CASSANDRA_VERSION=$CCM_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=========="
|
||||
CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION 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
|
||||
CASSANDRA_VERSION=$CCM_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
|
||||
|
||||
echo "==========RUNNING LONG INTEGRATION TESTS=========="
|
||||
CASSANDRA_VERSION=$CCM_CASSANDRA_VERSION nosetests -s -v --logging-format="[%(levelname)s] %(asctime)s %(thread)d: %(message)s" --with-ignore-docstrings --with-xunit --xunit-file=long_results.xml tests/integration/long/ || true
|
||||
CASSANDRA_VERSION=$CCM_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=long_results.xml tests/integration/long/ || true
|
||||
- xunit:
|
||||
- "*_results.xml"
|
||||
|
||||
@@ -86,6 +86,15 @@ def _tuple_version(version_string):
|
||||
|
||||
USE_CASS_EXTERNAL = bool(os.getenv('USE_CASS_EXTERNAL', False))
|
||||
|
||||
# If set to to true this will force the Cython tests to run regardless of whether they are installed
|
||||
cython_env = os.getenv('VERIFY_CYTHON', "False")
|
||||
|
||||
|
||||
VERIFY_CYTHON = False
|
||||
|
||||
if(cython_env == 'True'):
|
||||
VERIFY_CYTHON = True
|
||||
|
||||
default_cassandra_version = '2.2.0'
|
||||
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ except ImportError:
|
||||
from cassandra.query import tuple_factory
|
||||
from cassandra.cluster import Cluster
|
||||
from cassandra.protocol import ProtocolHandler, LazyProtocolHandler, NumpyProtocolHandler
|
||||
|
||||
from tests.integration import use_singledc, PROTOCOL_VERSION, notprotocolv1, drop_keyspace_shutdown_cluster
|
||||
from cassandra.cython_deps import HAVE_CYTHON, HAVE_NUMPY
|
||||
from tests.integration import use_singledc, PROTOCOL_VERSION, notprotocolv1, drop_keyspace_shutdown_cluster, VERIFY_CYTHON
|
||||
from tests.integration.datatype_utils import update_datatypes
|
||||
from tests.integration.standard.utils import (
|
||||
create_table_with_all_types, get_all_primitive_params, get_primitive_datatypes)
|
||||
@@ -123,6 +123,20 @@ class CythonProtocolHandlerTest(unittest.TestCase):
|
||||
|
||||
cluster.shutdown()
|
||||
|
||||
@numpytest
|
||||
def test_cython_numpy_are_installed_valid(self):
|
||||
"""
|
||||
Test to validate that cython and numpy are installed correctly
|
||||
@since 3.3.0
|
||||
@jira_ticket PYTHON-543
|
||||
@expected_result Cython and Numpy should be present
|
||||
|
||||
@test_category configuration
|
||||
"""
|
||||
if VERIFY_CYTHON:
|
||||
self.assertTrue(HAVE_CYTHON)
|
||||
self.assertTrue(HAVE_NUMPY)
|
||||
|
||||
def _verify_numpy_page(self, page):
|
||||
colnames = self.colnames
|
||||
datatypes = get_primitive_datatypes()
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
from cassandra.cython_deps import HAVE_CYTHON, HAVE_NUMPY
|
||||
from tests.integration import VERIFY_CYTHON
|
||||
|
||||
try:
|
||||
import unittest2 as unittest
|
||||
@@ -34,6 +35,6 @@ def cyimport(import_path):
|
||||
|
||||
# @cythontest
|
||||
# def test_something(self): ...
|
||||
cythontest = unittest.skipUnless(HAVE_CYTHON, 'Cython is not available')
|
||||
cythontest = unittest.skipUnless((HAVE_CYTHON or VERIFY_CYTHON) or VERIFY_CYTHON, 'Cython is not available')
|
||||
notcython = unittest.skipIf(HAVE_CYTHON, 'Cython not supported')
|
||||
numpytest = unittest.skipUnless(HAVE_CYTHON and HAVE_NUMPY, 'NumPy is not available')
|
||||
numpytest = unittest.skipUnless((HAVE_CYTHON and HAVE_NUMPY) or VERIFY_CYTHON, 'NumPy is not available')
|
||||
|
||||
Reference in New Issue
Block a user