-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpytest.ini
More file actions
73 lines (69 loc) · 3.63 KB
/
Copy pathpytest.ini
File metadata and controls
73 lines (69 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[pytest]
testpaths = src
pythonpath = src
python_files = tests.py test_*.py *_tests.py
junit_family=legacy
env =
DJANGO_ALLOW_ASYNC_UNSAFE=1
DJANGO_BPP_TESTING=1
addopts =
# Plugin pytest-testcontainers-django auto-loaduje sie przez entry-point
# `pytest11` w jego pyproject.toml; `pytest_load_initial_conftests`
# (tryfirst=True) wstrzykuje DJANGO_BPP_DB_PORT/etc do os.environ
# PRZED importem Django settings przez pytest-django. Konfiguracja:
# `[tool.pytest-testcontainers-django]` w pyproject.toml.
--ignore=dist --ignore=build --ignore=node_modules --ignore=src/django_bpp/staticroot/ --ignore=src/ewaluacja2021/tests/
# src/media = MEDIA_ROOT dziedziczony z local.py; historycznie wyciekaly
# tam uploadowane pliki (w tym conftest.py), ktore pytest probowal
# kolektowac. test.py przekierowuje MEDIA_ROOT do tempdir, ale ignorujemy
# katalog na wypadek starych/lokalnych pozostalosci (patrz audyt pkt 1).
--ignore=src/media
--reuse-db
-l
--durations=50 --durations-min=1.0
--maxfail 50
--timeout 90
--ds=django_bpp.settings.test
--only-rerun TimeoutError
--only-rerun TimeoutException
--only-rerun ElementClickInterceptedException
--only-rerun ElementDoesNotExist
--only-rerun OperationalError
# AssertionError: bez tego wpisu globalny filtr --only-rerun blokuje
# rowniez reruny z markera @pytest.mark.flaky(reruns=N) — a porazki
# Playwrightowego expect() to wlasnie AssertionError (audyt pkt 3).
--only-rerun AssertionError
--dist=worksteal
# Playwright tracing celowo WYLACZONY (nagrywanie trace kazdego testu
# podwaja czas kroku Playwright: ~2 min → ~4 min). Do debugowania
# pojedynczego flaka wlacz recznie:
# uv run pytest <test> --tracing retain-on-failure
# (trace zip laduje w test-results/, podglad: playwright show-trace).
filterwarnings =
default
# Third-party noise we cannot fix:
ignore::DeprecationWarning:pkg_resources
ignore::DeprecationWarning:django_filters
ignore::UserWarning:dbtemplates
# django-fsm 3.0 is a tombstone release; migration to viewflow.fsm tracked separately:
ignore:.*django-fsm.*viewflow.*:UserWarning:django_fsm
# pbn_api test data often lacks current_version; not actionable:
ignore:.*has NO current_version.*:UserWarning
# FORMS_URLFIELD_ASSUME_HTTPS is an intentional opt-in for Django 6.0
# behaviour; to be removed together with the setting on 6.0 upgrade.
ignore:.*FORMS_URLFIELD_ASSUME_HTTPS.*:DeprecationWarning
# pyoai 2.5.0 (infrae/pyoai) nadal woła datetime.utcnow()
# w oaipmh/server.py; nie mamy forku — zgłoszenie upstream.
ignore:.*datetime\.datetime\.utcnow.*:DeprecationWarning:oaipmh\.server
# pyoai 2.5.0 nadal importuje pkg_resources w oaipmh/common.py;
# nie mamy forku — zgłoszenie upstream.
ignore:.*pkg_resources.*:DeprecationWarning:oaipmh\.common
# webtest 3.0.7 nadal używa bs4.findAll w forms.py:436 (zamiast
# find_all); nie mamy forku — zgłoszenie upstream (Pylons/webtest).
ignore:.*findAll.*:DeprecationWarning:webtest\.forms
norecursedirs = src/bpp/media/ src/media .worktrees
markers =
serial: testy z tej samej grupy katalogowej (4 pierwsze skladniki sciezki) sa laczone w jeden xdist_group i wykonuja sie sekwencyjnie na tym samym workerze xdist; NIE gwarantuje globalnej wylacznosci wzgledem testow spoza tej grupy (patrz src/conftest.py pytest_collection_modifyitems)
xdist_group: grupuje testy do wykonania na tym samym workerze w pytest-xdist (uzywa pytest-xdist)
slow: wolne testy, pomijane przy szybkim przebiegu
playwright: testy wymagajace przegladarki (Playwright)