2022-10-28 22:16:23 +02:00
|
|
|
###############################################################################
|
|
|
|
# pytest
|
|
|
|
###############################################################################
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
addopts = """
|
|
|
|
--html=test_reports/pytest_result/pytest.html --color=yes --durations 20
|
2023-01-16 18:02:14 +01:00
|
|
|
--no-cov-on-fail --strict-markers --reuse-db
|
2022-11-10 19:23:47 +01:00
|
|
|
--driver=Firefox
|
2022-10-28 22:16:23 +02:00
|
|
|
-W error
|
2022-11-10 19:23:47 +01:00
|
|
|
-W "ignore:capabilities and desired_capabilities have been deprecated:DeprecationWarning:pytest_selenium.pytest_selenium"
|
|
|
|
-W "ignore:service_log_path has been deprecated:DeprecationWarning:pytest_selenium.pytest_selenium"
|
2022-10-28 22:16:23 +02:00
|
|
|
"""
|
|
|
|
markers = []
|
|
|
|
minversion = "6.0"
|
|
|
|
DJANGO_SETTINGS_MODULE = "charasheet.settings"
|
|
|
|
junit_family = "xunit1"
|
|
|
|
norecursedirs = [
|
|
|
|
".*",
|
|
|
|
"docker",
|
|
|
|
"documentation",
|
|
|
|
"static",
|
|
|
|
"public",
|
|
|
|
]
|
|
|
|
testpaths = [
|
|
|
|
"src",
|
|
|
|
]
|
|
|
|
python_files = [
|
|
|
|
"test_*.py",
|
|
|
|
"tests.py",
|
|
|
|
]
|
|
|
|
|
|
|
|
###############################################################################
|
2023-01-29 10:38:41 +01:00
|
|
|
# ruff
|
2022-10-28 22:16:23 +02:00
|
|
|
###############################################################################
|
2023-02-17 15:43:02 +01:00
|
|
|
|
2023-01-29 10:38:41 +01:00
|
|
|
[tool.ruff]
|
|
|
|
src = ["src"]
|
|
|
|
target-version = "py311"
|
2023-02-28 12:34:45 +01:00
|
|
|
select = ["ALL"]
|
2023-01-29 10:38:41 +01:00
|
|
|
unfixable = ["T20", "RUF001", "RUF002", "RUF003"]
|
|
|
|
|
|
|
|
ignore = [
|
|
|
|
"ANN", # flake8-annotations
|
|
|
|
"BLE", # flake8-blind-except
|
|
|
|
"TCH", # flake8-type-checking / TODO: revisit later ?
|
|
|
|
|
|
|
|
"E501", # long lines
|
|
|
|
"D1", # missing docstring
|
|
|
|
"TRY003", # Avoid specifying long messages outside the exception class
|
2022-10-28 22:16:23 +02:00
|
|
|
]
|
|
|
|
|
2023-01-29 10:38:41 +01:00
|
|
|
[tool.ruff.per-file-ignores]
|
|
|
|
"**/tests/*" = [
|
|
|
|
"S101", # Use of assert detected.
|
|
|
|
"S106", # Possible hardcoded password.
|
|
|
|
"B011", # Do not call assert False since python -O removes these calls.
|
|
|
|
"ARG001", # Unused function argument (mostly fixtures)
|
|
|
|
"PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable
|
2023-03-25 10:02:50 +01:00
|
|
|
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes.
|
2022-10-28 22:16:23 +02:00
|
|
|
]
|
2023-01-29 10:38:41 +01:00
|
|
|
# File {name} is part of an implicit namespace package. Add an `__init__.py`.
|
|
|
|
"tasks.py" = ["INP001"]
|
|
|
|
"src/conftest.py" = ["INP001"]
|
|
|
|
"src/manage.py" = ["INP001"]
|
|
|
|
|
|
|
|
"src/character/management/commands/*" = [
|
|
|
|
"RUF001", # String contains ambiguous unicode character
|
2023-01-16 18:02:14 +01:00
|
|
|
]
|
2023-01-29 10:38:41 +01:00
|
|
|
|
|
|
|
[tool.ruff.pydocstyle]
|
|
|
|
convention = "pep257"
|
|
|
|
|
|
|
|
[tool.ruff.mccabe]
|
|
|
|
max-complexity = 10
|