| # Tox (https://tox.readthedocs.io/) is a tool for running tests | |
| # in multiple virtualenvs. This configuration file will run the | |
| # test suite on all supported python versions. To use it, "pip install tox" | |
| # and then run "tox" from this directory. | |
| [tox] | |
| envlist = pre-commit,py{310,311,312,313} | |
| [testenv] | |
| usedevelop = True | |
| changedir = tests | |
| deps = | |
| playwright==1.58.0 | |
| patchright==1.58.2 | |
| -r{toxinidir}/tests/requirements.txt | |
| extras = ai,shell | |
| commands = | |
| # Run browser tests without parallelization (avoid browser conflicts) | |
| pytest --cov=scrapling --cov-report=xml -k "DynamicFetcher or StealthyFetcher" --verbose | |
| # Run asyncio tests without parallelization (avoid GitHub CI nested loop issues) | |
| pytest --cov=scrapling --cov-report=xml -m "asyncio" -k "not (DynamicFetcher or StealthyFetcher)" --verbose --cov-append | |
| # Run everything else with parallelization (for speed) | |
| pytest --cov=scrapling --cov-report=xml -m "not asyncio" -k "not (DynamicFetcher or StealthyFetcher)" -n auto --cov-append | |
| [testenv:pre-commit] | |
| basepython = python3 | |
| deps = pre-commit | |
| commands = pre-commit run --all-files --show-diff-on-failure | |
| skip_install = true |