Esempio n. 1
0
 def testReasonableInterval(self):
     # Check if the limit on maximum blocksize for processing still holds.
     dummy = StringIO.StringIO("")
     fp = fingerprint.Fingerprinter(dummy)
     big_finger = fingerprint.Finger(None, [fingerprint.Range(0, 1000001)],
                                     None)
     fp.fingers.append(big_finger)
     start, stop = fp._GetNextInterval()
     self.assertEquals(0, start)
     self.assertEquals(1000000, stop)
Esempio n. 2
0
 def testHashBlock(self):
     # Does it invoke a hash function?
     dummy = "12345"
     fp = fingerprint.Fingerprinter(StringIO.StringIO(dummy))
     big_finger = fingerprint.Finger(None,
                                     [fingerprint.Range(0, len(dummy))],
                                     None)
     hasher = self.MockHasher()
     big_finger.hashers = [hasher]
     fp.fingers.append(big_finger)
     # Let's process the block
     fp._HashBlock(dummy, 0, len(dummy))
     self.assertEquals(hasher.seen, dummy)
Esempio n. 3
0
    def testAdjustments(self):
        dummy = StringIO.StringIO("")
        fp = fingerprint.Fingerprinter(dummy)
        big_finger = fingerprint.Finger(None, [fingerprint.Range(10, 20)],
                                        None)
        fp.fingers.append(big_finger)

        # The remaining range should not yet be touched...
        fp._AdjustIntervals(9, 10)
        self.assertEquals([fingerprint.Range(10, 20)], fp.fingers[0].ranges)
        # Trying to consume into the range. Blow up.
        self.assertRaises(RuntimeError, fp._AdjustIntervals, 9, 11)
        # We forgot a byte. Blow up.
        self.assertRaises(RuntimeError, fp._AdjustIntervals, 11, 12)
        # Consume a byte
        fp._AdjustIntervals(10, 11)
        self.assertEquals([fingerprint.Range(11, 20)], fp.fingers[0].ranges)
        # Consumed too much. Blow up.
        self.assertRaises(RuntimeError, fp._AdjustIntervals, 11, 21)
        # Consume exactly.
        fp._AdjustIntervals(11, 20)
        self.assertEquals(0, len(fp.fingers[0].ranges))