view test/conftest.py @ 8423:94eed885e958

feat: add support for using dictConfig to configure logging. Basic logging config (one level and one output file non-rotating) was always possible from config.ini. However the LOGGING_CONFIG setting could be used to load an ini fileConfig style file to set various channels (e.g. roundup.hyperdb) (also called qualname or tags) with their own logging level, destination (rotating file, socket, /dev/null) and log format. This is now a deprecated method in newer logging modules. The dictConfig format is preferred and allows disabiling other loggers as well as invoking new loggers in local code. This commit adds support for it reading the dict from a .json file. It also implements a comment convention so you can document the dictConfig. configuration.py: new code test_config.py: test added for the new code. admin_guide.txt, upgrading.txt CHANGES.txt: docs added upgrading references the section in admin_guid.
author John Rouillard <rouilj@ieee.org>
date Tue, 19 Aug 2025 22:32:46 -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()


Roundup Issue Tracker: http://roundup-tracker.org/