Minor fixes for pypy tests

This commit is contained in:
Tyler Hobbs
2014-01-15 13:00:27 -06:00
parent e9b81997fe
commit e1d24db273
4 changed files with 25 additions and 15 deletions

View File

@@ -229,7 +229,7 @@ class BoundStatement(Statement):
try: try:
self.values.append(col_type.serialize(value)) self.values.append(col_type.serialize(value))
except struct.error: except (TypeError, struct.error):
col_name = col_spec[2] col_name = col_spec[2]
expected_type = col_type expected_type = col_type
actual_type = type(value) actual_type = type(value)

View File

@@ -19,8 +19,9 @@ from cassandra.marshal import uint8_pack, uint32_pack
try: try:
from cassandra.io.libevreactor import LibevConnection from cassandra.io.libevreactor import LibevConnection
except ImportError as exc: except ImportError:
raise unittest.SkipTest('libev does not appear to be installed correctly: %s' % (exc,)) LibevConnection = None # noqa
@patch('socket.socket') @patch('socket.socket')
@patch('cassandra.io.libevwrapper.IO') @patch('cassandra.io.libevwrapper.IO')
@@ -29,6 +30,10 @@ except ImportError as exc:
@patch('cassandra.io.libevreactor._start_loop') @patch('cassandra.io.libevreactor._start_loop')
class LibevConnectionTest(unittest.TestCase): class LibevConnectionTest(unittest.TestCase):
def setUp(self):
if LibevConnection is None:
raise unittest.SkipTest('libev does not appear to be installed correctly')
def make_connection(self): def make_connection(self):
c = LibevConnection('1.2.3.4') c = LibevConnection('1.2.3.4')
c._socket = Mock() c._socket = Mock()

View File

@@ -8,7 +8,11 @@ from datetime import datetime
from decimal import Decimal from decimal import Decimal
from uuid import UUID from uuid import UUID
from blist import sortedset try:
from blist import sortedset
except ImportError:
sortedset = set
try: try:
from collections import OrderedDict from collections import OrderedDict
except ImportError: # Python <2.7 except ImportError: # Python <2.7
@@ -85,6 +89,7 @@ if platform.python_implementation() == 'CPython':
# CPython # CPython
marshalled_value_pairs += marshalled_value_pairs_unsafe marshalled_value_pairs += marshalled_value_pairs_unsafe
class TestUnmarshal(unittest.TestCase): class TestUnmarshal(unittest.TestCase):
def test_unmarshalling(self): def test_unmarshalling(self):
for serializedval, valtype, nativeval in marshalled_value_pairs: for serializedval, valtype, nativeval in marshalled_value_pairs:

View File

@@ -7,7 +7,7 @@ import cassandra
from cassandra.metadata import (TableMetadata, Murmur3Token, MD5Token, from cassandra.metadata import (TableMetadata, Murmur3Token, MD5Token,
BytesToken, ReplicationStrategy, BytesToken, ReplicationStrategy,
NetworkTopologyStrategy, SimpleStrategy, NetworkTopologyStrategy, SimpleStrategy,
LocalStrategy) LocalStrategy, NoMurmur3)
from cassandra.policies import SimpleConvictionPolicy from cassandra.policies import SimpleConvictionPolicy
from cassandra.pool import Host from cassandra.pool import Host
@@ -203,22 +203,22 @@ class TestTokens(unittest.TestCase):
for keyword in non_valid_keywords: for keyword in non_valid_keywords:
self.assertEqual(table_metadata.is_valid_name(keyword), False) self.assertEqual(table_metadata.is_valid_name(keyword), False)
def test_token_values(self): def test_murmur3_tokens(self):
""" try:
Spot check token classes and values murmur3_token = Murmur3Token(cassandra.metadata.MIN_LONG - 1)
""" self.assertEqual(murmur3_token.hash_fn('123'), -7468325962851647638)
self.assertEqual(murmur3_token.hash_fn(str(cassandra.metadata.MAX_LONG)), 7162290910810015547)
# spot check murmur3 self.assertEqual(str(murmur3_token), '<Murmur3Token: -9223372036854775809L>')
murmur3_token = Murmur3Token(cassandra.metadata.MIN_LONG - 1) except NoMurmur3:
self.assertEqual(murmur3_token.hash_fn('123'), -7468325962851647638) raise unittest.SkipTest('The murmur3 extension is not available')
self.assertEqual(murmur3_token.hash_fn(str(cassandra.metadata.MAX_LONG)), 7162290910810015547)
self.assertEqual(str(murmur3_token), '<Murmur3Token: -9223372036854775809L>')
def test_md5_tokens(self):
md5_token = MD5Token(cassandra.metadata.MIN_LONG - 1) md5_token = MD5Token(cassandra.metadata.MIN_LONG - 1)
self.assertEqual(md5_token.hash_fn('123'), 42767516990368493138776584305024125808L) self.assertEqual(md5_token.hash_fn('123'), 42767516990368493138776584305024125808L)
self.assertEqual(md5_token.hash_fn(str(cassandra.metadata.MAX_LONG)), 28528976619278518853815276204542453639L) self.assertEqual(md5_token.hash_fn(str(cassandra.metadata.MAX_LONG)), 28528976619278518853815276204542453639L)
self.assertEqual(str(md5_token), '<MD5Token: -9223372036854775809L>') self.assertEqual(str(md5_token), '<MD5Token: -9223372036854775809L>')
def test_bytes_tokens(self):
bytes_token = BytesToken(str(cassandra.metadata.MIN_LONG - 1)) bytes_token = BytesToken(str(cassandra.metadata.MIN_LONG - 1))
self.assertEqual(bytes_token.hash_fn('123'), '123') self.assertEqual(bytes_token.hash_fn('123'), '123')
self.assertEqual(bytes_token.hash_fn(123), 123) self.assertEqual(bytes_token.hash_fn(123), 123)