Example #1
0
 def test_special_values(self):
     for n, b in [
         (-N, b'\xff\xff\xff\xff\xff\xff\xff\xff'),
         (-256, b'\x00\x01\x00\x00\x00\x00\x00\x80'),
         (-128, b'\x80\x00\x00\x00\x00\x00\x00\x80'),
         (-1, b'\x01\x00\x00\x00\x00\x00\x00\x80'),
         (0, b'\x00\x00\x00\x00\x00\x00\x00\x00'),
         (1, b'\x01\x00\x00\x00\x00\x00\x00\x00'),
         (127, b'\x7f\x00\x00\x00\x00\x00\x00\x00'),
         (128, b'\x80\x00\x00\x00\x00\x00\x00\x00'),
         (129, b'\x81\x00\x00\x00\x00\x00\x00\x00'),
         (255, b'\xff\x00\x00\x00\x00\x00\x00\x00'),
         (256, b'\x00\x01\x00\x00\x00\x00\x00\x00'),
         (257, b'\x01\x01\x00\x00\x00\x00\x00\x00'),
         (N, b'\xff\xff\xff\xff\xff\xff\xff\x7f'),
     ]:
         self.assertEqual(core.encode_int64(n), b)
         self.assertEqual(core.decode_int64(b), n)
Example #2
0
 def test_special_values(self):
     for n, s in [
         (-N, '\xff\xff\xff\xff\xff\xff\xff\xff'),
         (-256, '\x00\x01\x00\x00\x00\x00\x00\x80'),
         (-128, '\x80\x00\x00\x00\x00\x00\x00\x80'),
         (-1, '\x01\x00\x00\x00\x00\x00\x00\x80'),
         (0, '\x00\x00\x00\x00\x00\x00\x00\x00'),
         (1, '\x01\x00\x00\x00\x00\x00\x00\x00'),
         (127, '\x7f\x00\x00\x00\x00\x00\x00\x00'),
         (128, '\x80\x00\x00\x00\x00\x00\x00\x00'),
         (129, '\x81\x00\x00\x00\x00\x00\x00\x00'),
         (255, '\xff\x00\x00\x00\x00\x00\x00\x00'),
         (256, '\x00\x01\x00\x00\x00\x00\x00\x00'),
         (257, '\x01\x01\x00\x00\x00\x00\x00\x00'),
         (N, '\xff\xff\xff\xff\xff\xff\xff\x7f'),
         ]:
         b = to_bytes(s)
         self.assertEqual(core.encode_int64(n), b)
         self.assertEqual(core.decode_int64(b), n)
Example #3
0
 def test_special_values(self):
     for n, s in [
         (-N, '\xff\xff\xff\xff\xff\xff\xff\xff'),
         (-256, '\x00\x01\x00\x00\x00\x00\x00\x80'),
         (-128, '\x80\x00\x00\x00\x00\x00\x00\x80'),
         (-1, '\x01\x00\x00\x00\x00\x00\x00\x80'),
         (0, '\x00\x00\x00\x00\x00\x00\x00\x00'),
         (1, '\x01\x00\x00\x00\x00\x00\x00\x00'),
         (127, '\x7f\x00\x00\x00\x00\x00\x00\x00'),
         (128, '\x80\x00\x00\x00\x00\x00\x00\x00'),
         (129, '\x81\x00\x00\x00\x00\x00\x00\x00'),
         (255, '\xff\x00\x00\x00\x00\x00\x00\x00'),
         (256, '\x00\x01\x00\x00\x00\x00\x00\x00'),
         (257, '\x01\x01\x00\x00\x00\x00\x00\x00'),
         (N, '\xff\xff\xff\xff\xff\xff\xff\x7f'),
     ]:
         b = to_bytes(s)
         self.assertEqual(core.encode_int64(n), b)
         self.assertEqual(core.decode_int64(b), n)
Example #4
0
def read_patch(fi, header_only=False):
    """read a BSDIFF4-format patch from stream 'fi'
    """
    magic = fi.read(8)
    assert magic[:7] == MAGIC[:7]
    # length headers
    len_control = core.decode_int64(fi.read(8))
    len_diff = core.decode_int64(fi.read(8))
    len_dst = core.decode_int64(fi.read(8))
    # read the control header
    bcontrol = bz2.decompress(fi.read(len_control))
    tcontrol = [(core.decode_int64(bcontrol[i:i + 8]),
                 core.decode_int64(bcontrol[i + 8:i + 16]),
                 core.decode_int64(bcontrol[i + 16:i + 24]))
                for i in range(0, len(bcontrol), 24)]
    if header_only:
        return len_control, len_diff, len_dst, tcontrol
    # read the diff and extra blocks
    bdiff = bz2.decompress(fi.read(len_diff))
    bextra = bz2.decompress(fi.read())
    return len_dst, tcontrol, bdiff, bextra
Example #5
0
 def test_random(self):
     for dum in range(1000):
         n = random.randint(-N, N)
         b = core.encode_int64(n)
         self.assertEqual(len(b), 8)
         self.assertEqual(core.decode_int64(b), n)
Example #6
0
 def test_random(self):
     for dum in range(1000):
         n = random.randint(-N, N)
         b = core.encode_int64(n)
         self.assertEqual(len(b), 8)
         self.assertEqual(core.decode_int64(b), n)