; pytest configuration shared by tox, run_tests.py, and direct pytest calls.

[pytest]
testpaths = tests
python_files = test_*.py
python_classes = Test*
python_functions = test_*

# Custom markers used by run_tests.py --quick and the e2e/install groupings.
markers =
    slow: tests that take longer than ~1s (skipped under --quick)
    e2e: end-to-end CLI / integration tests
    install: import / dependency sanity tests
    fixture_sweep: parametrized sweep over the test-cases/ folder
    gui: Streamlit AppTest-driven tests (live in tests/gui/)

# Warnings discipline: fail on any DeprecationWarning *or* ResourceWarning
# from our own ``src`` package so a leaked file handle or stale stdlib call
# can't slip in unnoticed. Tolerate third-party deprecations / resource
# warnings — we can't fix pandas / openpyxl / streamlit churn from here.
filterwarnings =
    error::DeprecationWarning:src
    error::ResourceWarning:src
    ignore::DeprecationWarning
    ignore::ResourceWarning
