Skip to content

Commit 5c577e1

Browse files
committed
add some new codecs to regression tests
1 parent b770694 commit 5c577e1

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

tests/test_regression/test_v2_dtype_regression.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import itertools
12
import subprocess
23
from dataclasses import dataclass
34
from itertools import product
@@ -13,6 +14,8 @@
1314
import zarr.abc.codec
1415
import zarr.codecs as zarrcodecs
1516
from zarr.abc.numcodec import Numcodec
17+
from zarr.codecs.blosc import BLOSC_CNAME, BLOSC_SHUFFLE, BloscCodec
18+
from zarr.codecs.gzip import GzipCodec
1619
from zarr.core.array import Array
1720
from zarr.core.chunk_key_encodings import V2ChunkKeyEncoding
1821
from zarr.core.dtype.npy.bytes import VariableLengthBytes
@@ -40,9 +43,9 @@ def runner_installed() -> bool:
4043
class ArrayParams:
4144
values: np.ndarray[tuple[int], np.dtype[np.generic]]
4245
fill_value: np.generic | str | int | bytes
43-
filters: tuple[Numcodec, ...] = ()
46+
filters: tuple[Numcodec | zarr.abc.codec.Codec, ...] = ()
4447
serializer: str | None = None
45-
compressor: Numcodec
48+
compressor: Numcodec | zarr.abc.codec.Codec
4649

4750

4851
basic_codecs: tuple[Numcodec, ...] = GZip(), Blosc(), LZ4(), LZMA(), Zstd()
@@ -93,13 +96,35 @@ class ArrayParams:
9396
compressor=GZip(),
9497
)
9598
]
99+
# Snappy is not supported by numcodecs yet
100+
zarr_v3_blosc_cases = [
101+
ArrayParams(
102+
values=np.arange(4, dtype="float64"),
103+
fill_value=1,
104+
compressor=BloscCodec(clevel=1, shuffle=shuf, cname=cname),
105+
)
106+
for shuf, cname in itertools.product(BLOSC_SHUFFLE, BLOSC_CNAME)
107+
if cname != "snappy"
108+
]
109+
110+
zarr_v3_gzip_cases = [
111+
ArrayParams(
112+
values=np.arange(4, dtype="float64"),
113+
fill_value=1,
114+
compressor=GzipCodec(level=level),
115+
)
116+
for level in [1, 2, 3]
117+
]
118+
96119
array_cases_v2_18 = (
97120
basic_array_cases
98121
+ bytes_array_cases
99122
+ datetime_array_cases
100123
+ string_array_cases
101124
+ vlen_string_cases
102125
+ vlen_bytes_cases
126+
+ zarr_v3_blosc_cases
127+
+ zarr_v3_gzip_cases
103128
)
104129

105130
array_cases_v3_08 = vlen_string_cases

0 commit comments

Comments
 (0)