forked from genewildish/Mainline
feat(integration): Complete feature rewrite with pipeline architecture, effects system, and display improvements
Major changes: - Pipeline architecture with capability-based dependency resolution - Effects plugin system with performance monitoring - Display abstraction with multiple backends (terminal, null, websocket) - Camera system for viewport scrolling - Sensor framework for real-time input - Command-and-control system via ntfy - WebSocket display backend for browser clients - Comprehensive test suite and documentation Issue #48: ADR for preset scripting language included This commit consolidates 110 individual commits into a single feature integration that can be reviewed and tested before further refinement.
This commit is contained in:
36
tests/conftest.py
Normal file
36
tests/conftest.py
Normal file
@@ -0,0 +1,36 @@
|
||||
"""
|
||||
Pytest configuration for mainline.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def pytest_configure(config):
|
||||
"""Configure pytest to skip integration tests by default."""
|
||||
config.addinivalue_line(
|
||||
"markers",
|
||||
"integration: marks tests as integration tests (require external services)",
|
||||
)
|
||||
config.addinivalue_line("markers", "ntfy: marks tests that require ntfy service")
|
||||
|
||||
|
||||
def pytest_collection_modifyitems(config, items):
|
||||
"""Skip integration/e2e tests unless explicitly requested with -m."""
|
||||
# Get the current marker expression
|
||||
marker_expr = config.getoption("-m", default="")
|
||||
|
||||
# If explicitly running integration or e2e, don't skip them
|
||||
if marker_expr in ("integration", "e2e", "integration or e2e"):
|
||||
return
|
||||
|
||||
# Skip integration tests
|
||||
skip_integration = pytest.mark.skip(reason="need -m integration to run")
|
||||
for item in items:
|
||||
if "integration" in item.keywords:
|
||||
item.add_marker(skip_integration)
|
||||
|
||||
# Skip e2e tests by default (they require browser/display)
|
||||
skip_e2e = pytest.mark.skip(reason="need -m e2e to run")
|
||||
for item in items:
|
||||
if "e2e" in item.keywords and "integration" not in item.keywords:
|
||||
item.add_marker(skip_e2e)
|
||||
Reference in New Issue
Block a user