Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.1.1 & Your IP : 3.148.197.73
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
twisted /
test /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-11-28 06:59
__init__.py
475
B
-rw-r--r--
2022-02-07 13:12
cert.pem.no_trailing_newline
1.38
KB
-rw-r--r--
2022-02-07 13:12
crash_test_dummy.py
549
B
-rw-r--r--
2022-02-07 13:12
ignore_test_failure.py
30.72
KB
-rw-r--r--
2024-11-22 17:49
iosim.py
17.74
KB
-rw-r--r--
2022-02-07 13:12
key.pem.no_trailing_newline
1.67
KB
-rw-r--r--
2022-02-07 13:12
mock_win32process.py
1.27
KB
-rw-r--r--
2022-02-07 13:12
myrebuilder1.py
151
B
-rw-r--r--
2022-02-07 13:12
myrebuilder2.py
151
B
-rw-r--r--
2022-02-07 13:12
plugin_basic.py
901
B
-rw-r--r--
2022-02-07 13:12
plugin_extra1.py
392
B
-rw-r--r--
2022-02-07 13:12
plugin_extra2.py
550
B
-rw-r--r--
2022-02-07 13:12
process_cmdline.py
123
B
-rw-r--r--
2022-02-07 13:12
process_echoer.py
214
B
-rw-r--r--
2022-02-07 13:12
process_fds.py
984
B
-rw-r--r--
2022-02-07 13:12
process_getargv.py
234
B
-rw-r--r--
2022-02-07 13:12
process_getenv.py
268
B
-rw-r--r--
2022-02-07 13:12
process_linger.py
297
B
-rw-r--r--
2022-02-07 13:12
process_reader.py
178
B
-rw-r--r--
2022-02-07 13:12
process_signal.py
220
B
-rw-r--r--
2022-02-07 13:12
process_stdinreader.py
739
B
-rw-r--r--
2022-02-07 13:12
process_tester.py
779
B
-rw-r--r--
2022-02-07 13:12
process_tty.py
130
B
-rw-r--r--
2022-02-07 13:12
process_twisted.py
1.15
KB
-rw-r--r--
2022-02-07 13:12
proto_helpers.py
1.34
KB
-rw-r--r--
2022-02-07 13:12
reflect_helper_IE.py
60
B
-rw-r--r--
2022-02-07 13:12
reflect_helper_VE.py
81
B
-rw-r--r--
2022-02-07 13:12
reflect_helper_ZDE.py
48
B
-rw-r--r--
2022-02-07 13:12
server.pem
4.34
KB
-rw-r--r--
2022-02-07 13:12
ssl_helpers.py
1.61
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_consumer.py
1.14
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_halfclose.py
2
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_hostpeer.py
1.06
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_lastwrite.py
1.13
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_loseconn.py
1.55
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_producer.py
1.45
KB
-rw-r--r--
2022-02-07 13:12
stdio_test_write.py
902
B
-rw-r--r--
2022-02-07 13:12
stdio_test_writeseq.py
894
B
-rw-r--r--
2022-02-07 13:12
test_abstract.py
3.35
KB
-rw-r--r--
2022-02-07 13:12
test_adbapi.py
25.56
KB
-rw-r--r--
2022-02-07 13:12
test_amp.py
107.92
KB
-rw-r--r--
2022-02-07 13:12
test_application.py
33.34
KB
-rw-r--r--
2022-02-07 13:12
test_compat.py
17.75
KB
-rw-r--r--
2022-02-07 13:12
test_context.py
1.43
KB
-rw-r--r--
2022-02-07 13:12
test_cooperator.py
20.84
KB
-rw-r--r--
2022-02-07 13:12
test_defer.py
121.86
KB
-rw-r--r--
2022-02-07 13:12
test_defgen.py
10.38
KB
-rw-r--r--
2022-02-07 13:12
test_dict.py
1.49
KB
-rw-r--r--
2022-02-07 13:12
test_dirdbm.py
6.69
KB
-rw-r--r--
2022-02-07 13:12
test_error.py
8.72
KB
-rw-r--r--
2022-02-07 13:12
test_factories.py
4.46
KB
-rw-r--r--
2022-02-07 13:12
test_fdesc.py
7.28
KB
-rw-r--r--
2022-02-07 13:12
test_finger.py
1.85
KB
-rw-r--r--
2022-02-07 13:12
test_formmethod.py
3.87
KB
-rw-r--r--
2022-02-07 13:12
test_ftp.py
126.96
KB
-rw-r--r--
2022-02-07 13:12
test_ftp_options.py
2.63
KB
-rw-r--r--
2022-02-07 13:12
test_htb.py
3.08
KB
-rw-r--r--
2022-02-07 13:12
test_ident.py
6.56
KB
-rw-r--r--
2022-02-07 13:12
test_internet.py
45.38
KB
-rw-r--r--
2022-02-07 13:12
test_iosim.py
8.7
KB
-rw-r--r--
2022-02-07 13:12
test_iutils.py
13.31
KB
-rw-r--r--
2022-02-07 13:12
test_lockfile.py
14.98
KB
-rw-r--r--
2022-02-07 13:12
test_log.py
35.23
KB
-rw-r--r--
2022-02-07 13:12
test_logfile.py
17.47
KB
-rw-r--r--
2022-02-07 13:12
test_loopback.py
13.99
KB
-rw-r--r--
2022-02-07 13:12
test_main.py
2.12
KB
-rw-r--r--
2022-02-07 13:12
test_memcache.py
24.69
KB
-rw-r--r--
2022-02-07 13:12
test_modules.py
17.02
KB
-rw-r--r--
2024-11-22 17:49
test_monkey.py
5.39
KB
-rw-r--r--
2022-02-07 13:12
test_paths.py
69.31
KB
-rw-r--r--
2022-02-07 13:12
test_pcp.py
12.23
KB
-rw-r--r--
2022-02-07 13:12
test_persisted.py
13.09
KB
-rw-r--r--
2022-02-07 13:12
test_plugin.py
24.79
KB
-rw-r--r--
2022-02-07 13:12
test_policies.py
32.29
KB
-rw-r--r--
2022-02-07 13:12
test_postfix.py
4.32
KB
-rw-r--r--
2022-02-07 13:12
test_process.py
85.16
KB
-rw-r--r--
2022-02-07 13:12
test_protocols.py
7.16
KB
-rw-r--r--
2022-02-07 13:12
test_randbytes.py
3.19
KB
-rw-r--r--
2022-02-07 13:12
test_rebuild.py
7.15
KB
-rw-r--r--
2022-02-07 13:12
test_reflect.py
23.9
KB
-rw-r--r--
2022-02-07 13:12
test_roots.py
1.6
KB
-rw-r--r--
2022-02-07 13:12
test_shortcut.py
1.92
KB
-rw-r--r--
2022-02-07 13:12
test_sip.py
24.9
KB
-rw-r--r--
2022-02-07 13:12
test_sob.py
5.53
KB
-rw-r--r--
2022-02-07 13:12
test_socks.py
17.09
KB
-rw-r--r--
2022-02-07 13:12
test_ssl.py
22.75
KB
-rw-r--r--
2022-02-07 13:12
test_sslverify.py
113.89
KB
-rw-r--r--
2024-11-22 17:49
test_stateful.py
1.97
KB
-rw-r--r--
2022-02-07 13:12
test_stdio.py
12.43
KB
-rw-r--r--
2022-02-07 13:12
test_strerror.py
5.12
KB
-rw-r--r--
2022-02-07 13:12
test_strports.py
1.67
KB
-rw-r--r--
2022-02-07 13:12
test_task.py
45.26
KB
-rw-r--r--
2022-02-07 13:12
test_tcp.py
64.27
KB
-rw-r--r--
2022-02-07 13:12
test_tcp_internals.py
12.73
KB
-rw-r--r--
2022-02-07 13:12
test_text.py
6.22
KB
-rw-r--r--
2022-02-07 13:12
test_threadable.py
3.26
KB
-rw-r--r--
2022-02-07 13:12
test_threadpool.py
21.44
KB
-rw-r--r--
2022-02-07 13:12
test_threads.py
12.9
KB
-rw-r--r--
2022-02-07 13:12
test_tpfile.py
1.51
KB
-rw-r--r--
2022-02-07 13:12
test_twistd.py
72.04
KB
-rw-r--r--
2022-02-07 13:12
test_twisted.py
6.13
KB
-rw-r--r--
2022-02-07 13:12
test_udp.py
24.43
KB
-rw-r--r--
2022-02-07 13:12
test_unix.py
13.26
KB
-rw-r--r--
2022-02-07 13:12
test_usage.py
22.76
KB
-rw-r--r--
2022-02-07 13:12
testutils.py
5.06
KB
-rw-r--r--
2022-02-07 13:12
Save
Rename
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for L{twisted.internet.defer.deferredGenerator} and related APIs. """ from twisted.internet import defer, reactor from twisted.internet.defer import ( Deferred, deferredGenerator, inlineCallbacks, returnValue, waitForDeferred, ) from twisted.python.util import runWithWarningsSuppressed from twisted.trial import unittest from twisted.trial.util import suppress as SUPPRESS 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) def deprecatedDeferredGenerator(f): """ Calls L{deferredGenerator} while suppressing the deprecation warning. @param f: Function to call @return: Return value of function. """ return runWithWarningsSuppressed( [ SUPPRESS( message="twisted.internet.defer.deferredGenerator was " "deprecated" ) ], deferredGenerator, f, ) class DeferredGeneratorTests(BaseDefgenTests, unittest.TestCase): # First provide all the generator impls necessary for BaseDefgenTests @deprecatedDeferredGenerator def _genBasics(self): x = waitForDeferred(getThing()) yield x x = x.getResult() self.assertEqual(x, "hi") ow = waitForDeferred(getOwie()) yield ow try: ow.getResult() except ZeroDivisionError as e: self.assertEqual(str(e), "OMG") yield "WOOSH" return @deprecatedDeferredGenerator def _genBuggy(self): yield waitForDeferred(getThing()) 1 // 0 @deprecatedDeferredGenerator def _genNothing(self): if False: yield 1 @deprecatedDeferredGenerator def _genHandledTerminalFailure(self): x = waitForDeferred(defer.fail(TerminalException("Handled Terminal Failure"))) yield x try: x.getResult() except TerminalException: pass @deprecatedDeferredGenerator def _genHandledTerminalAsyncFailure(self, d): x = waitForDeferred(d) yield x try: x.getResult() except TerminalException: pass 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 = deprecatedDeferredGenerator(_genStackUsage) def _genStackUsage2(self): for x in range(5000): # Test with yielding a random value yield 1 yield 0 _genStackUsage2 = deprecatedDeferredGenerator(_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 = deprecatedDeferredGenerator(_genDeferred) return self.assertFailure(_genDeferred(), TypeError) suppress = [ SUPPRESS(message="twisted.internet.defer.waitForDeferred was " "deprecated") ] class InlineCallbacksTests(BaseDefgenTests, unittest.TestCase): # First provide all the generator impls necessary for BaseDefgenTests def _genBasics(self): x = yield getThing() self.assertEqual(x, "hi") try: yield getOwie() except ZeroDivisionError as e: self.assertEqual(str(e), "OMG") returnValue("WOOSH") _genBasics = inlineCallbacks(_genBasics) def _genBuggy(self): yield getThing() 1 / 0 _genBuggy = inlineCallbacks(_genBuggy) def _genNothing(self): if False: yield 1 _genNothing = inlineCallbacks(_genNothing) def _genHandledTerminalFailure(self): try: yield defer.fail(TerminalException("Handled Terminal Failure")) except TerminalException: pass _genHandledTerminalFailure = inlineCallbacks(_genHandledTerminalFailure) def _genHandledTerminalAsyncFailure(self, d): try: yield d except TerminalException: pass _genHandledTerminalAsyncFailure = inlineCallbacks(_genHandledTerminalAsyncFailure) def _genStackUsage(self): for x in range(5000): # Test with yielding a deferred 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 testYieldNonDeferred(self): """ Ensure that yielding a non-deferred passes it back as the result of the yield expression. @return: A L{twisted.internet.defer.Deferred} @rtype: L{twisted.internet.defer.Deferred} """ def _test(): 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) def test_nonGeneratorReturn(self): """ Ensure that C{TypeError} with a message about L{inlineCallbacks} is raised when a non-generator returns something other than a generator. """ def _noYield(): return 5 _noYield = inlineCallbacks(_noYield) self.assertIn("inlineCallbacks", str(self.assertRaises(TypeError, _noYield))) def test_nonGeneratorReturnValue(self): """ Ensure that C{TypeError} with a message about L{inlineCallbacks} is raised when a non-generator calls L{returnValue}. """ def _noYield(): returnValue(5) _noYield = inlineCallbacks(_noYield) self.assertIn("inlineCallbacks", str(self.assertRaises(TypeError, _noYield))) class DeprecateDeferredGeneratorTests(unittest.SynchronousTestCase): """ Tests that L{DeferredGeneratorTests} and L{waitForDeferred} are deprecated. """ def test_deferredGeneratorDeprecated(self): """ L{deferredGenerator} is deprecated. """ @deferredGenerator def decoratedFunction(): yield None warnings = self.flushWarnings([self.test_deferredGeneratorDeprecated]) self.assertEqual(len(warnings), 1) self.assertEqual(warnings[0]["category"], DeprecationWarning) self.assertEqual( warnings[0]["message"], "twisted.internet.defer.deferredGenerator was deprecated in " "Twisted 15.0.0; please use " "twisted.internet.defer.inlineCallbacks instead", ) def test_waitForDeferredDeprecated(self): """ L{waitForDeferred} is deprecated. """ d = Deferred() waitForDeferred(d) warnings = self.flushWarnings([self.test_waitForDeferredDeprecated]) self.assertEqual(len(warnings), 1) self.assertEqual(warnings[0]["category"], DeprecationWarning) self.assertEqual( warnings[0]["message"], "twisted.internet.defer.waitForDeferred was deprecated in " "Twisted 15.0.0; please use " "twisted.internet.defer.inlineCallbacks instead", )