Skip to content

Commit 3bc76ed

Browse files
author
Kim Gustyr
committed
support pypy
1 parent ee78052 commit 3bc76ed

2 files changed

Lines changed: 20 additions & 22 deletions

File tree

snappy/snappy_cffi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def prepare(data):
2020
_out_data = None
2121
_out_size = None
2222

23-
_out_data = ffi.new('char[]', data)
23+
_out_data = ffi.from_buffer(data)
2424
_out_size = ffi.cast('size_t', len(data))
2525

2626
return (_out_data, _out_size)
@@ -89,6 +89,6 @@ def isValidCompressed(data):
8989
decompress = uncompress
9090

9191
def _crc32c(data):
92-
c_data = ffi.new('char[]', data)
92+
c_data = ffi.from_buffer(data)
9393
size = ffi.cast('int', len(data))
9494
return int(lib._crc32c(c_data, size))

test_snappy.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -163,18 +163,17 @@ def test_compression(self):
163163
b"\x01\x04\x00\x01" + crc1 + data[:snappy.snappy._CHUNK_MAX] +
164164
b"\x01\xff\xff\x00" + crc2 + data[snappy.snappy._CHUNK_MAX:])
165165

166-
if platform.python_implementation() == 'CPython':
167-
# test that we can compress a memoryview
168-
data = memoryview(b"\x01" * (snappy.snappy._CHUNK_MAX * 2 - 5))
169-
crc1 = struct.pack("<L",
170-
snappy.snappy._masked_crc32c(data[:snappy.snappy._CHUNK_MAX]))
171-
self.assertEqual(crc1, b"h#6\x8e")
172-
crc2 = struct.pack("<L",
173-
snappy.snappy._masked_crc32c(data[snappy.snappy._CHUNK_MAX:]))
174-
self.assertEqual(crc2, b"q\x8foE")
175-
self.assertEqual(compressor.add_chunk(data, compress=False),
176-
b"\x01\x04\x00\x01" + crc1 + data[:snappy.snappy._CHUNK_MAX].tobytes() +
177-
b"\x01\xff\xff\x00" + crc2 + data[snappy.snappy._CHUNK_MAX:].tobytes())
166+
# test that we can compress a memoryview
167+
data = memoryview(b"\x01" * (snappy.snappy._CHUNK_MAX * 2 - 5))
168+
crc1 = struct.pack("<L",
169+
snappy.snappy._masked_crc32c(data[:snappy.snappy._CHUNK_MAX]))
170+
self.assertEqual(crc1, b"h#6\x8e")
171+
crc2 = struct.pack("<L",
172+
snappy.snappy._masked_crc32c(data[snappy.snappy._CHUNK_MAX:]))
173+
self.assertEqual(crc2, b"q\x8foE")
174+
self.assertEqual(compressor.add_chunk(data, compress=False),
175+
b"\x01\x04\x00\x01" + crc1 + data[:snappy.snappy._CHUNK_MAX].tobytes() +
176+
b"\x01\xff\xff\x00" + crc2 + data[snappy.snappy._CHUNK_MAX:].tobytes())
178177

179178
def test_decompression(self):
180179
# test that we check for the initial stream identifier
@@ -232,14 +231,13 @@ def test_decompression(self):
232231
uncompressed_data)
233232

234233
# test that we can decompress a memoryview
235-
if platform.python_implementation() == 'CPython':
236-
decompressor = snappy.StreamDecompressor()
237-
decompressor.decompress(memoryview(b"\xff\x06\x00\x00sNaPpY"))
238-
self.assertEqual(
239-
decompressor.copy().decompress(
240-
memoryview(b"\x01\x36\x00\x00" +
241-
struct.pack("<L", snappy.snappy._masked_crc32c(data)) + data)),
242-
data)
234+
decompressor = snappy.StreamDecompressor()
235+
decompressor.decompress(memoryview(b"\xff\x06\x00\x00sNaPpY"))
236+
self.assertEqual(
237+
decompressor.copy().decompress(
238+
memoryview(b"\x01\x36\x00\x00" +
239+
struct.pack("<L", snappy.snappy._masked_crc32c(data)) + data)),
240+
data)
243241

244242
def test_concatenation(self):
245243
data1 = os.urandom(snappy.snappy._CHUNK_MAX * 2)

0 commit comments

Comments
 (0)