Mercurial > p > roundup > code
view 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 |
line wrap: on
line source
# simple way to see if there are order dependencies in tests # can use if pytest-random-order --random-order mode isn't # usable (e.g. python2). # known issues: # python3 -m pytest -k Whoosh test/test_indexer.py fails starting with # first reversed (so last) test in module # # python3 -m pytest test/test_cgi.py # fails: FormTestCase::testCreatePermission # FormTestCase::testClassPermission # FormTestCase::testCheckAndPropertyPermission # # this failure results in a failure in test_action again with # bad permission application. Something run prior to these # tests is breaking the permission checks. #def pytest_collection_modifyitems(items): # items.reverse() # Add a marker for pg_schema tests. # They duplicate the postgresql tests exactly but uses a named # schema rather than the default 'public' schema. def pytest_configure(config): config.addinivalue_line( "markers", "pg_schema: tests using schema for postgres" ) # try to work around loss of testmon data when ^Cing out of tests. def pytest_unconfigure(config): if hasattr(config, "testmon_data"): config.testmon_data.db.con.close()
