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

Unified Diff: third_party/twisted_8_1/twisted/test/test_defgen.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_defgen.py
diff --git a/third_party/twisted_8_1/twisted/test/test_defgen.py b/third_party/twisted_8_1/twisted/test/test_defgen.py
deleted file mode 100644
index 399e9dbcf74def4b8ace2e228942af9cf3066ac7..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/test/test_defgen.py
+++ /dev/null
@@ -1,283 +0,0 @@
-from __future__ import generators, nested_scopes
-
-import sys
-
-from twisted.internet import reactor
-
-from twisted.trial import unittest, util
-
-from twisted.internet.defer import waitForDeferred, deferredGenerator, Deferred
-from twisted.internet import defer
-
-def getThing():
- d = Deferred()
- reactor.callLater(0, d.callback, "hi")
- return d
-
-def getOwie():
- d = Deferred()
- def CRAP():
- d.errback(ZeroDivisionError('OMG'))
- reactor.callLater(0, CRAP)
- return d
-
-# NOTE: most of the tests in DeferredGeneratorTests are duplicated
-# with slightly different syntax for the InlineCallbacksTests below.
-
-class TerminalException(Exception):
- pass
-
-class BaseDefgenTests:
- """
- This class sets up a bunch of test cases which will test both
- deferredGenerator and inlineCallbacks based generators. The subclasses
- DeferredGeneratorTests and InlineCallbacksTests each provide the actual
- generator implementations tested.
- """
-
- def testBasics(self):
- """
- Test that a normal deferredGenerator works. Tests yielding a
- deferred which callbacks, as well as a deferred errbacks. Also
- ensures returning a final value works.
- """
-
- return self._genBasics().addCallback(self.assertEqual, 'WOOSH')
-
- def testBuggy(self):
- """
- Ensure that a buggy generator properly signals a Failure
- condition on result deferred.
- """
- return self.assertFailure(self._genBuggy(), ZeroDivisionError)
-
- def testNothing(self):
- """Test that a generator which never yields results in None."""
-
- return self._genNothing().addCallback(self.assertEqual, None)
-
- def testHandledTerminalFailure(self):
- """
- Create a Deferred Generator which yields a Deferred which fails and
- handles the exception which results. Assert that the Deferred
- Generator does not errback its Deferred.
- """
- return self._genHandledTerminalFailure().addCallback(self.assertEqual, None)
-
- def testHandledTerminalAsyncFailure(self):
- """
- Just like testHandledTerminalFailure, only with a Deferred which fires
- asynchronously with an error.
- """
- d = defer.Deferred()
- deferredGeneratorResultDeferred = self._genHandledTerminalAsyncFailure(d)
- d.errback(TerminalException("Handled Terminal Failure"))
- return deferredGeneratorResultDeferred.addCallback(
- self.assertEqual, None)
-
- def testStackUsage(self):
- """
- Make sure we don't blow the stack when yielding immediately
- available deferreds.
- """
- return self._genStackUsage().addCallback(self.assertEqual, 0)
-
- def testStackUsage2(self):
- """
- Make sure we don't blow the stack when yielding immediately
- available values.
- """
- return self._genStackUsage2().addCallback(self.assertEqual, 0)
-
-
-
-
-class DeferredGeneratorTests(BaseDefgenTests, unittest.TestCase):
-
- # First provide all the generator impls necessary for BaseDefgenTests
- def _genBasics(self):
-
- x = waitForDeferred(getThing())
- yield x
- x = x.getResult()
-
- self.assertEquals(x, "hi")
-
- ow = waitForDeferred(getOwie())
- yield ow
- try:
- ow.getResult()
- except ZeroDivisionError, e:
- self.assertEquals(str(e), 'OMG')
- yield "WOOSH"
- return
- _genBasics = deferredGenerator(_genBasics)
-
- def _genBuggy(self):
- yield waitForDeferred(getThing())
- 1/0
- _genBuggy = deferredGenerator(_genBuggy)
-
-
- def _genNothing(self):
- if 0: yield 1
- _genNothing = deferredGenerator(_genNothing)
-
- def _genHandledTerminalFailure(self):
- x = waitForDeferred(defer.fail(TerminalException("Handled Terminal Failure")))
- yield x
- try:
- x.getResult()
- except TerminalException:
- pass
- _genHandledTerminalFailure = deferredGenerator(_genHandledTerminalFailure)
-
-
- def _genHandledTerminalAsyncFailure(self, d):
- x = waitForDeferred(d)
- yield x
- try:
- x.getResult()
- except TerminalException:
- pass
- _genHandledTerminalAsyncFailure = deferredGenerator(_genHandledTerminalAsyncFailure)
-
-
- def _genStackUsage(self):
- for x in range(5000):
- # Test with yielding a deferred
- x = waitForDeferred(defer.succeed(1))
- yield x
- x = x.getResult()
- yield 0
- _genStackUsage = deferredGenerator(_genStackUsage)
-
- def _genStackUsage2(self):
- for x in range(5000):
- # Test with yielding a random value
- yield 1
- yield 0
- _genStackUsage2 = deferredGenerator(_genStackUsage2)
-
- # Tests unique to deferredGenerator
-
- def testDeferredYielding(self):
- """
- Ensure that yielding a Deferred directly is trapped as an
- error.
- """
- # See the comment _deferGenerator about d.callback(Deferred).
- def _genDeferred():
- yield getThing()
- _genDeferred = deferredGenerator(_genDeferred)
-
- return self.assertFailure(_genDeferred(), TypeError)
-
-
-
-## This has to be in a string so the new yield syntax doesn't cause a
-## syntax error in Python 2.4 and before.
-inlineCallbacksTestsSource = '''
-from twisted.internet.defer import inlineCallbacks, returnValue
-
-class InlineCallbacksTests(BaseDefgenTests, unittest.TestCase):
- # First provide all the generator impls necessary for BaseDefgenTests
-
- def _genBasics(self):
-
- x = yield getThing()
-
- self.assertEquals(x, "hi")
-
- try:
- ow = yield getOwie()
- except ZeroDivisionError, e:
- self.assertEquals(str(e), 'OMG')
- returnValue("WOOSH")
- _genBasics = inlineCallbacks(_genBasics)
-
- def _genBuggy(self):
- yield getThing()
- 1/0
- _genBuggy = inlineCallbacks(_genBuggy)
-
-
- def _genNothing(self):
- if 0: yield 1
- _genNothing = inlineCallbacks(_genNothing)
-
-
- def _genHandledTerminalFailure(self):
- try:
- x = yield defer.fail(TerminalException("Handled Terminal Failure"))
- except TerminalException:
- pass
- _genHandledTerminalFailure = inlineCallbacks(_genHandledTerminalFailure)
-
-
- def _genHandledTerminalAsyncFailure(self, d):
- try:
- x = yield d
- except TerminalException:
- pass
- _genHandledTerminalAsyncFailure = inlineCallbacks(
- _genHandledTerminalAsyncFailure)
-
-
- def _genStackUsage(self):
- for x in range(5000):
- # Test with yielding a deferred
- x = yield defer.succeed(1)
- returnValue(0)
- _genStackUsage = inlineCallbacks(_genStackUsage)
-
- def _genStackUsage2(self):
- for x in range(5000):
- # Test with yielding a random value
- yield 1
- returnValue(0)
- _genStackUsage2 = inlineCallbacks(_genStackUsage2)
-
- # Tests unique to inlineCallbacks
-
- def testYieldNonDeferrred(self):
- """
- Ensure that yielding a non-deferred passes it back as the
- result of the yield expression.
- """
- def _test():
- x = yield 5
- returnValue(5)
- _test = inlineCallbacks(_test)
-
- return _test().addCallback(self.assertEqual, 5)
-
- def testReturnNoValue(self):
- """Ensure a standard python return results in a None result."""
- def _noReturn():
- yield 5
- return
- _noReturn = inlineCallbacks(_noReturn)
-
- return _noReturn().addCallback(self.assertEqual, None)
-
- def testReturnValue(self):
- """Ensure that returnValue works."""
- def _return():
- yield 5
- returnValue(6)
- _return = inlineCallbacks(_return)
-
- return _return().addCallback(self.assertEqual, 6)
-
-'''
-
-if sys.version_info > (2, 5):
- # Load tests
- exec inlineCallbacksTestsSource
-else:
- # Make a placeholder test case
- class InlineCallbacksTests(unittest.TestCase):
- skip = "defer.defgen doesn't run on python < 2.5."
- def test_everything(self):
- pass
« no previous file with comments | « third_party/twisted_8_1/twisted/test/test_defer.py ('k') | third_party/twisted_8_1/twisted/test/test_dict.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698