From 30219bad7035beeaf751ee24f9a1a869a831692c Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Wed, 12 Jul 2023 09:11:47 -0700 Subject: [PATCH] Fix testing of min and optional requirements (#99) * Fix testing of min and optional requirements * Update CHANGELOG.md * Update tox.ini * Ignore pkg_resources deprecation warning in test_gallery (#100) * Update test_gallery.py * Update requirements-min.txt * Update setup.py * Update requirements.txt * Use hdmf 3.5.4 only * Update tox.ini * Discard changes to .github/workflows/run_all_tests.yml --------- Co-authored-by: Matthew Avaylon --- CHANGELOG.md | 6 +++++- requirements-min.txt | 4 ++-- requirements.txt | 4 ++-- setup.py | 4 ++-- test_gallery.py | 16 ++++++++++++++++ tox.ini | 16 ++++++++++++---- 6 files changed, 39 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 055b5dcd..7554d4be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,11 @@ ### Test suite enhancements * Modularized unit tests to simplify running tests for multiple Zarr storage backends. @oruebel [#62](https://github.com/hdmf-dev/hdmf-zarr/pull/62) -* Updated tests to handle upcoming changes to ``HDMFIO``. @rly [#102](https://github.com/hdmf-dev/hdmf-zarr/pull/102) +* Fixed CI testing of minimum and optional installation requirement. @rly + [#99](https://github.com/hdmf-dev/hdmf-zarr/pull/99) +* Updated tests to handle upcoming changes to ``HDMFIO``. @rly + [#102](https://github.com/hdmf-dev/hdmf-zarr/pull/102) + ### Docs * Added developer documentation on how to integrate new storage backends with ZarrIO. @oruebel diff --git a/requirements-min.txt b/requirements-min.txt index 003d102b..f5de79ad 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,6 +1,6 @@ -hdmf==3.5.2 +hdmf==3.5.4 zarr==2.11.0 numcodecs==0.9.1 -pynwb==2.0.0 +pynwb==2.3.2 setuptools importlib_resources;python_version<'3.9' # Remove when python 3.9 becomes the new minimum diff --git a/requirements.txt b/requirements.txt index fe306dc3..6c5f1020 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # pinned dependencies to reproduce an entire development environment to use HDMF-ZARR -hdmf==3.5.2 +hdmf==3.5.4 zarr==2.11.0 -pynwb==2.3.0 +pynwb==2.3.2 numpy==1.23.5 numcodecs==0.11.0 diff --git a/setup.py b/setup.py index 1b6582d5..254bd0f5 100755 --- a/setup.py +++ b/setup.py @@ -17,11 +17,11 @@ reqs = [ - 'hdmf<=3.5.4, >=3.5.2', + 'hdmf==3.5.4', # temporary 'zarr>=2.11.0', 'numpy>=1.22, <1.24; python_version>"3.7"', 'numcodecs>=0.9.1', - 'pynwb>=2.0.0', + 'pynwb>=2.3.2', 'setuptools', ] diff --git a/test_gallery.py b/test_gallery.py index 731a9f0d..77613a89 100644 --- a/test_gallery.py +++ b/test_gallery.py @@ -23,6 +23,14 @@ def _import_from_file(script): spec.loader.exec_module(module) +_pkg_resources_warning_re = ( + "pkg_resources is deprecated as an API" +) + +_pkg_resources_declare_warning_re = ( + r"Deprecated call to `pkg_resources\.declare_namespace.*" +) + _numpy_warning_re = ( "numpy.ufunc size changed, may indicate binary incompatibility. Expected 216, got 192" ) @@ -111,6 +119,14 @@ def run_gallery_tests(): # against a different version of numpy than the one installed "ignore", message=_numpy_warning_re, category=RuntimeWarning ) + warnings.filterwarnings( + # this warning is triggered when downstream code such as pynwb uses pkg_resources>=5.13 + "ignore", message=_pkg_resources_warning_re, category=DeprecationWarning + ) + warnings.filterwarnings( + # this warning is triggered when downstream code such as pynwb uses pkg_resources>=5.13 + "ignore", message=_pkg_resources_declare_warning_re, category=DeprecationWarning + ) _import_from_file(script_abs) except Exception: print(traceback.format_exc()) diff --git a/tox.ini b/tox.ini index 69cf27bf..b79471ed 100644 --- a/tox.ini +++ b/tox.ini @@ -14,7 +14,7 @@ setenv = PYTHONDONTWRITEBYTECODE = 1 VIRTUALENV_python -m pip = 22.3.1 install_command = - python -m pip install -U {opts} {packages} + python -m pip install {opts} {packages} deps = -rrequirements-dev.txt @@ -37,7 +37,8 @@ basepython = python3.11 install_command = python -m pip install {opts} {packages} deps = - -rrequirements-dev.txt + {[testenv]deps} + # -rrequirements-opt.txt commands = {[testenv]commands} # Test with python 3.11; pinned dev and optional reqs; upgraded run reqs @@ -47,6 +48,7 @@ install_command = python -m pip install -U {opts} {packages} deps = -rrequirements-dev.txt + # -rrequirements-opt.txt commands = {[testenv]commands} # Test with python 3.11; pinned dev and optional reqs; upgraded, pre-release run reqs @@ -56,6 +58,7 @@ install_command = python -m pip install -U --pre {opts} {packages} deps = -rrequirements-dev.txt + # -rrequirements-opt.txt commands = {[testenv]commands} # Test with python 3.7; pinned dev reqs; minimum run reqs @@ -95,7 +98,8 @@ commands = {[testenv:build]commands} [testenv:build-py311-optional] basepython = python3.11 deps = - -rrequirements-dev.txt + {[testenv]deps} + # -rrequirements-opt.txt commands = {[testenv:build]commands} [testenv:build-py311-upgraded] @@ -104,6 +108,7 @@ install_command = python -m pip install -U {opts} {packages} deps = -rrequirements-dev.txt + # -rrequirements-opt.txt commands = {[testenv:build]commands} [testenv:build-py311-prerelease] @@ -112,6 +117,7 @@ install_command = python -m pip install -U --pre {opts} {packages} deps = -rrequirements-dev.txt + # -rrequirements-opt.txt commands = {[testenv:build]commands} [testenv:build-py37-minimum] @@ -129,7 +135,7 @@ commands = python -c "import hdmf_zarr" # Envs that will execute gallery tests [testenv:gallery] install_command = - python -m pip install -U {opts} {packages} + python -m pip install {opts} {packages} deps = -rrequirements-dev.txt @@ -167,6 +173,7 @@ install_command = deps = -rrequirements-dev.txt -rrequirements-doc.txt + # -rrequirements-opt.txt commands = {[testenv:gallery]commands} # Test with python 3.11; pinned dev, doc, and optional reqs; pre-release run reqs @@ -177,6 +184,7 @@ install_command = deps = -rrequirements-dev.txt -rrequirements-doc.txt + # -rrequirements-opt.txt commands = {[testenv:gallery]commands} # Test with python 3.7; pinned dev and doc reqs; minimum run reqs