mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-22 21:59:59 +00:00
## Problem Sometimes, a regression test run gets stuck (taking more than 60 minutes) and is killed by GitHub's `timeout-minutes` without leaving any traces in the test results database. I find no correlation between this and either the build type, the architecture, or the Postgres version. See: https://neonprod.grafana.net/goto/nM7ih7cHR?orgId=1 ## Summary of changes - Bump `pytest-timeout` to the version that supports `--session-timeout` - Set `--session-timeout` to (timeout-minutes - 10 minutes) * 60 seconds in Attempt to stop tests gracefully to generate test reports until they are forcibly stopped by the stricter `timeout-minutes` limit.
113 lines
2.8 KiB
TOML
113 lines
2.8 KiB
TOML
[tool.poetry]
|
|
description = ""
|
|
authors = []
|
|
package-mode = false
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.11"
|
|
pytest = "^7.4.4"
|
|
psycopg2-binary = "^2.9.10"
|
|
typing-extensions = "^4.12.2"
|
|
PyJWT = {version = "^2.1.0", extras = ["crypto"]}
|
|
requests = "^2.32.3"
|
|
pytest-xdist = "^3.3.1"
|
|
asyncpg = "^0.30.0"
|
|
aiopg = "^1.4.0"
|
|
Jinja2 = "^3.1.5"
|
|
types-requests = "^2.31.0.0"
|
|
types-psycopg2 = "^2.9.21.20241019"
|
|
boto3 = "^1.34.11"
|
|
boto3-stubs = {extras = ["s3", "kms"], version = "^1.26.16"}
|
|
moto = {extras = ["server"], version = "^5.0.6"}
|
|
backoff = "^2.2.1"
|
|
pytest-lazy-fixture = "^0.6.3"
|
|
prometheus-client = "^0.14.1"
|
|
pytest-timeout = "^2.3.1"
|
|
Werkzeug = "^3.0.6"
|
|
pytest-order = "^1.1.0"
|
|
allure-pytest = "^2.13.2"
|
|
pytest-asyncio = "^0.21.0"
|
|
toml = "^0.10.2"
|
|
psutil = "^5.9.4"
|
|
types-psutil = "^5.9.5.12"
|
|
types-toml = "^0.10.8.6"
|
|
pytest-httpserver = "^1.0.8"
|
|
aiohttp = "3.10.11"
|
|
pytest-rerunfailures = "^15.0"
|
|
types-pytest-lazy-fixture = "^0.6.3.3"
|
|
pytest-split = "^0.8.1"
|
|
zstandard = "^0.23.0"
|
|
httpx = {extras = ["http2"], version = "^0.26.0"}
|
|
pytest-repeat = "^0.9.3"
|
|
websockets = "^12.0"
|
|
clickhouse-connect = "^0.7.16"
|
|
kafka-python = "^2.0.2"
|
|
jwcrypto = "^1.5.6"
|
|
h2 = {git = "https://github.com/python-hyper/h2"}
|
|
types-jwcrypto = "^1.5.0.20240925"
|
|
pyyaml = "^6.0.2"
|
|
types-pyyaml = "^6.0.12.20240917"
|
|
testcontainers = "^4.9.0"
|
|
# Jsonnet doesn't support Python 3.13 yet
|
|
jsonnet = { version = "^0.20.0", markers = "python_version < '3.13'" }
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
mypy = "==1.13.0"
|
|
ruff = "^0.7.0"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.mypy]
|
|
exclude = [
|
|
"^vendor/",
|
|
"^target/",
|
|
"test_runner/performance/pgvector/loaddata.py",
|
|
]
|
|
check_untyped_defs = true
|
|
# Help mypy find imports when running against list of individual files.
|
|
# Without this line it would behave differently when executed on the entire project.
|
|
mypy_path = "$MYPY_CONFIG_FILE_DIR:$MYPY_CONFIG_FILE_DIR/test_runner:$MYPY_CONFIG_FILE_DIR/test_runner/stubs"
|
|
|
|
disallow_incomplete_defs = false
|
|
disallow_untyped_calls = false
|
|
disallow_untyped_decorators = false
|
|
disallow_untyped_defs = false
|
|
strict = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"_jsonnet.*",
|
|
"asyncpg.*",
|
|
"pg8000.*",
|
|
"allure.*",
|
|
"allure_commons.*",
|
|
"allure_pytest.*",
|
|
"kafka.*",
|
|
"testcontainers.*",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.ruff]
|
|
target-version = "py311"
|
|
extend-exclude = [
|
|
"vendor/",
|
|
"target/",
|
|
"test_runner/stubs/", # Autogenerated by mypy's stubgen
|
|
]
|
|
line-length = 100 # this setting is rather guidance, it won't fail if it can't make the shorter
|
|
|
|
[tool.ruff.lint]
|
|
ignore = [
|
|
"E501", # Line too long, we don't want to be too strict about it
|
|
]
|
|
select = [
|
|
"E", # pycodestyle
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"W", # pycodestyle
|
|
"B", # bugbear
|
|
"UP", # pyupgrade
|
|
]
|