[tox]
envlist = py312

[pytest]
markers = "workflow,noautofixt"
filterwarnings = "ignore,default:::gso"

[testenv]
passenv = DATABASE_URI_TEST,DATABASE_HOST,SKIP_ALL_TESTS,ENVIRONMENT_IGNORE_MUTATION_DISABLED
setenv =
    OAUTH2_ACTIVE=False
    TRANSLATIONS_DIR=./gso/translations
    TESTING=true
    EXECUTOR=threadpool
deps =
    pytest-cov
    -r requirements.txt

commands =
    ruff check --respect-gitignore --preview .
    ruff format --respect-gitignore --preview --check .
    mypy .
    sh -c 'if [ $SKIP_ALL_TESTS = 1 ]; then echo "Skipping coverage report"; else pytest --cov=gso --cov-report=xml --cov-report=html --cov-fail-under=85 -n auto {posargs}; fi'

allowlist_externals =
    sh