/usr/lib/python3/dist-packages/twisted/test
NameSizeModeActions
__pycache__/-0755rm
cert.pem.no_trailing_newline14140644editdlrm
crash_test_dummy.py5490644editdlrm
ignore_test_failure.py314590644editdlrm
iosim.py181630644editdlrm
key.pem.no_trailing_newline17070644editdlrm
mock_win32process.py12990644editdlrm
myrebuilder1.py1510644editdlrm
myrebuilder2.py1510644editdlrm
plugin_basic.py9010644editdlrm
plugin_extra1.py3920644editdlrm
plugin_extra2.py5500644editdlrm
process_cmdline.py1230644editdlrm
process_echoer.py2140644editdlrm
process_fds.py9840644editdlrm
process_getargv.py2340644editdlrm
process_getenv.py2680644editdlrm
process_linger.py2970644editdlrm
process_reader.py1780644editdlrm
process_signal.py2200644editdlrm
process_stdinreader.py7390644editdlrm
process_tester.py7790644editdlrm
process_tty.py1300644editdlrm
process_twisted.py11820644editdlrm
proto_helpers.py13680644editdlrm
reflect_helper_IE.py600644editdlrm
reflect_helper_VE.py810644editdlrm
reflect_helper_ZDE.py480644editdlrm
server.pem44440644editdlrm
ssl_helpers.py16500644editdlrm
stdio_test_consumer.py11680644editdlrm
stdio_test_halfclose.py20470644editdlrm
stdio_test_hostpeer.py10890644editdlrm
stdio_test_lastwrite.py11540644editdlrm
stdio_test_loseconn.py15830644editdlrm
stdio_test_producer.py14840644editdlrm
stdio_test_write.py9020644editdlrm
stdio_test_writeseq.py8940644editdlrm
testutils.py51780644editdlrm
test_abstract.py34350644editdlrm
test_adbapi.py261750644editdlrm
test_amp.py1105140644editdlrm
test_application.py341400644editdlrm
test_compat.py181720644editdlrm
test_context.py14640644editdlrm
test_cooperator.py213390644editdlrm
test_defer.py1247820644editdlrm
test_defgen.py106340644editdlrm
test_dict.py15280644editdlrm
test_dirdbm.py68510644editdlrm
test_error.py89260644editdlrm
test_factories.py45670644editdlrm
test_fdesc.py74520644editdlrm
test_finger.py18940644editdlrm
test_formmethod.py39610644editdlrm
test_ftp.py1300020644editdlrm
test_ftp_options.py26880644editdlrm
test_htb.py31540644editdlrm
test_ident.py67180644editdlrm
test_internet.py464690644editdlrm
test_iosim.py89080644editdlrm
test_iutils.py136320644editdlrm
test_lockfile.py153360644editdlrm
test_log.py360730644editdlrm
test_logfile.py178910644editdlrm
test_loopback.py143210644editdlrm
test_main.py21660644editdlrm
test_memcache.py252840644editdlrm
test_modules.py174280644editdlrm
test_monkey.py55190644editdlrm
test_paths.py709720644editdlrm
test_pcp.py125280644editdlrm
test_persisted.py134070644editdlrm
test_plugin.py253840644editdlrm
test_policies.py330610644editdlrm
test_postfix.py44270644editdlrm
test_process.py872030644editdlrm
test_protocols.py73340644editdlrm
test_randbytes.py32700644editdlrm
test_rebuild.py73230644editdlrm
test_reflect.py244690644editdlrm
test_roots.py16430644editdlrm
test_shortcut.py19620644editdlrm
test_sip.py254980644editdlrm
test_sob.py56670644editdlrm
test_socks.py174960644editdlrm
test_ssl.py233010644editdlrm
test_sslverify.py1166270644editdlrm
test_stateful.py20150644editdlrm
test_stdio.py127300644editdlrm
test_strerror.py52470644editdlrm
test_strports.py17050644editdlrm
test_task.py463480644editdlrm
test_tcp.py658130644editdlrm
test_tcp_internals.py130360644editdlrm
test_text.py63670644editdlrm
test_threadable.py33380644editdlrm
test_threadpool.py219560644editdlrm
test_threads.py132110644editdlrm
test_tpfile.py15450644editdlrm
test_twistd.py737680644editdlrm
test_twisted.py62770644editdlrm
test_udp.py250120644editdlrm
test_unix.py135790644editdlrm
test_usage.py233110644editdlrm
__init__.py4750644editdlrm
Edit: /usr/lib/python3/dist-packages/twisted/test/test_sob.py (5667B)
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. import os import sys from textwrap import dedent from twisted.persisted import sob from twisted.persisted.styles import Ephemeral from twisted.python import components from twisted.trial import unittest class Dummy(components.Componentized): pass objects = [ 1, "hello", (1, "hello"), [1, "hello"], {1: "hello"}, ] class FakeModule: pass class PersistTests(unittest.TestCase): def testStyles(self): for o in objects: p = sob.Persistent(o, "") for style in "source pickle".split(): p.setStyle(style) p.save(filename="persisttest." + style) o1 = sob.load("persisttest." + style, style) self.assertEqual(o, o1) def testStylesBeingSet(self): o = Dummy() o.foo = 5 o.setComponent(sob.IPersistable, sob.Persistent(o, "lala")) for style in "source pickle".split(): sob.IPersistable(o).setStyle(style) sob.IPersistable(o).save(filename="lala." + style) o1 = sob.load("lala." + style, style) self.assertEqual(o.foo, o1.foo) self.assertEqual(sob.IPersistable(o1).style, style) def testPassphraseError(self): """ Calling save() with a passphrase is an error. """ p = sob.Persistant(None, "object") self.assertRaises(TypeError, p.save, "filename.pickle", passphrase="abc") def testNames(self): o = [1, 2, 3] p = sob.Persistent(o, "object") for style in "source pickle".split(): p.setStyle(style) p.save() o1 = sob.load("object.ta" + style[0], style) self.assertEqual(o, o1) for tag in "lala lolo".split(): p.save(tag) o1 = sob.load("object-" + tag + ".ta" + style[0], style) self.assertEqual(o, o1) def testPython(self): with open("persisttest.python", "w") as f: f.write("foo=[1,2,3] ") o = sob.loadValueFromFile("persisttest.python", "foo") self.assertEqual(o, [1, 2, 3]) def testTypeGuesser(self): self.assertRaises(KeyError, sob.guessType, "file.blah") self.assertEqual("python", sob.guessType("file.py")) self.assertEqual("python", sob.guessType("file.tac")) self.assertEqual("python", sob.guessType("file.etac")) self.assertEqual("pickle", sob.guessType("file.tap")) self.assertEqual("pickle", sob.guessType("file.etap")) self.assertEqual("source", sob.guessType("file.tas")) self.assertEqual("source", sob.guessType("file.etas")) def testEverythingEphemeralGetattr(self): """ L{_EverythingEphermal.__getattr__} will proxy the __main__ module as an L{Ephemeral} object, and during load will be transparent, but after load will return L{Ephemeral} objects from any accessed attributes. """ self.fakeMain.testMainModGetattr = 1 dirname = self.mktemp() os.mkdir(dirname) filename = os.path.join(dirname, "persisttest.ee_getattr") global mainWhileLoading mainWhileLoading = None with open(filename, "w") as f: f.write( dedent( """ app = [] import __main__ app.append(__main__.testMainModGetattr == 1) try: __main__.somethingElse except AttributeError: app.append(True) else: app.append(False) from twisted.test import test_sob test_sob.mainWhileLoading = __main__ """ ) ) loaded = sob.load(filename, "source") self.assertIsInstance(loaded, list) self.assertTrue(loaded[0], "Expected attribute not set.") self.assertTrue(loaded[1], "Unexpected attribute set.") self.assertIsInstance(mainWhileLoading, Ephemeral) self.assertIsInstance(mainWhileLoading.somethingElse, Ephemeral) del mainWhileLoading def testEverythingEphemeralSetattr(self): """ Verify that _EverythingEphemeral.__setattr__ won't affect __main__. """ self.fakeMain.testMainModSetattr = 1 dirname = self.mktemp() os.mkdir(dirname) filename = os.path.join(dirname, "persisttest.ee_setattr") with open(filename, "w") as f: f.write("import __main__\n") f.write("__main__.testMainModSetattr = 2\n") f.write("app = None\n") sob.load(filename, "source") self.assertEqual(self.fakeMain.testMainModSetattr, 1) def testEverythingEphemeralException(self): """ Test that an exception during load() won't cause _EE to mask __main__ """ dirname = self.mktemp() os.mkdir(dirname) filename = os.path.join(dirname, "persisttest.ee_exception") with open(filename, "w") as f: f.write("raise ValueError\n") self.assertRaises(ValueError, sob.load, filename, "source") self.assertEqual(type(sys.modules["__main__"]), FakeModule) def setUp(self): """ Replace the __main__ module with a fake one, so that it can be mutated in tests """ self.realMain = sys.modules["__main__"] self.fakeMain = sys.modules["__main__"] = FakeModule() def tearDown(self): """ Restore __main__ to its original value """ sys.modules["__main__"] = self.realMain