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

Unified Diff: third_party/twisted_8_1/twisted/python/test/test_util.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/python/test/test_util.py
diff --git a/third_party/twisted_8_1/twisted/python/test/test_util.py b/third_party/twisted_8_1/twisted/python/test/test_util.py
deleted file mode 100644
index a680d82c0ffbf6080e325d6db105e09edd7824b1..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/python/test/test_util.py
+++ /dev/null
@@ -1,597 +0,0 @@
-# -*- test-case-name: twisted.test.test_util -*-
-# Copyright (c) 2001-2008 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-import os.path, sys
-import shutil, errno
-try:
- import pwd, grp
-except ImportError:
- pwd = grp = None
-
-from twisted.trial import unittest
-
-from twisted.python import util
-from twisted.internet import reactor
-from twisted.internet.interfaces import IReactorProcess
-from twisted.internet.protocol import ProcessProtocol
-from twisted.internet.defer import Deferred
-from twisted.internet.error import ProcessDone
-
-
-class UtilTestCase(unittest.TestCase):
-
- def testUniq(self):
- l = ["a", 1, "ab", "a", 3, 4, 1, 2, 2, 4, 6]
- self.assertEquals(util.uniquify(l), ["a", 1, "ab", 3, 4, 2, 6])
-
- def testRaises(self):
- self.failUnless(util.raises(ZeroDivisionError, divmod, 1, 0))
- self.failIf(util.raises(ZeroDivisionError, divmod, 0, 1))
-
- try:
- util.raises(TypeError, divmod, 1, 0)
- except ZeroDivisionError:
- pass
- else:
- raise unittest.FailTest, "util.raises didn't raise when it should have"
-
- def testUninterruptably(self):
- def f(a, b):
- self.calls += 1
- exc = self.exceptions.pop()
- if exc is not None:
- raise exc(errno.EINTR, "Interrupted system call!")
- return a + b
-
- self.exceptions = [None]
- self.calls = 0
- self.assertEquals(util.untilConcludes(f, 1, 2), 3)
- self.assertEquals(self.calls, 1)
-
- self.exceptions = [None, OSError, IOError]
- self.calls = 0
- self.assertEquals(util.untilConcludes(f, 2, 3), 5)
- self.assertEquals(self.calls, 3)
-
- def testUnsignedID(self):
- util.id = lambda x: x
- try:
- for i in range(1, 100):
- self.assertEquals(util.unsignedID(i), i)
- top = (sys.maxint + 1L) * 2L
- for i in range(-100, -1):
- self.assertEquals(util.unsignedID(i), top + i)
- finally:
- del util.id
-
- def testNameToLabel(self):
- """
- Test the various kinds of inputs L{nameToLabel} supports.
- """
- nameData = [
- ('f', 'F'),
- ('fo', 'Fo'),
- ('foo', 'Foo'),
- ('fooBar', 'Foo Bar'),
- ('fooBarBaz', 'Foo Bar Baz'),
- ]
- for inp, out in nameData:
- got = util.nameToLabel(inp)
- self.assertEquals(
- got, out,
- "nameToLabel(%r) == %r != %r" % (inp, got, out))
-
-
- def test_uidFromNumericString(self):
- """
- When L{uidFromString} is called with a base-ten string representation
- of an integer, it returns the integer.
- """
- self.assertEqual(util.uidFromString("100"), 100)
-
-
- def test_uidFromUsernameString(self):
- """
- When L{uidFromString} is called with a base-ten string representation
- of an integer, it returns the integer.
- """
- pwent = pwd.getpwuid(os.getuid())
- self.assertEqual(util.uidFromString(pwent.pw_name), pwent.pw_uid)
- if pwd is None:
- test_uidFromUsernameString.skip = (
- "Username/UID conversion requires the pwd module.")
-
-
- def test_gidFromNumericString(self):
- """
- When L{gidFromString} is called with a base-ten string representation
- of an integer, it returns the integer.
- """
- self.assertEqual(util.gidFromString("100"), 100)
-
-
- def test_gidFromGroupnameString(self):
- """
- When L{gidFromString} is called with a base-ten string representation
- of an integer, it returns the integer.
- """
- grent = grp.getgrgid(os.getgid())
- self.assertEqual(util.gidFromString(grent.gr_name), grent.gr_gid)
- if grp is None:
- test_gidFromGroupnameString.skip = (
- "Group Name/GID conversion requires the grp module.")
-
-
-
-class TestMergeFunctionMetadata(unittest.TestCase):
- """
- Tests for L{mergeFunctionMetadata}.
- """
-
- def test_mergedFunctionBehavesLikeMergeTarget(self):
- """
- After merging C{foo}'s data into C{bar}, the returned function behaves
- as if it is C{bar}.
- """
- foo_object = object()
- bar_object = object()
-
- def foo():
- return foo_object
-
- def bar(x, y, (a, b), c=10, *d, **e):
- return bar_object
-
- baz = util.mergeFunctionMetadata(foo, bar)
- self.assertIdentical(baz(1, 2, (3, 4), quux=10), bar_object)
-
-
- def test_moduleIsMerged(self):
- """
- Merging C{foo} into C{bar} returns a function with C{foo}'s
- C{__module__}.
- """
- def foo():
- pass
-
- def bar():
- pass
- bar.__module__ = 'somewhere.else'
-
- baz = util.mergeFunctionMetadata(foo, bar)
- self.assertEqual(baz.__module__, foo.__module__)
-
-
- def test_docstringIsMerged(self):
- """
- Merging C{foo} into C{bar} returns a function with C{foo}'s docstring.
- """
-
- def foo():
- """
- This is foo.
- """
-
- def bar():
- """
- This is bar.
- """
-
- baz = util.mergeFunctionMetadata(foo, bar)
- self.assertEqual(baz.__doc__, foo.__doc__)
-
-
- def test_nameIsMerged(self):
- """
- Merging C{foo} into C{bar} returns a function with C{foo}'s name.
- """
-
- def foo():
- pass
-
- def bar():
- pass
-
- baz = util.mergeFunctionMetadata(foo, bar)
- self.assertEqual(baz.__name__, foo.__name__)
-
-
- def test_instanceDictionaryIsMerged(self):
- """
- Merging C{foo} into C{bar} returns a function with C{bar}'s
- dictionary, updated by C{foo}'s.
- """
-
- def foo():
- pass
- foo.a = 1
- foo.b = 2
-
- def bar():
- pass
- bar.b = 3
- bar.c = 4
-
- baz = util.mergeFunctionMetadata(foo, bar)
- self.assertEqual(foo.a, baz.a)
- self.assertEqual(foo.b, baz.b)
- self.assertEqual(bar.c, baz.c)
-
-
-
-class OrderedDictTest(unittest.TestCase):
- def testOrderedDict(self):
- d = util.OrderedDict()
- d['a'] = 'b'
- d['b'] = 'a'
- d[3] = 12
- d[1234] = 4321
- self.assertEquals(repr(d), "{'a': 'b', 'b': 'a', 3: 12, 1234: 4321}")
- self.assertEquals(d.values(), ['b', 'a', 12, 4321])
- del d[3]
- self.assertEquals(repr(d), "{'a': 'b', 'b': 'a', 1234: 4321}")
- self.assertEquals(d, {'a': 'b', 'b': 'a', 1234:4321})
- self.assertEquals(d.keys(), ['a', 'b', 1234])
- self.assertEquals(list(d.iteritems()),
- [('a', 'b'), ('b','a'), (1234, 4321)])
- item = d.popitem()
- self.assertEquals(item, (1234, 4321))
-
- def testInitialization(self):
- d = util.OrderedDict({'monkey': 'ook',
- 'apple': 'red'})
- self.failUnless(d._order)
-
- d = util.OrderedDict(((1,1),(3,3),(2,2),(0,0)))
- self.assertEquals(repr(d), "{1: 1, 3: 3, 2: 2, 0: 0}")
-
-class InsensitiveDictTest(unittest.TestCase):
- def testPreserve(self):
- InsensitiveDict=util.InsensitiveDict
- dct=InsensitiveDict({'Foo':'bar', 1:2, 'fnz':{1:2}}, preserve=1)
- self.assertEquals(dct['fnz'], {1:2})
- self.assertEquals(dct['foo'], 'bar')
- self.assertEquals(dct.copy(), dct)
- self.assertEquals(dct['foo'], dct.get('Foo'))
- assert 1 in dct and 'foo' in dct
- self.assertEquals(eval(repr(dct)), dct)
- keys=['Foo', 'fnz', 1]
- for x in keys:
- assert x in dct.keys()
- assert (x, dct[x]) in dct.items()
- self.assertEquals(len(keys), len(dct))
- del dct[1]
- del dct['foo']
-
- def testNoPreserve(self):
- InsensitiveDict=util.InsensitiveDict
- dct=InsensitiveDict({'Foo':'bar', 1:2, 'fnz':{1:2}}, preserve=0)
- keys=['foo', 'fnz', 1]
- for x in keys:
- assert x in dct.keys()
- assert (x, dct[x]) in dct.items()
- self.assertEquals(len(keys), len(dct))
- del dct[1]
- del dct['foo']
-
-
-
-
-class PasswordTestingProcessProtocol(ProcessProtocol):
- """
- Write the string C{"secret\n"} to a subprocess and then collect all of
- its output and fire a Deferred with it when the process ends.
- """
- def connectionMade(self):
- self.output = []
- self.transport.write('secret\n')
-
- def childDataReceived(self, fd, output):
- self.output.append((fd, output))
-
- def processEnded(self, reason):
- self.finished.callback((reason, self.output))
-
-
-class GetPasswordTest(unittest.TestCase):
- if not IReactorProcess.providedBy(reactor):
- skip = "Process support required to test getPassword"
-
- def test_stdin(self):
- """
- Making sure getPassword accepts a password from standard input by
- running a child process which uses getPassword to read in a string
- which it then writes it out again. Write a string to the child
- process and then read one and make sure it is the right string.
- """
- p = PasswordTestingProcessProtocol()
- p.finished = Deferred()
- reactor.spawnProcess(
- p,
- sys.executable,
- [sys.executable,
- '-c',
- ('import sys\n'
- 'from twisted.python.util import getPassword\n'
- 'sys.stdout.write(getPassword())\n'
- 'sys.stdout.flush()\n')],
- env={'PYTHONPATH': os.pathsep.join(sys.path)})
-
- def processFinished((reason, output)):
- reason.trap(ProcessDone)
- self.assertIn((1, 'secret'), output)
-
- return p.finished.addCallback(processFinished)
-
-
-
-class SearchUpwardsTest(unittest.TestCase):
- def testSearchupwards(self):
- os.makedirs('searchupwards/a/b/c')
- file('searchupwards/foo.txt', 'w').close()
- file('searchupwards/a/foo.txt', 'w').close()
- file('searchupwards/a/b/c/foo.txt', 'w').close()
- os.mkdir('searchupwards/bar')
- os.mkdir('searchupwards/bam')
- os.mkdir('searchupwards/a/bar')
- os.mkdir('searchupwards/a/b/bam')
- actual=util.searchupwards('searchupwards/a/b/c',
- files=['foo.txt'],
- dirs=['bar', 'bam'])
- expected=os.path.abspath('searchupwards') + os.sep
- self.assertEqual(actual, expected)
- shutil.rmtree('searchupwards')
- actual=util.searchupwards('searchupwards/a/b/c',
- files=['foo.txt'],
- dirs=['bar', 'bam'])
- expected=None
- self.assertEqual(actual, expected)
-
-class Foo:
- def __init__(self, x):
- self.x = x
-
-class DSU(unittest.TestCase):
- def testDSU(self):
- L = [Foo(x) for x in range(20, 9, -1)]
- L2 = util.dsu(L, lambda o: o.x)
- self.assertEquals(range(10, 21), [o.x for o in L2])
-
-class IntervalDifferentialTestCase(unittest.TestCase):
- def testDefault(self):
- d = iter(util.IntervalDifferential([], 10))
- for i in range(100):
- self.assertEquals(d.next(), (10, None))
-
- def testSingle(self):
- d = iter(util.IntervalDifferential([5], 10))
- for i in range(100):
- self.assertEquals(d.next(), (5, 0))
-
- def testPair(self):
- d = iter(util.IntervalDifferential([5, 7], 10))
- for i in range(100):
- self.assertEquals(d.next(), (5, 0))
- self.assertEquals(d.next(), (2, 1))
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (4, 1))
- self.assertEquals(d.next(), (1, 0))
- self.assertEquals(d.next(), (5, 0))
- self.assertEquals(d.next(), (1, 1))
- self.assertEquals(d.next(), (4, 0))
- self.assertEquals(d.next(), (3, 1))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (5, 0))
- self.assertEquals(d.next(), (0, 1))
-
- def testTriple(self):
- d = iter(util.IntervalDifferential([2, 4, 5], 10))
- for i in range(100):
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (1, 2))
- self.assertEquals(d.next(), (1, 0))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (0, 2))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (1, 2))
- self.assertEquals(d.next(), (1, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (2, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (0, 2))
-
- def testInsert(self):
- d = iter(util.IntervalDifferential([], 10))
- self.assertEquals(d.next(), (10, None))
- d.addInterval(3)
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (3, 0))
- d.addInterval(6)
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (0, 1))
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (0, 1))
-
- def testRemove(self):
- d = iter(util.IntervalDifferential([3, 5], 10))
- self.assertEquals(d.next(), (3, 0))
- self.assertEquals(d.next(), (2, 1))
- self.assertEquals(d.next(), (1, 0))
- d.removeInterval(3)
- self.assertEquals(d.next(), (4, 0))
- self.assertEquals(d.next(), (5, 0))
- d.removeInterval(5)
- self.assertEquals(d.next(), (10, None))
- self.assertRaises(ValueError, d.removeInterval, 10)
-
-
-
-class Record(util.FancyEqMixin):
- """
- Trivial user of L{FancyEqMixin} used by tests.
- """
- compareAttributes = ('a', 'b')
-
- def __init__(self, a, b):
- self.a = a
- self.b = b
-
-
-
-class DifferentRecord(util.FancyEqMixin):
- """
- Trivial user of L{FancyEqMixin} which is not related to L{Record}.
- """
- compareAttributes = ('a', 'b')
-
- def __init__(self, a, b):
- self.a = a
- self.b = b
-
-
-
-class DerivedRecord(Record):
- """
- A class with an inheritance relationship to L{Record}.
- """
-
-
-
-class EqualToEverything(object):
- """
- A class the instances of which consider themselves equal to everything.
- """
- def __eq__(self, other):
- return True
-
-
- def __ne__(self, other):
- return False
-
-
-
-class EqualToNothing(object):
- """
- A class the instances of which consider themselves equal to nothing.
- """
- def __eq__(self, other):
- return False
-
-
- def __ne__(self, other):
- return True
-
-
-
-class EqualityTests(unittest.TestCase):
- """
- Tests for L{FancyEqMixin}.
- """
- def test_identity(self):
- """
- Instances of a class which mixes in L{FancyEqMixin} but which
- defines no comparison attributes compare by identity.
- """
- class Empty(util.FancyEqMixin):
- pass
-
- self.assertFalse(Empty() == Empty())
- self.assertTrue(Empty() != Empty())
- empty = Empty()
- self.assertTrue(empty == empty)
- self.assertFalse(empty != empty)
-
-
- def test_equality(self):
- """
- Instances of a class which mixes in L{FancyEqMixin} should compare
- equal if all of their attributes compare equal. They should not
- compare equal if any of their attributes do not compare equal.
- """
- self.assertTrue(Record(1, 2) == Record(1, 2))
- self.assertFalse(Record(1, 2) == Record(1, 3))
- self.assertFalse(Record(1, 2) == Record(2, 2))
- self.assertFalse(Record(1, 2) == Record(3, 4))
-
-
- def test_unequality(self):
- """
- Unequality between instances of a particular L{record} should be
- defined as the negation of equality.
- """
- self.assertFalse(Record(1, 2) != Record(1, 2))
- self.assertTrue(Record(1, 2) != Record(1, 3))
- self.assertTrue(Record(1, 2) != Record(2, 2))
- self.assertTrue(Record(1, 2) != Record(3, 4))
-
-
- def test_differentClassesEquality(self):
- """
- Instances of different classes which mix in L{FancyEqMixin} should not
- compare equal.
- """
- self.assertFalse(Record(1, 2) == DifferentRecord(1, 2))
-
-
- def test_differentClassesInequality(self):
- """
- Instances of different classes which mix in L{FancyEqMixin} should
- compare unequal.
- """
- self.assertTrue(Record(1, 2) != DifferentRecord(1, 2))
-
-
- def test_inheritedClassesEquality(self):
- """
- An instance of a class which derives from a class which mixes in
- L{FancyEqMixin} should compare equal to an instance of the base class
- if and only if all of their attributes compare equal.
- """
- self.assertTrue(Record(1, 2) == DerivedRecord(1, 2))
- self.assertFalse(Record(1, 2) == DerivedRecord(1, 3))
- self.assertFalse(Record(1, 2) == DerivedRecord(2, 2))
- self.assertFalse(Record(1, 2) == DerivedRecord(3, 4))
-
-
- def test_inheritedClassesInequality(self):
- """
- An instance of a class which derives from a class which mixes in
- L{FancyEqMixin} should compare unequal to an instance of the base
- class if any of their attributes compare unequal.
- """
- self.assertFalse(Record(1, 2) != DerivedRecord(1, 2))
- self.assertTrue(Record(1, 2) != DerivedRecord(1, 3))
- self.assertTrue(Record(1, 2) != DerivedRecord(2, 2))
- self.assertTrue(Record(1, 2) != DerivedRecord(3, 4))
-
-
- def test_rightHandArgumentImplementsEquality(self):
- """
- The right-hand argument to the equality operator is given a chance
- to determine the result of the operation if it is of a type
- unrelated to the L{FancyEqMixin}-based instance on the left-hand
- side.
- """
- self.assertTrue(Record(1, 2) == EqualToEverything())
- self.assertFalse(Record(1, 2) == EqualToNothing())
-
-
- def test_rightHandArgumentImplementsUnequality(self):
- """
- The right-hand argument to the non-equality operator is given a
- chance to determine the result of the operation if it is of a type
- unrelated to the L{FancyEqMixin}-based instance on the left-hand
- side.
- """
- self.assertFalse(Record(1, 2) != EqualToEverything())
- self.assertTrue(Record(1, 2) != EqualToNothing())

Powered by Google App Engine
This is Rietveld 408576698