-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/audit test coverage #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…EST_PLAN; fix filemanager natural_sort robustness; guard heavy optional imports with POLYSTORE_SKIP_ZARR
… delete, listing order)
- Add comprehensive FileManager test suite (test_filemanager_extended.py) covering: * Error handling for invalid backends and registry initialization * Edge cases in save/load operations with exceptions * Directory operations (exists, is_file, is_dir, mkdir, delete) * Advanced features (symlinks, find operations, mirror functionality) * Memory backend integration tests * Natural sorting for image file listing - Add ZarrStorageBackend test suite (test_zarr_backend.py) covering: * Basic array save/load operations for various dtypes and dimensions * ZarrConfig integration (compression levels, chunk strategies) * Error handling for nonexistent files * Directory existence checks - Fix pyproject.toml dependency: correct 'metaclass-register' to 'metaclass-registry' - Fix ZarrConfig dataclass: add field import and use field(default_factory=CompressorConfig) for proper default initialization of compressor attribute These changes significantly improve test coverage and resolve configuration bugs that could cause runtime issues with dataclass instantiation.
- Add comprehensive GPU acceleration dependency group to pyproject.toml: * PyTorch 2.6.0-2.8.0 with torchvision for deep learning * JAX 0.5.3-0.6.0 with CUDA plugins for high-performance computing * CuPy CUDA12x for GPU-accelerated NumPy operations * CuCIM for GPU-accelerated image processing * TensorFlow 2.19.0-2.20.0 with TensorFlow Probability * pyclesperanto for GPU-accelerated bioimage analysis - Add Kaggle integration job to CI workflow using Frederisk/kaggle-action@v1.0.0 for testing in Kaggle notebook environments These additions enable GPU-accelerated workflows and ensure compatibility with popular ML platforms while maintaining the framework-agnostic design.
- Include zarr>=2.18.0,<3.0 and ome-zarr>=0.11.0 in gpu optional dependencies - Ensures ZarrStorageBackend is available when using GPU acceleration features - Maintains compatibility with existing zarr optional dependency group
- Include .zgroup file generated during ZarrStorageBackend testing - Ensures test artifacts are properly tracked in version control - Supports reproducible testing of Zarr array storage functionality
- Remove duplicate 'gpu = [' line that was causing TOML parsing error - Ensure proper TOML array syntax for GPU dependencies - Fix CI installation failure due to malformed pyproject.toml
- Move zarr>=2.18.0,<3.0 and ome-zarr>=0.11.0 from optional to core dependencies - ZarrStorageBackend is imported directly in __init__.py and required for basic functionality - Ensures Zarr backend is always available without requiring separate installation - Maintains backward compatibility while fixing import errors
- Remove duplicate 'dependencies = []' section that was causing TOML parsing error - Keep only the correct dependencies section with zarr and ome-zarr as core requirements - Fix CI installation failure due to malformed TOML syntax
- Add import copy as py_copy at module level in memory.py - Fixes NameError in copy() method when deepcopy is called - Ensures proper deep copying of objects in memory backend operations
- Wrap StreamingBackend import in try/except to avoid import errors when OpenHCS package is not available - Maintains backward compatibility while preventing module-level import failures - StreamingBackend remains None when OpenHCS dependencies are missing
- Change test paths from '/test.npy' to '/test_save_load.npy' and '/test_exists.npy' - Prevents test interference due to shared memory backend state across test sessions - Ensures tests run independently and reliably
- Change test_exists_memory path from '/test.npy' to '/test_exists.npy' - Ensures tests run independently without shared state conflicts - Fixes test failure due to persistent memory backend state
…Backend - Removed duplicate test_save_load_memory method (second one was incomplete) - Fixed test_batch_memory body (was missing batch operation code) - Removed duplicate test_exists_memory method (second definition was correct) - Now all three methods are properly structured and isolated
- Added Python 3.13 to test matrix (was: 3.11, 3.12) - Added macOS and Windows to test matrix (was: ubuntu-only) - Now tests on 9 combinations: 3 OSes × 3 Python versions - Codecov upload restricted to ubuntu-latest + Python 3.12 to avoid duplication
The patch was a workaround for what should be a properly functioning required dependency. Since metaclass-registry is in pyproject.toml dependencies, it should work out of the box without modification. Remove the unnecessary patch step and rely on proper package installation.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.