Skip to content

Commit 36d9621

Browse files
committed
ensure_bytes on buf for pcodec decode
1 parent 4fdb625 commit 36d9621

File tree

3 files changed

+6
-15
lines changed

3 files changed

+6
-15
lines changed

numcodecs/pcodec.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Literal
22

33
from numcodecs.abc import Codec
4-
from numcodecs.compat import ensure_contiguous_ndarray
4+
from numcodecs.compat import ensure_bytes, ensure_contiguous_ndarray
55
from pcodec import ChunkConfig, DeltaSpec, ModeSpec, PagingSpec, standalone
66

77
DEFAULT_MAX_PAGE_N = 262144
@@ -110,6 +110,7 @@ def encode(self, buf):
110110
return standalone.simple_compress(buf, config)
111111

112112
def decode(self, buf, out=None):
113+
buf = ensure_bytes(buf)
113114
if out is not None:
114115
out = ensure_contiguous_ndarray(out)
115116
standalone.simple_decompress_into(buf, out)

numcodecs/tests/common.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,6 @@ def check_encode_decode_array(arr, codec):
150150
assert_array_items_equal(arr, dec)
151151

152152

153-
def check_encode_decode_array_to_bytes(arr, codec):
154-
enc = codec.encode(arr)
155-
dec = codec.decode(enc)
156-
assert_array_items_equal(arr, dec)
157-
158-
out = np.empty_like(arr)
159-
codec.decode(enc, out=out)
160-
assert_array_items_equal(arr, out)
161-
162-
163153
def check_config(codec):
164154
config = codec.get_config()
165155
# round-trip through JSON to check serialization

numcodecs/tests/test_pcodec.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from numcodecs.tests.common import (
1010
check_backwards_compatibility,
1111
check_config,
12-
check_encode_decode_array_to_bytes,
12+
check_encode_decode_array,
1313
check_err_decode_object_buffer,
1414
check_err_encode_object_buffer,
1515
check_repr,
@@ -49,7 +49,7 @@
4949
@pytest.mark.parametrize("arr", arrays)
5050
@pytest.mark.parametrize("codec", codecs)
5151
def test_encode_decode(arr, codec):
52-
check_encode_decode_array_to_bytes(arr, codec)
52+
check_encode_decode_array(arr, codec)
5353

5454

5555
def test_config():
@@ -61,13 +61,13 @@ def test_config():
6161
def test_invalid_config_error(param):
6262
codec = PCodec(**{param: "bogus"})
6363
with pytest.raises(ValueError):
64-
check_encode_decode_array_to_bytes(arrays[0], codec)
64+
check_encode_decode_array(arrays[0], codec)
6565

6666

6767
def test_invalid_delta_encoding_combo():
6868
codec = PCodec(delta_encoding_order=2, delta_spec="none")
6969
with pytest.raises(ValueError):
70-
check_encode_decode_array_to_bytes(arrays[0], codec)
70+
check_encode_decode_array(arrays[0], codec)
7171

7272

7373
def test_repr():

0 commit comments

Comments
 (0)