Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Unified Diff: third_party/twisted_8_1/twisted/trial/test/test_assertions.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/trial/test/test_assertions.py
diff --git a/third_party/twisted_8_1/twisted/trial/test/test_assertions.py b/third_party/twisted_8_1/twisted/trial/test/test_assertions.py
deleted file mode 100644
index 31cfa6afe6f3abfbec0a7456b25e8eaf4e88fa1c..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/trial/test/test_assertions.py
+++ /dev/null
@@ -1,696 +0,0 @@
-# Copyright (c) 2001-2007 Twisted Matrix Laboratories.
-# See LICENSE for details
-
-import StringIO, warnings
-from pprint import pformat
-
-from twisted.python import reflect, failure
-from twisted.python.deprecate import deprecated, getVersionString
-from twisted.python.versions import Version
-from twisted.python.util import dsu
-from twisted.internet import defer
-from twisted.trial import unittest, runner, reporter
-
-
-class MockEquality(object):
- def __init__(self, name):
- self.name = name
-
- def __repr__(self):
- return "MockEquality(%s)" % (self.name,)
-
- def __eq__(self, other):
- if not hasattr(other, 'name'):
- raise ValueError("%r not comparable to %r" % (other, self))
- return self.name[0] == other.name[0]
-
-
-class TestAssertions(unittest.TestCase):
- """Tests for TestCase's assertion methods. That is, failUnless*,
- failIf*, assert*.
-
- This is pretty paranoid. Still, a certain paranoia is healthy if you
- are testing a unit testing framework.
- """
-
- class FailingTest(unittest.TestCase):
- def test_fails(self):
- raise self.failureException()
-
- def testFail(self):
- try:
- self.fail("failed")
- except self.failureException, e:
- if not str(e) == 'failed':
- raise self.failureException("Exception had msg %s instead of %s"
- % str(e), 'failed')
- else:
- raise self.failureException("Call to self.fail() didn't fail test")
-
- def test_failingException_fails(self):
- test = runner.TestLoader().loadClass(TestAssertions.FailingTest)
- io = StringIO.StringIO()
- result = reporter.TestResult()
- test.run(result)
- self.failIf(result.wasSuccessful())
- self.failUnlessEqual(result.errors, [])
- self.failUnlessEqual(len(result.failures), 1)
-
- def test_failIf(self):
- for notTrue in [0, 0.0, False, None, (), []]:
- self.failIf(notTrue, "failed on %r" % (notTrue,))
- for true in [1, True, 'cat', [1,2], (3,4)]:
- try:
- self.failIf(true, "failed on %r" % (true,))
- except self.failureException, e:
- self.failUnlessEqual(str(e), "failed on %r" % (true,))
- else:
- self.fail("Call to failIf(%r) didn't fail" % (true,))
-
- def test_failUnless(self):
- for notTrue in [0, 0.0, False, None, (), []]:
- try:
- self.failUnless(notTrue, "failed on %r" % (notTrue,))
- except self.failureException, e:
- self.failUnlessEqual(str(e), "failed on %r" % (notTrue,))
- else:
- self.fail("Call to failUnless(%r) didn't fail" % (notTrue,))
- for true in [1, True, 'cat', [1,2], (3,4)]:
- self.failUnless(true, "failed on %r" % (true,))
-
- def _testEqualPair(self, first, second):
- x = self.failUnlessEqual(first, second)
- if x != first:
- self.fail("failUnlessEqual should return first parameter")
-
- def _testUnequalPair(self, first, second):
- try:
- self.failUnlessEqual(first, second)
- except self.failureException, e:
- expected = 'not equal:\na = %s\nb = %s\n' % (
- pformat(first), pformat(second))
- if str(e) != expected:
- self.fail("Expected: %r; Got: %s" % (expected, str(e)))
- else:
- self.fail("Call to failUnlessEqual(%r, %r) didn't fail"
- % (first, second))
-
- def test_failUnlessEqual_basic(self):
- self._testEqualPair('cat', 'cat')
- self._testUnequalPair('cat', 'dog')
- self._testEqualPair([1], [1])
- self._testUnequalPair([1], 'orange')
-
- def test_failUnlessEqual_custom(self):
- x = MockEquality('first')
- y = MockEquality('second')
- z = MockEquality('fecund')
- self._testEqualPair(x, x)
- self._testEqualPair(x, z)
- self._testUnequalPair(x, y)
- self._testUnequalPair(y, z)
-
- def test_failUnlessEqualMessage(self):
- """
- When a message is passed to L{assertEqual}, it is included in the
- error message.
- """
- exception = self.assertRaises(
- self.failureException, self.assertEqual,
- 'foo', 'bar', 'message')
- self.assertEqual(
- str(exception),
- "message\nnot equal:\na = 'foo'\nb = 'bar'\n")
-
-
- def test_failUnlessEqualNoneMessage(self):
- """
- If a message is specified as C{None}, it is not included in the error
- message of L{assertEqual}.
- """
- exception = self.assertRaises(
- self.failureException, self.assertEqual, 'foo', 'bar', None)
- self.assertEqual(str(exception), "not equal:\na = 'foo'\nb = 'bar'\n")
-
-
- def test_failUnlessEqual_incomparable(self):
- apple = MockEquality('apple')
- orange = ['orange']
- try:
- self.failUnlessEqual(apple, orange)
- except self.failureException:
- self.fail("Fail raised when ValueError ought to have been raised.")
- except ValueError:
- # good. error not swallowed
- pass
- else:
- self.fail("Comparing %r and %r should have raised an exception"
- % (apple, orange))
-
- def _raiseError(self, error):
- raise error
-
- def test_failUnlessRaises_expected(self):
- x = self.failUnlessRaises(ValueError, self._raiseError, ValueError)
- self.failUnless(isinstance(x, ValueError),
- "Expect failUnlessRaises to return instance of raised "
- "exception.")
-
- def test_failUnlessRaises_unexpected(self):
- try:
- self.failUnlessRaises(ValueError, self._raiseError, TypeError)
- except TypeError:
- self.fail("failUnlessRaises shouldn't re-raise unexpected "
- "exceptions")
- except self.failureException, e:
- # what we expect
- pass
- else:
- self.fail("Expected exception wasn't raised. Should have failed")
-
- def test_failUnlessRaises_noException(self):
- try:
- self.failUnlessRaises(ValueError, lambda : None)
- except self.failureException, e:
- self.failUnlessEqual(str(e),
- 'ValueError not raised (None returned)')
- else:
- self.fail("Exception not raised. Should have failed")
-
- def test_failUnlessRaises_failureException(self):
- x = self.failUnlessRaises(self.failureException, self._raiseError,
- self.failureException)
- self.failUnless(isinstance(x, self.failureException),
- "Expected %r instance to be returned"
- % (self.failureException,))
- try:
- x = self.failUnlessRaises(self.failureException, self._raiseError,
- ValueError)
- except self.failureException, e:
- # what we expect
- pass
- else:
- self.fail("Should have raised exception")
-
- def test_failIfEqual_basic(self):
- x, y, z = [1], [2], [1]
- ret = self.failIfEqual(x, y)
- self.failUnlessEqual(ret, x,
- "failIfEqual should return first parameter")
- self.failUnlessRaises(self.failureException,
- self.failIfEqual, x, x)
- self.failUnlessRaises(self.failureException,
- self.failIfEqual, x, z)
-
- def test_failIfEqual_customEq(self):
- x = MockEquality('first')
- y = MockEquality('second')
- z = MockEquality('fecund')
- ret = self.failIfEqual(x, y)
- self.failUnlessEqual(ret, x,
- "failIfEqual should return first parameter")
- self.failUnlessRaises(self.failureException,
- self.failIfEqual, x, x)
- # test when __ne__ is not defined
- self.failIfEqual(x, z, "__ne__ not defined, so not equal")
-
- def test_failUnlessIdentical(self):
- x, y, z = [1], [1], [2]
- ret = self.failUnlessIdentical(x, x)
- self.failUnlessEqual(ret, x,
- 'failUnlessIdentical should return first '
- 'parameter')
- self.failUnlessRaises(self.failureException,
- self.failUnlessIdentical, x, y)
- self.failUnlessRaises(self.failureException,
- self.failUnlessIdentical, x, z)
-
- def test_failUnlessApproximates(self):
- x, y, z = 1.0, 1.1, 1.2
- self.failUnlessApproximates(x, x, 0.2)
- ret = self.failUnlessApproximates(x, y, 0.2)
- self.failUnlessEqual(ret, x, "failUnlessApproximates should return "
- "first parameter")
- self.failUnlessRaises(self.failureException,
- self.failUnlessApproximates, x, z, 0.1)
- self.failUnlessRaises(self.failureException,
- self.failUnlessApproximates, x, y, 0.1)
-
- def test_failUnlessAlmostEqual(self):
- precision = 5
- x = 8.000001
- y = 8.00001
- z = 8.000002
- self.failUnlessAlmostEqual(x, x, precision)
- ret = self.failUnlessAlmostEqual(x, z, precision)
- self.failUnlessEqual(ret, x, "failUnlessAlmostEqual should return "
- "first parameter (%r, %r)" % (ret, x))
- self.failUnlessRaises(self.failureException,
- self.failUnlessAlmostEqual, x, y, precision)
-
- def test_failIfAlmostEqual(self):
- precision = 5
- x = 8.000001
- y = 8.00001
- z = 8.000002
- ret = self.failIfAlmostEqual(x, y, precision)
- self.failUnlessEqual(ret, x, "failIfAlmostEqual should return "
- "first parameter (%r, %r)" % (ret, x))
- self.failUnlessRaises(self.failureException,
- self.failIfAlmostEqual, x, x, precision)
- self.failUnlessRaises(self.failureException,
- self.failIfAlmostEqual, x, z, precision)
-
- def test_failUnlessSubstring(self):
- x = "cat"
- y = "the dog sat"
- z = "the cat sat"
- self.failUnlessSubstring(x, x)
- ret = self.failUnlessSubstring(x, z)
- self.failUnlessEqual(ret, x, 'should return first parameter')
- self.failUnlessRaises(self.failureException,
- self.failUnlessSubstring, x, y)
- self.failUnlessRaises(self.failureException,
- self.failUnlessSubstring, z, x)
-
- def test_failIfSubstring(self):
- x = "cat"
- y = "the dog sat"
- z = "the cat sat"
- self.failIfSubstring(z, x)
- ret = self.failIfSubstring(x, y)
- self.failUnlessEqual(ret, x, 'should return first parameter')
- self.failUnlessRaises(self.failureException,
- self.failIfSubstring, x, x)
- self.failUnlessRaises(self.failureException,
- self.failIfSubstring, x, z)
-
- def test_assertFailure(self):
- d = defer.maybeDeferred(lambda: 1/0)
- return self.assertFailure(d, ZeroDivisionError)
-
- def test_assertFailure_wrongException(self):
- d = defer.maybeDeferred(lambda: 1/0)
- self.assertFailure(d, OverflowError)
- d.addCallbacks(lambda x: self.fail('Should have failed'),
- lambda x: x.trap(self.failureException))
- return d
-
- def test_assertFailure_noException(self):
- d = defer.succeed(None)
- self.assertFailure(d, ZeroDivisionError)
- d.addCallbacks(lambda x: self.fail('Should have failed'),
- lambda x: x.trap(self.failureException))
- return d
-
- def test_assertFailure_moreInfo(self):
- """In the case of assertFailure failing, check that we get lots of
- information about the exception that was raised.
- """
- try:
- 1/0
- except ZeroDivisionError:
- f = failure.Failure()
- d = defer.fail(f)
- d = self.assertFailure(d, RuntimeError)
- d.addErrback(self._checkInfo, f)
- return d
-
- def _checkInfo(self, assertionFailure, f):
- assert assertionFailure.check(self.failureException)
- output = assertionFailure.getErrorMessage()
- self.assertIn(f.getErrorMessage(), output)
- self.assertIn(f.getBriefTraceback(), output)
-
- def test_assertFailure_masked(self):
- """A single wrong assertFailure should fail the whole test.
- """
- class ExampleFailure(Exception):
- pass
-
- class TC(unittest.TestCase):
- failureException = ExampleFailure
- def test_assertFailure(self):
- d = defer.maybeDeferred(lambda: 1/0)
- self.assertFailure(d, OverflowError)
- self.assertFailure(d, ZeroDivisionError)
- return d
-
- test = TC('test_assertFailure')
- result = reporter.TestResult()
- test.run(result)
- self.assertEqual(1, len(result.failures))
-
-
- def test_assertWarns(self):
- """
- Test basic assertWarns report.
- """
- def deprecated(a):
- warnings.warn("Woo deprecated", category=DeprecationWarning)
- return a
- r = self.assertWarns(DeprecationWarning, "Woo deprecated", __file__,
- deprecated, 123)
- self.assertEquals(r, 123)
-
-
- def test_assertWarnsRegistryClean(self):
- """
- Test that assertWarns cleans the warning registry, so the warning is
- not swallowed the second time.
- """
- def deprecated(a):
- warnings.warn("Woo deprecated", category=DeprecationWarning)
- return a
- r1 = self.assertWarns(DeprecationWarning, "Woo deprecated", __file__,
- deprecated, 123)
- self.assertEquals(r1, 123)
- # The warning should be raised again
- r2 = self.assertWarns(DeprecationWarning, "Woo deprecated", __file__,
- deprecated, 321)
- self.assertEquals(r2, 321)
-
-
- def test_assertWarnsError(self):
- """
- Test assertWarns failure when no warning is generated.
- """
- def normal(a):
- return a
- self.assertRaises(self.failureException,
- self.assertWarns, DeprecationWarning, "Woo deprecated", __file__,
- normal, 123)
-
-
- def test_assertWarnsWrongCategory(self):
- """
- Test assertWarns failure when the category is wrong.
- """
- def deprecated(a):
- warnings.warn("Foo deprecated", category=DeprecationWarning)
- return a
- self.assertRaises(self.failureException,
- self.assertWarns, UserWarning, "Foo deprecated", __file__,
- deprecated, 123)
-
-
- def test_assertWarnsWrongMessage(self):
- """
- Test assertWarns failure when the message is wrong.
- """
- def deprecated(a):
- warnings.warn("Foo deprecated", category=DeprecationWarning)
- return a
- self.assertRaises(self.failureException,
- self.assertWarns, DeprecationWarning, "Bar deprecated", __file__,
- deprecated, 123)
-
-
- def test_assertWarnsOnClass(self):
- """
- Test asserWarns works when creating a class instance.
- """
- class Warn:
- def __init__(self):
- warnings.warn("Do not call me", category=RuntimeWarning)
- r = self.assertWarns(RuntimeWarning, "Do not call me", __file__,
- Warn)
- self.assertTrue(isinstance(r, Warn))
- r = self.assertWarns(RuntimeWarning, "Do not call me", __file__,
- Warn)
- self.assertTrue(isinstance(r, Warn))
-
-
- def test_assertWarnsOnMethod(self):
- """
- Test assertWarns works when used on an instance method.
- """
- class Warn:
- def deprecated(self, a):
- warnings.warn("Bar deprecated", category=DeprecationWarning)
- return a
- w = Warn()
- r = self.assertWarns(DeprecationWarning, "Bar deprecated", __file__,
- w.deprecated, 321)
- self.assertEquals(r, 321)
- r = self.assertWarns(DeprecationWarning, "Bar deprecated", __file__,
- w.deprecated, 321)
- self.assertEquals(r, 321)
-
-
- def test_assertWarnsOnCall(self):
- """
- Test assertWarns works on instance with C{__call__} method.
- """
- class Warn:
- def __call__(self, a):
- warnings.warn("Egg deprecated", category=DeprecationWarning)
- return a
- w = Warn()
- r = self.assertWarns(DeprecationWarning, "Egg deprecated", __file__,
- w, 321)
- self.assertEquals(r, 321)
- r = self.assertWarns(DeprecationWarning, "Egg deprecated", __file__,
- w, 321)
- self.assertEquals(r, 321)
-
-
- def test_assertWarnsFilter(self):
- """
- Test assertWarns on a warning filterd by default.
- """
- def deprecated(a):
- warnings.warn("Woo deprecated", category=PendingDeprecationWarning)
- return a
- r = self.assertWarns(PendingDeprecationWarning, "Woo deprecated",
- __file__, deprecated, 123)
- self.assertEquals(r, 123)
-
-
- def test_assertWarnsMultipleWarnings(self):
- """
- Check that assertWarns is able to handle multiple warnings produced by
- the same function.
- """
- i = [0]
- def deprecated(a):
- # the stacklevel is important here, because as the function is
- # recursive, the warnings produced have a different stack, but we
- # want to be sure that only the first warning is tested against
- warnings.warn("Woo deprecated",
- category=PendingDeprecationWarning,
- stacklevel=2)
- i[0] += 1
- if i[0] < 3:
- return deprecated(a)
- else:
- return a
- r = self.assertWarns(PendingDeprecationWarning, "Woo deprecated",
- unittest.__file__, deprecated, 123)
- self.assertEquals(r, 123)
-
-
- def test_assertWarnsDifferentWarnings(self):
- """
- For now, assertWarns is unable to handle multiple different warnings,
- so it should raise an exception if it's the case.
- """
- def deprecated(a):
- warnings.warn("Woo deprecated", category=DeprecationWarning)
- warnings.warn("Another one", category=PendingDeprecationWarning)
- e = self.assertRaises(self.failureException,
- self.assertWarns, DeprecationWarning, "Woo deprecated",
- __file__, deprecated, 123)
- self.assertEquals(str(e), "Can't handle different warnings")
-
-
- def test_assertIsInstance(self):
- """
- Test a true condition of assertIsInstance.
- """
- A = type('A', (object,), {})
- a = A()
- self.assertIsInstance(a, A)
-
- def test_assertIsInstanceMultipleClasses(self):
- """
- Test a true condition of assertIsInstance with multiple classes.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- a = A()
- self.assertIsInstance(a, (A, B))
-
- def test_assertIsInstanceError(self):
- """
- Test an error with assertIsInstance.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- a = A()
- self.assertRaises(self.failureException, self.assertIsInstance, a, B)
-
- def test_assertIsInstanceErrorMultipleClasses(self):
- """
- Test an error with assertIsInstance and multiple classes.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- C = type('C', (object,), {})
- a = A()
- self.assertRaises(self.failureException, self.assertIsInstance, a, (B, C))
-
- def test_assertNotIsInstance(self):
- """
- Test a true condition of assertNotIsInstance.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- a = A()
- self.assertNotIsInstance(a, B)
-
- def test_assertNotIsInstanceMultipleClasses(self):
- """
- Test a true condition of assertNotIsInstance and multiple classes.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- C = type('C', (object,), {})
- a = A()
- self.assertNotIsInstance(a, (B, C))
-
- def test_assertNotIsInstanceError(self):
- """
- Test an error with assertNotIsInstance.
- """
- A = type('A', (object,), {})
- a = A()
- self.assertRaises(self.failureException, self.assertNotIsInstance, a, A)
-
- def test_assertNotIsInstanceErrorMultipleClasses(self):
- """
- Test an error with assertNotIsInstance and multiple classes.
- """
- A = type('A', (object,), {})
- B = type('B', (object,), {})
- a = A()
- self.assertRaises(self.failureException, self.assertNotIsInstance, a, (A, B))
-
-
-
-class TestAssertionNames(unittest.TestCase):
- """Tests for consistency of naming within TestCase assertion methods
- """
- def _getAsserts(self):
- dct = {}
- reflect.accumulateMethods(self, dct, 'assert')
- return [ dct[k] for k in dct if not k.startswith('Not') and k != '_' ]
-
- def _name(self, x):
- return x.__name__
-
- def test_failUnless_matches_assert(self):
- asserts = self._getAsserts()
- failUnlesses = reflect.prefixedMethods(self, 'failUnless')
- self.failUnlessEqual(dsu(asserts, self._name),
- dsu(failUnlesses, self._name))
-
- def test_failIf_matches_assertNot(self):
- asserts = reflect.prefixedMethods(unittest.TestCase, 'assertNot')
- failIfs = reflect.prefixedMethods(unittest.TestCase, 'failIf')
- self.failUnlessEqual(dsu(asserts, self._name),
- dsu(failIfs, self._name))
-
- def test_equalSpelling(self):
- for name, value in vars(self).items():
- if not callable(value):
- continue
- if name.endswith('Equal'):
- self.failUnless(hasattr(self, name+'s'),
- "%s but no %ss" % (name, name))
- self.failUnlessEqual(value, getattr(self, name+'s'))
- if name.endswith('Equals'):
- self.failUnless(hasattr(self, name[:-1]),
- "%s but no %s" % (name, name[:-1]))
- self.failUnlessEqual(value, getattr(self, name[:-1]))
-
-
-class TestCallDeprecated(unittest.TestCase):
- """
- Test the L{TestCase.callDeprecated} method.
- """
-
- version = Version('Twisted', 8, 0, 0)
-
- def oldMethod(self, x):
- """
- Deprecated method for testing.
- """
- return x
- oldMethod = deprecated(version)(oldMethod)
-
-
- def test_callDeprecatedSuppressesWarning(self):
- """
- callDeprecated calls a deprecated callable, suppressing the
- deprecation warning.
- """
- warningsShown = []
- def warnExplicit(*args):
- warningsShown.append(args)
- self.patch(warnings, 'warn_explicit', warnExplicit)
- self.callDeprecated(self.version, self.oldMethod, 'foo')
- self.assertEqual([], warningsShown, "No warnings should be shown")
-
-
- def test_callDeprecatedCallsFunction(self):
- """
- L{callDeprecated} actually calls the callable passed to it.
- """
- result = self.callDeprecated(self.version, self.oldMethod, 'foo')
- self.assertEqual('foo', result)
-
-
- def test_failsWithoutDeprecation(self):
- """
- callDeprecated raises a test failure if the callable is not
- deprecated.
- """
- def notDeprecated():
- pass
- exception = self.assertRaises(
- self.failureException,
- self.callDeprecated, self.version, notDeprecated)
- self.assertEqual(
- "%r is not deprecated." % notDeprecated, str(exception))
-
-
- def test_failsWithIncorrectDeprecation(self):
- """
- callDeprecated raises a test failure if the callable was deprecated
- at a different version to the one expected.
- """
- differentVersion = Version('Foo', 1, 2, 3)
- exception = self.assertRaises(
- self.failureException,
- self.callDeprecated,
- differentVersion, self.oldMethod, 'foo')
- self.assertIn(getVersionString(self.version), str(exception))
- self.assertIn(getVersionString(differentVersion), str(exception))
-
-
- def test_nestedDeprecation(self):
- """
- L{callDeprecated} ignores all deprecations apart from the first.
-
- Multiple warnings are generated when a deprecated function calls
- another deprecated function. The first warning is the one generated by
- the explicitly called function. That's the warning that we care about.
- """
- differentVersion = Version('Foo', 1, 2, 3)
-
- def nestedDeprecation(*args):
- return self.oldMethod(*args)
- nestedDeprecation = deprecated(differentVersion)(nestedDeprecation)
-
- self.callDeprecated(differentVersion, nestedDeprecation, 24)
« no previous file with comments | « third_party/twisted_8_1/twisted/trial/test/suppression.py ('k') | third_party/twisted_8_1/twisted/trial/test/test_class.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698