mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
31 lines
898 B
Python
31 lines
898 B
Python
"""
|
|
This plugin implements :func:`startTestRun`, which excludes all test objects
|
|
that define a ``__test__`` attribute with a truth value of False.
|
|
"""
|
|
from unittest import TestSuite
|
|
from nose2 import events
|
|
|
|
__unittest = True
|
|
|
|
|
|
class DunderTestFilter(events.Plugin):
|
|
"""
|
|
Exclude all tests defining a ``__test__`` attribute with a truth value of
|
|
False.
|
|
"""
|
|
alwaysOn = True
|
|
|
|
def startTestRun(self, event):
|
|
"""
|
|
Recurse :attr:`event.suite` and remove all test suites and test cases
|
|
that define a ``__test__`` attribute with a truth value of False.
|
|
"""
|
|
self.removeNonTests(event.suite)
|
|
|
|
def removeNonTests(self, suite):
|
|
for test in list(suite):
|
|
if not getattr(test, '__test__', True):
|
|
suite._tests.remove(test)
|
|
elif isinstance(test, TestSuite):
|
|
self.removeNonTests(test)
|