You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/tests/conftest.py

33 lines
911 B

# -*- coding: utf-8 -*-
import os
import pkgutil
import sys
import pkg_resources
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../libs/"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../bazarr/"))
def pytest_report_header(config):
conflicting_packages = _get_conflicting("libs")
if conflicting_packages:
return f"Conflicting packages detected:\n{conflicting_packages}"
def _get_conflicting(path):
libs_packages = []
for _, package_name, _ in pkgutil.iter_modules([path]):
libs_packages.append(package_name)
installed_packages = pkg_resources.working_set
package_names = [package.key for package in installed_packages]
unique_package_names = set(package_names)
conflicting = []
for installed in unique_package_names:
if installed in libs_packages:
conflicting.append(installed)
return conflicting