tests/test-revlog.t
changeset 36484 71d1bbf1617e
parent 32392 36d3559c69a6
child 37282 009d0283de5f
equal deleted inserted replaced
36483:5a029f049854 36484:71d1bbf1617e
     2   $ cd empty-repo
     2   $ cd empty-repo
     3 
     3 
     4 Flags on revlog version 0 are rejected
     4 Flags on revlog version 0 are rejected
     5 
     5 
     6   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
     6   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
     7   ...     fh.write('\x00\x01\x00\x00')
     7   ...     fh.write(b'\x00\x01\x00\x00')
     8 
     8 
     9   $ hg log
     9   $ hg log
    10   abort: unknown flags (0x01) in version 0 revlog 00changelog.i!
    10   abort: unknown flags (0x01) in version 0 revlog 00changelog.i!
    11   [255]
    11   [255]
    12 
    12 
    13 Unknown flags on revlog version 1 are rejected
    13 Unknown flags on revlog version 1 are rejected
    14 
    14 
    15   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
    15   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
    16   ...     fh.write('\x00\x04\x00\x01')
    16   ...     fh.write(b'\x00\x04\x00\x01')
    17 
    17 
    18   $ hg log
    18   $ hg log
    19   abort: unknown flags (0x04) in version 1 revlog 00changelog.i!
    19   abort: unknown flags (0x04) in version 1 revlog 00changelog.i!
    20   [255]
    20   [255]
    21 
    21 
    22 Unknown version is rejected
    22 Unknown version is rejected
    23 
    23 
    24   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
    24   >>> with open('.hg/store/00changelog.i', 'wb') as fh:
    25   ...     fh.write('\x00\x00\x00\x02')
    25   ...     fh.write(b'\x00\x00\x00\x02')
    26 
    26 
    27   $ hg log
    27   $ hg log
    28   abort: unknown version (2) in revlog 00changelog.i!
    28   abort: unknown version (2) in revlog 00changelog.i!
    29   [255]
    29   [255]
    30 
    30 
    32 
    32 
    33 Test for CVE-2016-3630
    33 Test for CVE-2016-3630
    34 
    34 
    35   $ hg init
    35   $ hg init
    36 
    36 
    37   >>> open("a.i", "w").write(
    37   >>> open("a.i", "wb").write(
    38   ... """eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
    38   ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
    39   ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA=="""
    39   ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA=="""
    40   ... .decode("base64").decode("zlib"))
    40   ... .decode("base64").decode("zlib"))
    41 
    41 
    42   $ hg debugindex a.i
    42   $ hg debugindex a.i
    43      rev    offset  length  delta linkrev nodeid       p1           p2
    43      rev    offset  length  delta linkrev nodeid       p1           p2