Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / lib / python2.7 / dist-packages / twisted / trial / test / | server ip : 104.21.89.46 your ip : 172.69.7.80 H O M E |
Filename | /usr/lib/python2.7/dist-packages/twisted/trial/test/test_suppression.py |
Size | 5.77 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 27-Apr-2025 09:56 |
Last modified | 12-Sep-2012 21:13 |
Last accessed | 07-Jul-2025 15:10 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Tests for warning suppression features of Trial.
"""
from __future__ import division, absolute_import
import unittest as pyunit
from twisted.trial import unittest
from twisted.trial.test import suppression
class SuppressionMixin(object):
"""
Tests for the warning suppression features of
L{twisted.trial.unittest.SynchronousTestCase}.
"""
def runTests(self, suite):
suite.run(pyunit.TestResult())
def _load(self, cls, methodName):
"""
Return a new L{unittest.TestSuite} with a single test method in it.
@param cls: A L{TestCase} subclass defining a test method.
@param methodName: The name of the test method from C{cls}.
"""
return pyunit.TestSuite([cls(methodName)])
def _assertWarnings(self, warnings, which):
"""
Assert that a certain number of warnings with certain messages were
emitted in a certain order.
@param warnings: A list of emitted warnings, as returned by
C{flushWarnings}.
@param which: A list of strings giving warning messages that should
appear in C{warnings}.
@raise self.failureException: If the warning messages given by C{which}
do not match the messages in the warning information in C{warnings},
or if they do not appear in the same order.
"""
self.assertEqual(
[warning['message'] for warning in warnings],
which)
def test_setUpSuppression(self):
"""
Suppressions defined by the test method being run are applied to any
warnings emitted while running the C{setUp} fixture.
"""
self.runTests(
self._load(self.TestSetUpSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestSetUpSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG,
suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_tearDownSuppression(self):
"""
Suppressions defined by the test method being run are applied to any
warnings emitted while running the C{tearDown} fixture.
"""
self.runTests(
self._load(self.TestTearDownSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestTearDownSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG,
suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_suppressMethod(self):
"""
A suppression set on a test method prevents warnings emitted by that
test method which the suppression matches from being emitted.
"""
self.runTests(
self._load(self.TestSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_suppressClass(self):
"""
A suppression set on a L{SynchronousTestCase} subclass prevents warnings
emitted by any test methods defined on that class which match the
suppression from being emitted.
"""
self.runTests(
self._load(self.TestSuppression, "testSuppressClass"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.MODULE_WARNING_MSG)
self.assertEqual(len(warningsShown), 2)
def test_suppressModule(self):
"""
A suppression set on a module prevents warnings emitted by any test
mewthods defined in that module which match the suppression from being
emitted.
"""
self.runTests(
self._load(self.TestSuppression2, "testSuppressModule"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.CLASS_WARNING_MSG)
self.assertEqual(len(warningsShown), 2)
def test_overrideSuppressClass(self):
"""
The suppression set on a test method completely overrides a suppression
with wider scope; if it does not match a warning emitted by that test
method, the warning is emitted, even if a wider suppression matches.
"""
self.runTests(
self._load(self.TestSuppression, "testOverrideSuppressClass"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.CLASS_WARNING_MSG)
self.assertEqual(
warningsShown[2]['message'], suppression.MODULE_WARNING_MSG)
self.assertEqual(len(warningsShown), 3)
class SynchronousSuppressionTest(SuppressionMixin, unittest.SynchronousTestCase):
"""
@see: L{twisted.trial.test.test_tests}
"""
from twisted.trial.test.suppression import (
SynchronousTestSetUpSuppression as TestSetUpSuppression,
SynchronousTestTearDownSuppression as TestTearDownSuppression,
SynchronousTestSuppression as TestSuppression,
SynchronousTestSuppression2 as TestSuppression2)
# See LICENSE for details.
"""
Tests for warning suppression features of Trial.
"""
from __future__ import division, absolute_import
import unittest as pyunit
from twisted.trial import unittest
from twisted.trial.test import suppression
class SuppressionMixin(object):
"""
Tests for the warning suppression features of
L{twisted.trial.unittest.SynchronousTestCase}.
"""
def runTests(self, suite):
suite.run(pyunit.TestResult())
def _load(self, cls, methodName):
"""
Return a new L{unittest.TestSuite} with a single test method in it.
@param cls: A L{TestCase} subclass defining a test method.
@param methodName: The name of the test method from C{cls}.
"""
return pyunit.TestSuite([cls(methodName)])
def _assertWarnings(self, warnings, which):
"""
Assert that a certain number of warnings with certain messages were
emitted in a certain order.
@param warnings: A list of emitted warnings, as returned by
C{flushWarnings}.
@param which: A list of strings giving warning messages that should
appear in C{warnings}.
@raise self.failureException: If the warning messages given by C{which}
do not match the messages in the warning information in C{warnings},
or if they do not appear in the same order.
"""
self.assertEqual(
[warning['message'] for warning in warnings],
which)
def test_setUpSuppression(self):
"""
Suppressions defined by the test method being run are applied to any
warnings emitted while running the C{setUp} fixture.
"""
self.runTests(
self._load(self.TestSetUpSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestSetUpSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG,
suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_tearDownSuppression(self):
"""
Suppressions defined by the test method being run are applied to any
warnings emitted while running the C{tearDown} fixture.
"""
self.runTests(
self._load(self.TestTearDownSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestTearDownSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG,
suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_suppressMethod(self):
"""
A suppression set on a test method prevents warnings emitted by that
test method which the suppression matches from being emitted.
"""
self.runTests(
self._load(self.TestSuppression, "testSuppressMethod"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self._assertWarnings(
warningsShown,
[suppression.CLASS_WARNING_MSG, suppression.MODULE_WARNING_MSG])
def test_suppressClass(self):
"""
A suppression set on a L{SynchronousTestCase} subclass prevents warnings
emitted by any test methods defined on that class which match the
suppression from being emitted.
"""
self.runTests(
self._load(self.TestSuppression, "testSuppressClass"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.MODULE_WARNING_MSG)
self.assertEqual(len(warningsShown), 2)
def test_suppressModule(self):
"""
A suppression set on a module prevents warnings emitted by any test
mewthods defined in that module which match the suppression from being
emitted.
"""
self.runTests(
self._load(self.TestSuppression2, "testSuppressModule"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.CLASS_WARNING_MSG)
self.assertEqual(len(warningsShown), 2)
def test_overrideSuppressClass(self):
"""
The suppression set on a test method completely overrides a suppression
with wider scope; if it does not match a warning emitted by that test
method, the warning is emitted, even if a wider suppression matches.
"""
self.runTests(
self._load(self.TestSuppression, "testOverrideSuppressClass"))
warningsShown = self.flushWarnings([
self.TestSuppression._emit])
self.assertEqual(
warningsShown[0]['message'], suppression.METHOD_WARNING_MSG)
self.assertEqual(
warningsShown[1]['message'], suppression.CLASS_WARNING_MSG)
self.assertEqual(
warningsShown[2]['message'], suppression.MODULE_WARNING_MSG)
self.assertEqual(len(warningsShown), 3)
class SynchronousSuppressionTest(SuppressionMixin, unittest.SynchronousTestCase):
"""
@see: L{twisted.trial.test.test_tests}
"""
from twisted.trial.test.suppression import (
SynchronousTestSetUpSuppression as TestSetUpSuppression,
SynchronousTestTearDownSuppression as TestTearDownSuppression,
SynchronousTestSuppression as TestSuppression,
SynchronousTestSuppression2 as TestSuppression2)