Skip to content

Commit

Permalink
move v3/tests to tests (#2396)
Browse files Browse the repository at this point in the history
* move v3/tests to tests and fix various mypy issues

* test(ci): change branch name in v3 workflows (#2368)

* Use lazy % formatting in logging functions (#2366)

* Use lazy % formatting in logging functions

* f-string should be more efficient

* Space before unit symbol

From "SI Unit rules and style conventions":
https://physics.nist.gov/cuu/Units/checklist.html

	There is a space between the numerical value and unit symbol,
	even when the value is used in an adjectival sense, except in
	the case of superscript units for plane angle.

* Enforce ruff/flake8-logging-format rules (G)

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Move roadmap and v3-design documument to docs (#2354)

* move roadmap to docs

* formatting and minor copy editing

* Multiple imports for an import name (#2367)

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Enforce ruff/pycodestyle warnings (W) (#2369)

* Apply ruff/pycodestyle rule W291

W291 Trailing whitespace

* Enforce ruff/pycodestyle warnings (W)

It looks like `ruff format` does not catch all trailing spaces.

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Apply ruff/pycodestyle preview rule E262 (#2370)

E262 Inline comment should start with `# `

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Fix typo (#2382)

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Imported name is not used anywhere in the module (#2379)

* Missing mandatory keyword argument `shape` (#2376)

* Update ruff rules to ignore (#2374)

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Docstrings for arraymodule (#2276)

* start to docstrings for arraymodule

* incorporating toms edits, overriding mypy error...

* fix attrs

* Update src/zarr/core/array.py

Co-authored-by: Sanket Verma <svsanketverma5@gmail.com>

* fix store -> storage

* remove properties from asyncarray docstring

---------

Co-authored-by: Sanket Verma <svsanketverma5@gmail.com>
Co-authored-by: Joe Hamman <joe@earthmover.io>

* fix/normalize storage paths (#2384)

* bring in path normalization function from v2, and add a failing test

* rephrase comment

* simplify storepath creation

* Update tests/v3/test_api.py

Co-authored-by: Joe Hamman <joe@earthmover.io>

* refactor: remove redundant zarr format fixture

* replace assertion with an informative error message

* fix incorrect path concatenation in make_store_path, and refactor store_path tests

* remove upath import because we don't need it

* apply suggestions from code review

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Enforce ruff/flake8-pyi rule PYI013 (#2389)

PYI013 Non-empty class body must not contain `...`

Note that documentation is enough to fill the class body.

* deps: remove fasteners from list of dependencies (#2386)

* Enforce ruff/flake8-annotations rule ANN003 (#2388)

ANN003 Missing type annotation

Co-authored-by: Joe Hamman <joe@earthmover.io>

* Enforce ruff/Perflint rules (PERF) (#2372)

* Apply ruff/Perflint rule PERF401

PERF401 Use a list comprehension to create a transformed list

* Enforce ruff/Perflint rules (PERF)

* chore: update package maintainers (#2387)

* chore: update package maintainers

* Update pyproject.toml

Co-authored-by: David Stansby <dstansby@gmail.com>

---------

Co-authored-by: David Stansby <dstansby@gmail.com>

* Fixed consolidated Group getitem with multi-part key (#2363)

* Fixed consolidated Group getitem with multi-part key

This fixes `Group.__getitem__` when indexing with a key
like 'subgroup/array'. The basic idea is to rewrite the indexing
operation as `group['subgroup']['array']` by splitting the key
and doing each operation independently.

Closes #2358

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>

* chore: add python 3.13 to ci / pyproject.toml (#2385)

* chore: add python 3.13 to ci / pyproject.toml

* update hatch matrix

* remove references to dead test dir in pyproject.toml

* remove v3 reference in test

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>
Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Co-authored-by: Emma Marshall <55526386+e-marshall@users.noreply.github.com>
Co-authored-by: Sanket Verma <svsanketverma5@gmail.com>
Co-authored-by: David Stansby <dstansby@gmail.com>
Co-authored-by: Tom Augspurger <tom.w.augspurger@gmail.com>
  • Loading branch information
7 people authored Oct 18, 2024
1 parent 435073c commit e35c4fc
Show file tree
Hide file tree
Showing 40 changed files with 27 additions and 19 deletions.
27 changes: 13 additions & 14 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ run-coverage-gpu = "pip install cupy-cuda12x && pytest -m gpu --cov-config=pypro
run = "run-coverage --no-cov"
run-verbose = "run-coverage --verbose"
run-mypy = "mypy src"
run-hypothesis = "pytest --hypothesis-profile ci tests/v3/test_properties.py tests/v3/test_store/test_stateful*"
run-hypothesis = "pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*"
list-env = "pip list"

[tool.hatch.envs.gputest]
Expand All @@ -173,7 +173,7 @@ run-coverage = "pytest -m gpu --cov-config=pyproject.toml --cov=pkg --cov=tests"
run = "run-coverage --no-cov"
run-verbose = "run-coverage --verbose"
run-mypy = "mypy src"
run-hypothesis = "pytest --hypothesis-profile ci tests/v3/test_properties.py tests/v3/test_store/test_stateful*"
run-hypothesis = "pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*"
list-env = "pip list"

[tool.hatch.envs.docs]
Expand Down Expand Up @@ -282,18 +282,17 @@ ignore_errors = true

[[tool.mypy.overrides]]
module = [
"tests.v2.*",
"tests.v3.package_with_entrypoint.*",
"tests.v3.test_codecs.test_codecs",
"tests.v3.test_codecs.test_transpose",
"tests.v3.test_metadata.*",
"tests.v3.test_store.*",
"tests.v3.test_config",
"tests.v3.test_group",
"tests.v3.test_indexing",
"tests.v3.test_properties",
"tests.v3.test_sync",
"tests.v3.test_v2",
"tests.package_with_entrypoint.*",
"tests.test_codecs.test_codecs",
"tests.test_codecs.test_transpose",
"tests.test_metadata.*",
"tests.test_store.*",
"tests.test_config",
"tests.test_group",
"tests.test_indexing",
"tests.test_properties",
"tests.test_sync",
"tests.test_v2",
]
ignore_errors = true

Expand Down
17 changes: 13 additions & 4 deletions src/zarr/testing/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

from typing import TYPE_CHECKING, Any, cast
from collections.abc import Callable, Coroutine
from typing import TYPE_CHECKING, Any, TypeVar, cast

import pytest

Expand Down Expand Up @@ -37,8 +38,16 @@ def has_cupy() -> bool:
return False


T_Callable = TypeVar("T_Callable", bound=Callable[[], Coroutine[Any, Any, None]])


# Decorator for GPU tests
def gpu_test(func: Any) -> Any:
return pytest.mark.gpu(
pytest.mark.skipif(not has_cupy(), reason="CuPy not installed or no GPU available")(func)
def gpu_test(func: T_Callable) -> T_Callable:
return cast(
T_Callable,
pytest.mark.gpu(
pytest.mark.skipif(not has_cupy(), reason="CuPy not installed or no GPU available")(
func
)
),
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion tests/v3/test_config.py → tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class MockClass:

assert (
fully_qualified_name(MockClass)
== "tests.v3.test_config.test_fully_qualified_name.<locals>.MockClass"
== "tests.test_config.test_fully_qualified_name.<locals>.MockClass"
)


Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file removed tests/v3/test_store/__init__.py
Empty file.

0 comments on commit e35c4fc

Please sign in to comment.