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

Unified Diff: third_party/twisted_8_1/twisted/test/test_randbytes.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_randbytes.py
diff --git a/third_party/twisted_8_1/twisted/test/test_randbytes.py b/third_party/twisted_8_1/twisted/test/test_randbytes.py
deleted file mode 100644
index d62504f703b4df4799c60c01b55ee249b009f0c7..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/test/test_randbytes.py
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright (c) 2007 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-Test cases for L{twisted.python.randbytes}.
-"""
-
-import os, sys
-
-from twisted.trial import unittest
-from twisted.python import randbytes
-
-try:
- from Crypto.Util import randpool
-except ImportError:
- randpool = None
-
-
-
-class SecureRandomTestCaseBase(object):
- """
- Base class for secureRandom test cases.
- """
-
- def _check(self, source):
- """
- The given random bytes source should return the number of bytes
- requested each time it is called and should probably not return the
- same bytes on two consecutive calls (although this is a perfectly
- legitimate occurrence and rejecting it may generate a spurious failure
- -- maybe we'll get lucky and the heat death with come first).
- """
- for nbytes in range(17, 25):
- s = source(nbytes)
- self.assertEquals(len(s), nbytes)
- s2 = source(nbytes)
- self.assertEquals(len(s2), nbytes)
- # This is crude but hey
- self.assertNotEquals(s2, s)
-
-
-
-class SecureRandomTestCase(SecureRandomTestCaseBase, unittest.TestCase):
- """
- Test secureRandom under normal conditions.
- """
-
- def test_normal(self):
- """
- L{randbytes.secureRandom} should return a string of the requested
- length and make some effort to make its result otherwise unpredictable.
- """
- self._check(randbytes.secureRandom)
-
-
-
-class ConditionalSecureRandomTestCase(SecureRandomTestCaseBase,
- unittest.TestCase):
- """
- Test random sources one by one, then remove it to.
- """
-
- def setUp(self):
- """
- Create a L{randbytes.RandomFactory} to use in the tests.
- """
- self.factory = randbytes.RandomFactory()
-
-
- def errorFactory(self, nbytes):
- """
- A factory raising an error when a source is not available.
- """
- raise randbytes.SourceNotAvailable()
-
-
- def test_osUrandom(self):
- """
- L{RandomFactory._osUrandom} should work as a random source whenever
- L{os.urandom} is available.
- """
- try:
- self._check(self.factory._osUrandom)
- except randbytes.SourceNotAvailable:
- # Not available on Python 2.3
- self.assertTrue(sys.version_info < (2, 4))
-
-
- def test_fileUrandom(self):
- """
- L{RandomFactory._fileUrandom} should work as a random source whenever
- C{/dev/urandom} is available.
- """
- try:
- self._check(self.factory._fileUrandom)
- except randbytes.SourceNotAvailable:
- # The test should only fail in /dev/urandom doesn't exist
- self.assertFalse(os.path.exists('/dev/urandom'))
-
-
- def test_cryptoRandom(self):
- """
- L{RandomFactory._cryptoRandom} should work as a random source whenever
- L{PyCrypto} is installed.
- """
- try:
- self._check(self.factory._cryptoRandom)
- except randbytes.SourceNotAvailable:
- # It fails if PyCrypto is not here
- self.assertIdentical(randpool, None)
-
-
- def test_withoutOsUrandom(self):
- """
- If L{os.urandom} is not available but L{PyCrypto} is,
- L{RandomFactory.secureRandom} should still work as a random source.
- """
- self.factory._osUrandom = self.errorFactory
- self._check(self.factory.secureRandom)
-
- if randpool is None:
- test_withoutOsUrandom.skip = "PyCrypto not available"
-
-
- def test_withoutOsAndFileUrandom(self):
- """
- Remove C{os.urandom} and /dev/urandom read.
- """
- self.factory._osUrandom = self.errorFactory
- self.factory._fileUrandom = self.errorFactory
- self._check(self.factory.secureRandom)
-
- if randpool is None:
- test_withoutOsAndFileUrandom.skip = "PyCrypto not available"
-
-
- def test_withoutAnything(self):
- """
- Remove all secure sources and assert it raises a failure. Then try the
- fallback parameter.
- """
- self.factory._osUrandom = self.errorFactory
- self.factory._fileUrandom = self.errorFactory
- self.factory._cryptoRandom = self.errorFactory
- self.assertRaises(randbytes.SecureRandomNotAvailable,
- self.factory.secureRandom, 18)
- def wrapper():
- return self.factory.secureRandom(18, fallback=True)
- s = self.assertWarns(
- RuntimeWarning,
- "Neither PyCrypto nor urandom available - "
- "proceeding with non-cryptographically secure random source",
- __file__,
- wrapper)
- self.assertEquals(len(s), 18)
-
-
-
-class RandomTestCaseBase(SecureRandomTestCaseBase, unittest.TestCase):
- """
- 'Normal' random test cases.
- """
-
- def test_normal(self):
- """
- Test basic case.
- """
- self._check(randbytes.insecureRandom)
-
-
- def test_withoutGetrandbits(self):
- """
- Test C{insecureRandom} without C{random.getrandbits}.
- """
- factory = randbytes.RandomFactory()
- factory.getrandbits = None
- self._check(factory.insecureRandom)
-
« no previous file with comments | « third_party/twisted_8_1/twisted/test/test_protocols.py ('k') | third_party/twisted_8_1/twisted/test/test_rebuild.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698