view test/conftest.py @ 8580:5cba36e42b8f

chore: refactor replace urlparse with urlsplit and use urllib_ Python docs recommend use of urlsplit() rather than urlparse(). urlsplit() is a little faster and doesn't try to split the path into path and params using the rules from an obsolete RFC. actions.py, demo.py, rest.py, client.py Replace urlparse() with urlsplit() actions.py urlsplit() produces a named tuple with one fewer elements (no .param). So fixup calls to urlunparse() so they have the proper number of elements in the tuple. also merge url filtering for param and path. demo.py, rest.py: Replace imports from urlparse/urllib.parse with roundup.anypy.urllib_ so we use the same interface throughout the code base. test/test_cgi.py: Since actions.py filtering for invali urls not split by path/param, fix tests for improperly quoted url's.
author John Rouillard <rouilj@ieee.org>
date Sun, 19 Apr 2026 22:58:59 -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/