summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Sig/MD5Tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Sig/MD5Tests.py')
-rw-r--r--src/engine/SCons/Sig/MD5Tests.py113
1 files changed, 0 insertions, 113 deletions
diff --git a/src/engine/SCons/Sig/MD5Tests.py b/src/engine/SCons/Sig/MD5Tests.py
deleted file mode 100644
index ba18264..0000000
--- a/src/engine/SCons/Sig/MD5Tests.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#
-# __COPYRIGHT__
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
-
-import sys
-import unittest
-import string
-
-from SCons.Sig.MD5 import current, collect, signature, to_string, from_string
-
-
-
-
-class my_obj:
- """A dummy object class that satisfies the interface
- requirements of the MD5 class.
- """
-
- def __init__(self, value = ""):
- self.value = value
-
- def get_signature(self):
- if not hasattr(self, "sig"):
- self.sig = signature(self)
- return self.sig
-
- def get_contents(self):
- return self.value
-
-
-
-class MD5TestCase(unittest.TestCase):
-
- def test_current(self):
- """Test deciding if an object is up-to-date
-
- Simple comparison of different "signature" values.
- """
- obj = my_obj('111')
- assert not current(obj.get_signature(), signature(my_obj('110')))
- assert current(obj.get_signature(), signature(my_obj('111')))
- assert not current(obj.get_signature(), signature(my_obj('112')))
-
- def test_collect(self):
- """Test collecting a list of signatures into a new signature value
- """
- s = map(signature, map(my_obj, ('111', '222', '333')))
-
- assert '698d51a19d8a121ce581499d7b701668' == collect(s[0:1])
- assert '8980c988edc2c78cc43ccb718c06efd5' == collect(s[0:2])
- assert '53fd88c84ff8a285eb6e0a687e55b8c7' == collect(s)
-
- def test_signature(self):
- """Test generating a signature"""
- o1 = my_obj(value = '111')
- s = signature(o1)
- assert '698d51a19d8a121ce581499d7b701668' == s, s
-
- o2 = my_obj(value = 222)
- s = signature(o2)
- assert 'bcbe3365e6ac95ea2c0343a2395834dd' == s, s
-
- try:
- signature('string')
- except AttributeError, e:
- assert string.find(str(e), "unable to fetch contents") == 0, str(e)
- else:
- raise AttributeError, "unexpected get_contents() attribute"
-
- # Make sure we don't eat AttributeErrors raised internally
- # by the get_contents() method (or anything it calls).
- caught = None
- try:
- class xxx:
- def get_contents(self):
- raise AttributeError, "internal AttributeError"
- signature(xxx())
- except AttributeError, e:
- assert str(e) == "internal AttributeError", e
- caught = 1
- assert caught, "did not catch expected AttributeError"
-
- def test_to_string(self):
- assert '698d51a19d8a121ce581499d7b701668' == to_string('698d51a19d8a121ce581499d7b701668')
-
- def test_from_string(self):
- assert '698d51a19d8a121ce581499d7b701668' == from_string('698d51a19d8a121ce581499d7b701668')
-
-if __name__ == "__main__":
- suite = unittest.makeSuite(MD5TestCase, 'test_')
- if not unittest.TextTestRunner().run(suite).wasSuccessful():
- sys.exit(1)