Skip to content

Commit

Permalink
Fix a few failing tests under Python 3
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Marandon committed Feb 19, 2015
1 parent 5afc931 commit e36843e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
5 changes: 3 additions & 2 deletions tests/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,16 @@
import hiredis
import functools
import random
import six


BIG_VALUE = "".join(["%i" % random.randint(0, 9) for x in range(0, 1000000)])
BIG_VALUE = six.b("".join(["%i" % random.randint(0, 9) for x in range(0, 1000000)]))


class FakeSocketObject(object):

def __init__(self, *args, **kwargs):
cls = socket._socketobject
cls = socket._socket.socket
self.__socket = cls(*args, **kwargs)

def setblocking(self, *args, **kwargs):
Expand Down
34 changes: 17 additions & 17 deletions tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,29 @@ class DummyException(Exception):
class UtilsTestCase(tornado.testing.AsyncTestCase):

def test_protocol1(self):
res = str(format_args_in_redis_protocol("PING"))
res = bytes(format_args_in_redis_protocol("PING"))
self.assertEquals(res, b"*1\r\n$4\r\nPING\r\n")

def test_protocol2(self):
res = str(format_args_in_redis_protocol("SET", "key", "foobar"))
res = bytes(format_args_in_redis_protocol("SET", "key", "foobar"))
self.assertEquals(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
b"$6\r\nfoobar\r\n")
res = str(format_args_in_redis_protocol("SET", "key", six.u("foobar")))
res = bytes(format_args_in_redis_protocol("SET", "key", six.u("foobar")))
self.assertEquals(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
b"$6\r\nfoobar\r\n")

def test_protocol3(self):
res = str(format_args_in_redis_protocol("SET", "key", six.u("\xe9")))
res = bytes(format_args_in_redis_protocol("SET", "key", six.u("\xe9")))
self.assertEquals(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
b"$2\r\n\xc3\xa9\r\n")

def test_protocol4(self):
res = str(format_args_in_redis_protocol("SET", "key", b"\000"))
res = bytes(format_args_in_redis_protocol("SET", "key", b"\000"))
self.assertEquals(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
b"$1\r\n\000\r\n")

def test_protocol5(self):
res = str(format_args_in_redis_protocol("SET", "key", 1))
res = bytes(format_args_in_redis_protocol("SET", "key", 1))
self.assertEquals(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
b"$1\r\n1\r\n")

Expand Down Expand Up @@ -82,11 +82,11 @@ def test_context_manager_future_exception(self):

def _make_test_buffer(self):
x = WriteBuffer()
x.append("23")
x.append("4")
x.append("")
x.append("56789")
x.appendleft("1")
x.append(b"23")
x.append(b"4")
x.append(b"")
x.append(b"56789")
x.appendleft(b"1")
return x

def _get_chunk_as_str(self, buf, max_size):
Expand All @@ -98,13 +98,13 @@ def _get_chunk_as_str(self, buf, max_size):

def test_write_buffer1(self):
b = self._make_test_buffer()
s = str(b)
s = bytes(b)
self.assertEquals(s, b"123456789")
self.assertFalse(b.is_empty())
self.assertEquals(b._total_length, 9)
b2 = self._make_test_buffer()
b.extend(b2)
s = str(b)
s = bytes(b)
self.assertEquals(s, b"123456789123456789")
self.assertFalse(b.is_empty())
self.assertEquals(b._total_length, 18)
Expand All @@ -116,19 +116,19 @@ def test_write_buffer2(self):
b = self._make_test_buffer()
chunk = self._get_chunk_as_str(b, 1)
self.assertEquals(chunk, b"1")
self.assertEquals(str(b), b"23456789")
self.assertEquals(bytes(b), b"23456789")
self.assertEquals(b._total_length, 8)
chunk = self._get_chunk_as_str(b, 1)
self.assertEquals(chunk, b"2")
self.assertEquals(str(b), b"3456789")
self.assertEquals(bytes(b), b"3456789")
self.assertEquals(b._total_length, 7)
chunk = self._get_chunk_as_str(b, 4)
self.assertEquals(chunk, b"3456")
self.assertEquals(str(b), b"789")
self.assertEquals(bytes(b), b"789")
self.assertEquals(b._total_length, 3)
chunk = self._get_chunk_as_str(b, 10)
self.assertEquals(chunk, b"789")
self.assertEquals(str(b), b"")
self.assertEquals(bytes(b), b"")
self.assertEquals(b._total_length, 0)

def test_write_buffer3(self):
Expand Down
3 changes: 3 additions & 0 deletions tornadis/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ def __init__(self):
def __str__(self):
return self._tobytes(self._deque)

def __bytes__(self):
return self._tobytes(self._deque)

def _tobytes(self, iterable):
if not self._has_view:
# fast path
Expand Down

0 comments on commit e36843e

Please sign in to comment.