aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/tests/registry/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/tests/registry/util.py')
-rw-r--r--sources/pyside6/tests/registry/util.py66
1 files changed, 18 insertions, 48 deletions
diff --git a/sources/pyside6/tests/registry/util.py b/sources/pyside6/tests/registry/util.py
index dba4b5c0a..5d81926a1 100644
--- a/sources/pyside6/tests/registry/util.py
+++ b/sources/pyside6/tests/registry/util.py
@@ -1,41 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of Qt for Python.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 3 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL3 included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 3 requirements
-## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 2.0 or (at your option) the GNU General
-## Public license version 3 or any later version approved by the KDE Free
-## Qt Foundation. The licenses are as published by the Free Software
-## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-2.0.html and
-## https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
Supporting isolation of warnings
@@ -54,6 +18,7 @@ from contextlib import contextmanager
warn_name = "__warningregistry__"
ignore_re = 'Not importing directory .*'
+
@contextmanager
def isolate_warnings():
save_warnings = {}
@@ -61,8 +26,6 @@ def isolate_warnings():
if mod and hasattr(mod, warn_name):
save_warnings[name] = mod.__dict__[warn_name]
delattr(mod, warn_name)
- else:
- save_warnings[name] = None
yield
for name, warn in save_warnings.items():
mod = sys.modules[name]
@@ -71,12 +34,14 @@ def isolate_warnings():
if warn is None:
delattr(mod, warn_name)
+
@contextmanager
def suppress_warnings():
with warnings.catch_warnings():
warnings.simplefilter("ignore")
yield
+
def check_warnings():
for name, mod in sys.modules.items():
if mod:
@@ -90,6 +55,7 @@ def check_warnings():
return True
return False
+
def warn(message, category=None, stacklevel=2):
"""Issue a warning with the default 'RuntimeWarning'"""
if category is None:
@@ -105,14 +71,8 @@ def linux_distribution():
# distro package, ASAP! The distro has been extracted from Python,
# because it changes more often than the Python version.
distribution = []
- try:
- import distro
- distribution = distro.linux_distribution()
- except ImportError:
- # platform.linux_distribution() was removed in 3.8
- if sys.version_info[:2] < (3, 8):
- import platform
- distribution = platform.linux_distribution()
+ import distro
+ distribution = distro.linux_distribution()
if distribution:
return "".join(distribution[:2]).lower()
warnings.warn('Cannot determine Linux distribution, please install distro',
@@ -135,28 +95,36 @@ else:
is_py3 = sys.version_info[0] == 3
is_ci = os.environ.get("QTEST_ENVIRONMENT", "") == "ci"
+
def get_script_dir():
script_dir = os.path.normpath(os.path.dirname(__file__))
while "sources" not in os.listdir(script_dir):
script_dir = os.path.dirname(script_dir)
return script_dir
+
def qt_version():
from PySide6.QtCore import __version__
return tuple(map(int, __version__.split(".")))
# Format a registry file name for version.
+
+
def _registry_filename(version, use_ci_module):
ext_ci = "_ci" if use_ci_module else ""
name = f"exists_{platform_name}_{version[0]}_{version[1]}_{version[2]}{ext_ci}.py"
return os.path.join(os.path.dirname(__file__), name)
# Return the expected registry file name.
+
+
def get_refpath(use_ci_module=is_ci):
return _registry_filename(qt_version(), use_ci_module)
# Return the registry file name, either that of the current
# version or fall back to a previous patch release.
+
+
def get_effective_refpath(use_ci_module=is_ci):
refpath = get_refpath(use_ci_module)
if os.path.exists(refpath):
@@ -171,6 +139,8 @@ def get_effective_refpath(use_ci_module=is_ci):
return refpath
# Import the CI version of the platform module
+
+
def import_refmodule(use_ci_module=is_ci):
refpath = get_effective_refpath(use_ci_module)
modname = os.path.basename(os.path.splitext(refpath)[0])