mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2025-12-16 01:57:04 +08:00
Add comprehensive pip dependency conflict resolution framework as draft implementation. This is self-contained and does not affect existing ComfyUI Manager functionality. Key components: - pip_util.py with PipBatch class for policy-driven package management - Lazy-loaded policy system supporting base + user overrides - Multi-stage policy execution (uninstall → apply_first_match → apply_all_matches → restore) - Conditional policies based on platform, installed packages, and ComfyUI version - Comprehensive test suite covering edge cases, workflows, and platform scenarios - Design and implementation documentation Policy capabilities (draft): - Package replacement (e.g., PIL → Pillow, opencv-python → opencv-contrib-python) - Version pinning to prevent dependency conflicts - Dependency protection during installations - Platform-specific handling (Linux/Windows, GPU detection) - Pre-removal and post-restoration workflows Testing infrastructure: - Pytest-based test suite with isolated environments - Dependency analysis tools for conflict detection - Coverage for policy priority, edge cases, and environment recovery Status: Draft implementation complete, integration with manager workflows pending.
42 lines
989 B
INI
42 lines
989 B
INI
[pytest]
|
|
# Global pytest configuration for comfyui-manager tests
|
|
|
|
# Test discovery
|
|
python_files = test_*.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Add comfyui_manager to Python path
|
|
pythonpath = ../comfyui_manager
|
|
|
|
# Output options
|
|
addopts =
|
|
# Verbose output
|
|
-v
|
|
# Show extra test summary info
|
|
-ra
|
|
# Show local variables in tracebacks
|
|
--showlocals
|
|
# Strict markers (fail on unknown markers)
|
|
--strict-markers
|
|
|
|
# Markers for test categorization
|
|
markers =
|
|
unit: Unit tests for individual functions
|
|
integration: Integration tests for policy application
|
|
e2e: End-to-end workflow tests
|
|
slow: Tests that take significant time
|
|
requires_network: Tests that require network access
|
|
|
|
# Logging
|
|
log_cli = false
|
|
log_cli_level = INFO
|
|
log_cli_format = %(asctime)s [%(levelname)8s] %(message)s
|
|
log_cli_date_format = %Y-%m-%d %H:%M:%S
|
|
|
|
# Warnings
|
|
filterwarnings =
|
|
error
|
|
ignore::DeprecationWarning
|
|
ignore::PendingDeprecationWarning
|