aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2018-08-25 12:57:50 +0200
committerChristian Tismer <tismer@stackless.com>2018-08-27 07:27:03 +0000
commit735810431cfef611b915da1ae4be8caea2c4ca76 (patch)
tree8f579ba728cf306d8cac81305d02969267c87750
parent9382b01a2f6ff8ff294fe73f2d27b24f5c8dfb3c (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>
-rw-r--r--sources/pyside2/tests/QtWidgets/CMakeLists.txt1
-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.txt1
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)