[tool:pytest]
# Pytest configuration for all component tests

testpaths = tests
python_files = test_*.py
python_classes = Test*
python_functions = test_*

# Coverage settings
addopts = 
    --verbose
    --strict-markers
    --tb=short
    --cov-report=term-missing
    --cov-report=html
    --cov-report=xml

# Markers
markers =
    unit: Unit tests that don't require ESPHome compilation
    integration: Integration tests that compile ESPHome configurations
    slow: Tests that take a long time to run

# Timeout for tests (in seconds)
timeout = 300

# Coverage options
[coverage:run]
source = components/panasonic_heatpump
omit = 
    */tests/*
    */test_*

[coverage:report]
exclude_lines =
    pragma: no cover
    def __repr__
    raise AssertionError
    raise NotImplementedError
    if __name__ == .__main__.:
    if TYPE_CHECKING:
    @abstractmethod

[coverage:html]
directory = htmlcov
