aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/pysidetest
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/tests/pysidetest')
-rw-r--r--sources/pyside2/tests/pysidetest/CMakeLists.txt1
-rw-r--r--sources/pyside2/tests/pysidetest/signature_test.py167
2 files changed, 0 insertions, 168 deletions
diff --git a/sources/pyside2/tests/pysidetest/CMakeLists.txt b/sources/pyside2/tests/pysidetest/CMakeLists.txt
index 821b6f819..8ec8b80a9 100644
--- a/sources/pyside2/tests/pysidetest/CMakeLists.txt
+++ b/sources/pyside2/tests/pysidetest/CMakeLists.txt
@@ -123,5 +123,4 @@ PYSIDE_TEST(utils_test.py)
PYSIDE_TEST(mixin_signal_slots_test.py)
PYSIDE_TEST(signal_slot_warning.py)
PYSIDE_TEST(all_modules_load_test.py)
-PYSIDE_TEST(signature_test.py)
PYSIDE_TEST(qapp_like_a_macro_test.py)
diff --git a/sources/pyside2/tests/pysidetest/signature_test.py b/sources/pyside2/tests/pysidetest/signature_test.py
deleted file mode 100644
index 5478f0011..000000000
--- a/sources/pyside2/tests/pysidetest/signature_test.py
+++ /dev/null
@@ -1,167 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of PySide2.
-##
-## $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$
-##
-#############################################################################
-
-from __future__ import print_function
-
-import sys
-import os
-import unittest
-from collections import OrderedDict
-from pprint import pprint
-import PySide2
-
-"""
-This test shows that we have over 14500 signatures,
-and that they all can be created.
-"""
-
-all_modules = list("PySide2." + x for x in PySide2.__all__)
-
-from PySide2.support.signature import parser, inspect
-
-_do_print = (True if os.isatty(sys.stdout.fileno()) or "-v" in sys.argv
- else False)
-
-def dprint(*args, **kw):
- if _do_print:
- print(*args, **kw)
-
-def enum_module(mod_name):
- __import__(mod_name)
- count = 0
- module = sys.modules[mod_name]
- dprint()
- dprint("Module", mod_name)
- members = inspect.getmembers(module, inspect.isclass)
- for class_name, klass in members:
- signature = getattr(klass, '__signature__', None)
- dprint()
- # class_members = inspect.getmembers(klass)
- # gives us also the inherited things.
- dprint(" class {}:".format(class_name))
- if signature is None:
- pass # initialization not called?
- elif isinstance(signature, list):
- dprint(" with overloading():")
- for overload in signature:
- dprint(" def __init__" + str(overload))
- else:
- dprint(" def __init__" + str(signature))
- count += 1
- class_members = list(klass.__dict__.items())
- have_sig = signature is not None
- have_members = 0
- for func_name, func in class_members:
- signature = getattr(func, '__signature__', None)
- if signature is not None:
- if isinstance(signature, list):
- dprint(" with overloading():")
- for overload in signature:
- dprint(" def", func_name + str(overload))
- else:
- dprint(" def", func_name + str(signature))
- count += 1
- have_members = count
- if not have_sig and not have_members:
- # print at least "pass"
- dprint(" pass")
- return count
-
-def enum_all():
- result = OrderedDict()
- total = 0
- for mod_name in all_modules:
- result[mod_name] = enum_module(mod_name)
- total += result[mod_name]
- pprint(result if sys.version_info >= (3,) else list(result.items()))
- print("Total", total)
- return result
-
-
-class PySideSignatureTest(unittest.TestCase):
- def testAllSignaturesCanBuild(self):
- # This test touches all attributes
- result = enum_all()
- # We omit the number of functions test. This is too vague.
- for mod_name, count in result.items():
- pass
- # If an attribute could not be computed, then we will have a warning
- # in the warningregistry.
- if hasattr(parser, "__warningregistry__"):
- raise RuntimeError("There are errors, see above.")
-
- def testSignatureExist(self):
- t1 = type(PySide2.QtCore.QObject.children.__signature__)
- self.assertEqual(t1, inspect.Signature)
- t2 = type(PySide2.QtCore.QObject.__dict__["children"].__signature__)
- self.assertEqual(t2, t1)
- obj = PySide2.QtWidgets.QApplication.palette
- t3 = type(obj.__signature__)
- self.assertEqual(t3, list)
- self.assertEqual(len(obj.__signature__), 3)
- for thing in obj.__signature__:
- self.assertEqual(type(thing), inspect.Signature)
- sm = PySide2.QtWidgets.QApplication.__dict__["palette"]
- self.assertFalse(callable(sm))
- self.assertEqual(sm.__func__, obj)
- self.assertTrue(hasattr(sm, "__signature__") and
- sm.__signature__ is not None)
-
- def testSignatureIsCached(self):
- # see if we get the same object
- ob1 = PySide2.QtCore.QObject.children.__signature__
- ob2 = PySide2.QtCore.QObject.children.__signature__
- self.assertTrue(ob1 is ob2)
- # same with multi signature
- ob1 = PySide2.QtWidgets.QApplication.palette.__signature__
- ob2 = PySide2.QtWidgets.QApplication.palette.__signature__
- self.assertTrue(ob1 is ob2)
-
- def testModuleIsInitialized(self):
- assert PySide2.QtWidgets.QApplication.__signature__ is not None
-
- def test_NotCalled_is_callable_and_correct(self):
- # A signature that has a default value with some "Default(...)"
- # wrapper is callable and creates an object of the right type.
- sig = PySide2.QtCore.QByteArray().toPercentEncoding.__signature__
- called_default = sig.parameters["exclude"].default()
- self.assertEqual(type(called_default), PySide2.QtCore.QByteArray)
-
-if __name__ == "__main__":
- unittest.main()