Mercurial > p > roundup > code
annotate test/conftest.py @ 8591:501eb8088ea3
test: use monkeypatch to safely handle monekypatching
Tests are unittest based, so pytest fixtures can not be used by adding
them to the function signature.
Augment the inject_fixtures to inject monkeypatch as
self._monkeypatch.
Use _monkeypatch to patch the three functions replacing the code that
manually did the patch. Remove the code that rolls back the manual
patching as monkeypatch rolls it back automatically when the test
function exits.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 20 Apr 2026 23:56:15 -0400 |
| parents | 43dc610bbd24 |
| children |
| rev | line source |
|---|---|
|
7719
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 # simple way to see if there are order dependencies in tests |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 # can use if pytest-random-order --random-order mode isn't |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # usable (e.g. python2). |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 |
|
8266
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
5 |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
6 # known issues: |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
7 # python3 -m pytest -k Whoosh test/test_indexer.py fails starting with |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
8 # first reversed (so last) test in module |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
9 # |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
10 # python3 -m pytest test/test_cgi.py |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
11 # fails: FormTestCase::testCreatePermission |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
12 # FormTestCase::testClassPermission |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
13 # FormTestCase::testCheckAndPropertyPermission |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
14 # |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
15 # this failure results in a failure in test_action again with |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
16 # bad permission application. Something run prior to these |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
17 # tests is breaking the permission checks. |
|
43dc610bbd24
doc: known issues with possible dependent tests
John Rouillard <rouilj@ieee.org>
parents:
8251
diff
changeset
|
18 |
|
7719
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 #def pytest_collection_modifyitems(items): |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 # items.reverse() |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 # Add a marker for pg_schema tests. |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 # They duplicate the postgresql tests exactly but uses a named |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 # schema rather than the default 'public' schema. |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 def pytest_configure(config): |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 config.addinivalue_line( |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 "markers", "pg_schema: tests using schema for postgres" |
|
3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 ) |
|
8251
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
29 |
|
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
30 # try to work around loss of testmon data when ^Cing out of tests. |
|
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
31 def pytest_unconfigure(config): |
|
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
32 if hasattr(config, "testmon_data"): |
|
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
33 config.testmon_data.db.con.close() |
|
619b723dd2bb
test: try to handle loss of testmon data when cancelling test.
John Rouillard <rouilj@ieee.org>
parents:
7719
diff
changeset
|
34 |
