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

Unified Diff: third_party/twisted_8_1/twisted/test/test_failure.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/test/test_failure.py
diff --git a/third_party/twisted_8_1/twisted/test/test_failure.py b/third_party/twisted_8_1/twisted/test/test_failure.py
deleted file mode 100644
index 7dc0ab19e921ee0510a754faf6eb94864795d24d..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/test/test_failure.py
+++ /dev/null
@@ -1,318 +0,0 @@
-# Copyright (c) 2001-2008 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-"""
-Test cases for failure module.
-"""
-
-import sys
-import StringIO
-import traceback
-
-from twisted.trial import unittest, util
-
-from twisted.python import failure
-
-try:
- from twisted.test import raiser
-except ImportError:
- raiser = None
-
-
-class BrokenStr(Exception):
- def __str__(self):
- raise self
-
-
-def getDivisionFailure():
- try:
- 1/0
- except:
- f = failure.Failure()
- return f
-
-
-class FailureTestCase(unittest.TestCase):
-
- def testFailAndTrap(self):
- """Trapping a failure."""
- try:
- raise NotImplementedError('test')
- except:
- f = failure.Failure()
- error = f.trap(SystemExit, RuntimeError)
- self.assertEquals(error, RuntimeError)
- self.assertEquals(f.type, NotImplementedError)
-
- def test_notTrapped(self):
- """Making sure trap doesn't trap what it shouldn't."""
- try:
- raise ValueError()
- except:
- f = failure.Failure()
- self.assertRaises(failure.Failure, f.trap, OverflowError)
-
- def testPrinting(self):
- out = StringIO.StringIO()
- try:
- 1/0
- except:
- f = failure.Failure()
- f.printDetailedTraceback(out)
- f.printBriefTraceback(out)
- f.printTraceback(out)
-
- def testExplictPass(self):
- e = RuntimeError()
- f = failure.Failure(e)
- f.trap(RuntimeError)
- self.assertEquals(f.value, e)
-
-
- def _getInnermostFrameLine(self, f):
- try:
- f.raiseException()
- except ZeroDivisionError:
- tb = traceback.extract_tb(sys.exc_info()[2])
- return tb[-1][-1]
- else:
- raise Exception(
- "f.raiseException() didn't raise ZeroDivisionError!?")
-
-
- def testRaiseExceptionWithTB(self):
- f = getDivisionFailure()
- innerline = self._getInnermostFrameLine(f)
- self.assertEquals(innerline, '1/0')
-
-
- def testLackOfTB(self):
- f = getDivisionFailure()
- f.cleanFailure()
- innerline = self._getInnermostFrameLine(f)
- self.assertEquals(innerline, '1/0')
-
- testLackOfTB.todo = "the traceback is not preserved, exarkun said he'll try to fix this! god knows how"
-
-
- _stringException = "bugger off"
- def _getStringFailure(self):
- try:
- raise self._stringException
- except:
- f = failure.Failure()
- return f
-
- def test_raiseStringExceptions(self):
- # String exceptions used to totally bugged f.raiseException
- f = self._getStringFailure()
- try:
- f.raiseException()
- except:
- self.assertEquals(sys.exc_info()[0], self._stringException)
- else:
- raise AssertionError("Should have raised")
- test_raiseStringExceptions.suppress = [
- util.suppress(message='raising a string exception is deprecated')]
-
-
- def test_printStringExceptions(self):
- """
- L{Failure.printTraceback} should write out stack and exception
- information, even for string exceptions.
- """
- failure = self._getStringFailure()
- output = StringIO.StringIO()
- failure.printTraceback(file=output)
- lines = output.getvalue().splitlines()
- # The last line should be the value of the raised string
- self.assertEqual(lines[-1], self._stringException)
-
- test_printStringExceptions.suppress = [
- util.suppress(message='raising a string exception is deprecated')]
-
- if sys.version_info[:2] >= (2, 6):
- skipMsg = ("String exceptions aren't supported anymore starting "
- "Python 2.6")
- test_raiseStringExceptions.skip = skipMsg
- test_printStringExceptions.skip = skipMsg
-
-
- def testBrokenStr(self):
- """
- Formatting a traceback of a Failure which refers to an object
- that has a broken __str__ implementation should not cause
- getTraceback to raise an exception.
- """
- x = BrokenStr()
- try:
- str(x)
- except:
- f = failure.Failure()
- self.assertEquals(f.value, x)
- try:
- f.getTraceback()
- except:
- self.fail("getTraceback() shouldn't raise an exception")
-
-
- def testConstructionFails(self):
- """
- Creating a Failure with no arguments causes it to try to discover the
- current interpreter exception state. If no such state exists, creating
- the Failure should raise a synchronous exception.
- """
- self.assertRaises(failure.NoCurrentExceptionError, failure.Failure)
-
- def test_getTracebackObject(self):
- """
- If the C{Failure} has not been cleaned, then C{getTracebackObject}
- should return the traceback object that it was given in the
- constructor.
- """
- f = getDivisionFailure()
- self.assertEqual(f.getTracebackObject(), f.tb)
-
- def test_getTracebackObjectFromClean(self):
- """
- If the Failure has been cleaned, then C{getTracebackObject} should
- return an object that looks the same to L{traceback.extract_tb}.
- """
- f = getDivisionFailure()
- expected = traceback.extract_tb(f.getTracebackObject())
- f.cleanFailure()
- observed = traceback.extract_tb(f.getTracebackObject())
- self.assertEqual(expected, observed)
-
- def test_getTracebackObjectWithoutTraceback(self):
- """
- L{failure.Failure}s need not be constructed with traceback objects. If
- a C{Failure} has no traceback information at all, C{getTracebackObject}
- should just return None.
-
- None is a good value, because traceback.extract_tb(None) -> [].
- """
- f = failure.Failure(Exception("some error"))
- self.assertEqual(f.getTracebackObject(), None)
-
-class FindFailureTests(unittest.TestCase):
- """
- Tests for functionality related to L{Failure._findFailure}.
- """
-
- def test_findNoFailureInExceptionHandler(self):
- """
- Within an exception handler, _findFailure should return
- C{None} in case no Failure is associated with the current
- exception.
- """
- try:
- 1/0
- except:
- self.assertEqual(failure.Failure._findFailure(), None)
- else:
- self.fail("No exception raised from 1/0!?")
-
-
- def test_findNoFailure(self):
- """
- Outside of an exception handler, _findFailure should return None.
- """
- self.assertEqual(sys.exc_info()[-1], None) #environment sanity check
- self.assertEqual(failure.Failure._findFailure(), None)
-
-
- def test_findFailure(self):
- """
- Within an exception handler, it should be possible to find the
- original Failure that caused the current exception (if it was
- caused by raiseException).
- """
- f = getDivisionFailure()
- f.cleanFailure()
- try:
- f.raiseException()
- except:
- self.assertEqual(failure.Failure._findFailure(), f)
- else:
- self.fail("No exception raised from raiseException!?")
-
-
- def test_failureConstructionFindsOriginalFailure(self):
- """
- When a Failure is constructed in the context of an exception
- handler that is handling an exception raised by
- raiseException, the new Failure should be chained to that
- original Failure.
- """
- f = getDivisionFailure()
- f.cleanFailure()
- try:
- f.raiseException()
- except:
- newF = failure.Failure()
- self.assertEqual(f.getTraceback(), newF.getTraceback())
- else:
- self.fail("No exception raised from raiseException!?")
-
-
- def test_failureConstructionWithMungedStackSucceeds(self):
- """
- Pyrex and Cython are known to insert fake stack frames so as to give
- more Python-like tracebacks. These stack frames with empty code objects
- should not break extraction of the exception.
- """
- try:
- raiser.raiseException()
- except raiser.RaiserException:
- f = failure.Failure()
- self.assertTrue(f.check(raiser.RaiserException))
- else:
- self.fail("No exception raised from extension?!")
-
-
- if raiser is None:
- skipMsg = "raiser extension not available"
- test_failureConstructionWithMungedStackSucceeds.skip = skipMsg
-
-
-
-class TestFormattableTraceback(unittest.TestCase):
- """
- Whitebox tests that show that L{failure._Traceback} constructs objects that
- can be used by L{traceback.extract_tb}.
-
- If the objects can be used by L{traceback.extract_tb}, then they can be
- formatted using L{traceback.format_tb} and friends.
- """
-
- def test_singleFrame(self):
- """
- A C{_Traceback} object constructed with a single frame should be able
- to be passed to L{traceback.extract_tb}, and we should get a singleton
- list containing a (filename, lineno, methodname, line) tuple.
- """
- tb = failure._Traceback([['method', 'filename.py', 123, {}, {}]])
- # Note that we don't need to test that extract_tb correctly extracts
- # the line's contents. In this case, since filename.py doesn't exist,
- # it will just use None.
- self.assertEqual(traceback.extract_tb(tb),
- [('filename.py', 123, 'method', None)])
-
- def test_manyFrames(self):
- """
- A C{_Traceback} object constructed with multiple frames should be able
- to be passed to L{traceback.extract_tb}, and we should get a list
- containing a tuple for each frame.
- """
- tb = failure._Traceback([
- ['method1', 'filename.py', 123, {}, {}],
- ['method2', 'filename.py', 235, {}, {}]])
- self.assertEqual(traceback.extract_tb(tb),
- [('filename.py', 123, 'method1', None),
- ('filename.py', 235, 'method2', None)])
-
-
-if sys.version_info[:2] >= (2, 5):
- from twisted.test.generator_failure_tests import TwoPointFiveFailureTests
« no previous file with comments | « third_party/twisted_8_1/twisted/test/test_factories.py ('k') | third_party/twisted_8_1/twisted/test/test_fdesc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698