File: conftest.py

package info (click to toggle)
python-importlib-metadata 8.7.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 444 kB
  • sloc: python: 1,981; sh: 7; makefile: 3
file content (29 lines) | stat: -rw-r--r-- 789 bytes parent folder | download | duplicates (2)
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
import sys

collect_ignore = [
    # this module fails mypy tests because 'setup.py' matches './setup.py'
    'tests/data/sources/example/setup.py',
]


def pytest_configure():
    remove_importlib_metadata()


def remove_importlib_metadata():
    """
    Ensure importlib_metadata is not imported yet.

    Because pytest or other modules might import
    importlib_metadata, the coverage reports are broken (#322).
    Work around the issue by undoing the changes made by a
    previous import of importlib_metadata (if any).
    """
    sys.meta_path[:] = [
        item
        for item in sys.meta_path
        if item.__class__.__name__ != 'MetadataPathFinder'
    ]
    for mod in list(sys.modules):
        if mod.startswith('importlib_metadata'):
            del sys.modules[mod]