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

Unified Diff: third_party/twisted_8_1/twisted/test/test_rebuild.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_rebuild.py
diff --git a/third_party/twisted_8_1/twisted/test/test_rebuild.py b/third_party/twisted_8_1/twisted/test/test_rebuild.py
deleted file mode 100644
index c96853a408d716c68fe322835bcb53792def4def..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/test/test_rebuild.py
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright (c) 2001-2007 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-import sys, os
-import new
-
-from twisted.trial import unittest
-from twisted.python import rebuild
-
-import crash_test_dummy
-f = crash_test_dummy.foo
-
-class Foo: pass
-class Bar(Foo): pass
-class Baz(object): pass
-class Buz(Bar, Baz): pass
-
-class RebuildTestCase(unittest.TestCase):
- """
- Simple testcase for rebuilding, to at least exercise the code.
- """
- def setUp(self):
- self.libPath = self.mktemp()
- os.mkdir(self.libPath)
- self.fakelibPath = os.path.join(self.libPath, 'twisted_rebuild_fakelib')
- os.mkdir(self.fakelibPath)
- file(os.path.join(self.fakelibPath, '__init__.py'), 'w').close()
- sys.path.insert(0, self.libPath)
-
- def tearDown(self):
- sys.path.remove(self.libPath)
-
- def testFileRebuild(self):
- from twisted.python.util import sibpath
- import shutil, time
- shutil.copyfile(sibpath(__file__, "myrebuilder1.py"),
- os.path.join(self.fakelibPath, "myrebuilder.py"))
- from twisted_rebuild_fakelib import myrebuilder
- a = myrebuilder.A()
- try:
- object
- except NameError:
- pass
- else:
- from twisted.test import test_rebuild
- b = myrebuilder.B()
- class C(myrebuilder.B):
- pass
- test_rebuild.C = C
- c = C()
- i = myrebuilder.Inherit()
- self.assertEquals(a.a(), 'a')
- # necessary because the file has not "changed" if a second has not gone
- # by in unix. This sucks, but it's not often that you'll be doing more
- # than one reload per second.
- time.sleep(1.1)
- shutil.copyfile(sibpath(__file__, "myrebuilder2.py"),
- os.path.join(self.fakelibPath, "myrebuilder.py"))
- rebuild.rebuild(myrebuilder)
- try:
- object
- except NameError:
- pass
- else:
- b2 = myrebuilder.B()
- self.assertEquals(b2.b(), 'c')
- self.assertEquals(b.b(), 'c')
- self.assertEquals(i.a(), 'd')
- self.assertEquals(a.a(), 'b')
- # more work to be done on new-style classes
- # self.assertEquals(c.b(), 'c')
-
- def testRebuild(self):
- """
- Rebuilding an unchanged module.
- """
- # This test would actually pass if rebuild was a no-op, but it
- # ensures rebuild doesn't break stuff while being a less
- # complex test than testFileRebuild.
-
- x = crash_test_dummy.X('a')
-
- rebuild.rebuild(crash_test_dummy, doLog=False)
- # Instance rebuilding is triggered by attribute access.
- x.do()
- self.failUnlessIdentical(x.__class__, crash_test_dummy.X)
-
- self.failUnlessIdentical(f, crash_test_dummy.foo)
-
- def testComponentInteraction(self):
- x = crash_test_dummy.XComponent()
- x.setAdapter(crash_test_dummy.IX, crash_test_dummy.XA)
- oldComponent = x.getComponent(crash_test_dummy.IX)
- rebuild.rebuild(crash_test_dummy, 0)
- newComponent = x.getComponent(crash_test_dummy.IX)
-
- newComponent.method()
-
- self.assertEquals(newComponent.__class__, crash_test_dummy.XA)
-
- # Test that a duplicate registerAdapter is not allowed
- from twisted.python import components
- self.failUnlessRaises(ValueError, components.registerAdapter,
- crash_test_dummy.XA, crash_test_dummy.X,
- crash_test_dummy.IX)
-
- def testUpdateInstance(self):
- global Foo, Buz
-
- b = Buz()
-
- class Foo:
- def foo(self):
- pass
- class Buz(Bar, Baz):
- x = 10
-
- rebuild.updateInstance(b)
- assert hasattr(b, 'foo'), "Missing method on rebuilt instance"
- assert hasattr(b, 'x'), "Missing class attribute on rebuilt instance"
-
- def testBananaInteraction(self):
- from twisted.python import rebuild
- from twisted.spread import banana
- rebuild.latestClass(banana.Banana)
-
-
-
-class NewStyleTestCase(unittest.TestCase):
- """
- Tests for rebuilding new-style classes of various sorts.
- """
- def setUp(self):
- self.m = new.module('whipping')
- sys.modules['whipping'] = self.m
-
-
- def tearDown(self):
- del sys.modules['whipping']
- del self.m
-
-
- def test_slots(self):
- """
- Try to rebuild a new style class with slots defined.
- """
- classDefinition = (
- "class SlottedClass(object):\n"
- " __slots__ = ['a']\n")
-
- exec classDefinition in self.m.__dict__
- inst = self.m.SlottedClass()
- inst.a = 7
- exec classDefinition in self.m.__dict__
- rebuild.updateInstance(inst)
- self.assertEqual(inst.a, 7)
- self.assertIdentical(type(inst), self.m.SlottedClass)
-
- if sys.version_info < (2, 6):
- test_slots.skip = "__class__ assignment for class with slots is only available starting Python 2.6"
-
-
- def test_errorSlots(self):
- """
- Try to rebuild a new style class with slots defined: this should fail.
- """
- classDefinition = (
- "class SlottedClass(object):\n"
- " __slots__ = ['a']\n")
-
- exec classDefinition in self.m.__dict__
- inst = self.m.SlottedClass()
- inst.a = 7
- exec classDefinition in self.m.__dict__
- self.assertRaises(rebuild.RebuildError, rebuild.updateInstance, inst)
-
- if sys.version_info >= (2, 6):
- test_errorSlots.skip = "__class__ assignment for class with slots should work starting Python 2.6"
-
-
- def test_typeSubclass(self):
- """
- Try to rebuild a base type subclass.
- """
- classDefinition = (
- "class ListSubclass(list):\n"
- " pass\n")
-
- exec classDefinition in self.m.__dict__
- inst = self.m.ListSubclass()
- inst.append(2)
- exec classDefinition in self.m.__dict__
- rebuild.updateInstance(inst)
- self.assertEqual(inst[0], 2)
- self.assertIdentical(type(inst), self.m.ListSubclass)
-
-
- def test_instanceSlots(self):
- """
- Test that when rebuilding an instance with a __slots__ attribute, it
- fails accurately instead of giving a L{rebuild.RebuildError}.
- """
- classDefinition = (
- "class NotSlottedClass(object):\n"
- " pass\n")
-
- exec classDefinition in self.m.__dict__
- inst = self.m.NotSlottedClass()
- inst.__slots__ = ['a']
- classDefinition = (
- "class NotSlottedClass:\n"
- " pass\n")
- exec classDefinition in self.m.__dict__
- # Moving from new-style class to old-style should fail.
- self.assertRaises(TypeError, rebuild.updateInstance, inst)
-
« no previous file with comments | « third_party/twisted_8_1/twisted/test/test_randbytes.py ('k') | third_party/twisted_8_1/twisted/test/test_reflect.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698