diff options
author | Christian Tismer <tismer@stackless.com> | 2018-08-25 12:57:50 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2018-08-27 07:27:03 +0000 |
commit | 735810431cfef611b915da1ae4be8caea2c4ca76 (patch) | |
tree | 8f579ba728cf306d8cac81305d02969267c87750 /sources/pyside2 | |
parent | 9382b01a2f6ff8ff294fe73f2d27b24f5c8dfb3c (diff) |
Reduce the redundant signature_test
The file signature_test.py contained together with basic signature property
tests also an early form of the existence test, which is meanwhile
implemented in pyside2/tests/registry/existence_test.py .
This part is redundant in signature_test.py, and we remove it. The basic
signature tests stay, and the module is degraded from registry to a normal
test module in pyside2/tests/QtWidgets .
Remark: This simplification was found when I was finishing the
signature documentation. Instead of describing the intermediate state
of the module, it was more straight-forward to remove the duplication.
Task-number: PYSIDE-510
Change-Id: I7fbf65d6d2803926dc00485f1e82349912742942
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside2')
-rw-r--r-- | sources/pyside2/tests/QtWidgets/CMakeLists.txt | 1 | ||||
-rw-r--r-- | sources/pyside2/tests/QtWidgets/signature_test.py (renamed from sources/pyside2/tests/registry/signature_test.py) | 92 | ||||
-rw-r--r-- | sources/pyside2/tests/registry/CMakeLists.txt | 1 |
3 files changed, 5 insertions, 89 deletions
diff --git a/sources/pyside2/tests/QtWidgets/CMakeLists.txt b/sources/pyside2/tests/QtWidgets/CMakeLists.txt index 36f1ba80a..6d8645918 100644 --- a/sources/pyside2/tests/QtWidgets/CMakeLists.txt +++ b/sources/pyside2/tests/QtWidgets/CMakeLists.txt @@ -134,6 +134,7 @@ PYSIDE_TEST(qwidget_setlayout_test.py) PYSIDE_TEST(qwidget_test.py) PYSIDE_TEST(qcolormap_test.py) PYSIDE_TEST(reference_count_test.py) +PYSIDE_TEST(signature_test.py) PYSIDE_TEST(standardpixmap_test.py) PYSIDE_TEST(test_module_template.py) PYSIDE_TEST(virtual_protected_inheritance_test.py) diff --git a/sources/pyside2/tests/registry/signature_test.py b/sources/pyside2/tests/QtWidgets/signature_test.py index ae5b9381e..15a9333b4 100644 --- a/sources/pyside2/tests/registry/signature_test.py +++ b/sources/pyside2/tests/QtWidgets/signature_test.py @@ -39,97 +39,13 @@ from __future__ import print_function, absolute_import -import sys -import os import unittest -from collections import OrderedDict -from pprint import pprint -from util import isolate_warnings, check_warnings -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 - have_sig = signature is not None - have_members = 0 - class_members = sorted(list(klass.__dict__.items())) - 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()), - stream=sys.stderr) - print("Total", total, file=sys.stderr) - return result +import PySide2.QtCore +import PySide2.QtWidgets +from PySide2.support.signature import inspect class PySideSignatureTest(unittest.TestCase): - def testAllSignaturesCanBuild(self): - with isolate_warnings(): - # This test touches all attributes - result = enum_all() - # We omit the number of functions test. - # That is replaced by existence_test.py . - 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 check_warnings(): - raise RuntimeError("There are errors, see above.") - def testSignatureExist(self): t1 = type(PySide2.QtCore.QObject.children.__signature__) self.assertEqual(t1, inspect.Signature) @@ -158,7 +74,7 @@ class PySideSignatureTest(unittest.TestCase): self.assertTrue(ob1 is ob2) def testModuleIsInitialized(self): - assert PySide2.QtWidgets.QApplication.__signature__ is not None + self.assertTrue(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(...)" diff --git a/sources/pyside2/tests/registry/CMakeLists.txt b/sources/pyside2/tests/registry/CMakeLists.txt index 210219cb2..df50037e1 100644 --- a/sources/pyside2/tests/registry/CMakeLists.txt +++ b/sources/pyside2/tests/registry/CMakeLists.txt @@ -37,5 +37,4 @@ ## ############################################################################# -PYSIDE_TEST(signature_test.py) PYSIDE_TEST(existence_test.py) |