tests/test-revlog.t
changeset 40281 29b0e9cd02f4
parent 39903 803b7569c9ea
child 45906 95c4cca641f6
equal deleted inserted replaced
40280:170cd2a5a1da 40281:29b0e9cd02f4
    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", "wb").write(
    37   >>> import codecs
       
    38   >>> open("a.i", "wb").write(codecs.decode(codecs.decode(
    38   ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
    39   ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
    39   ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA=="""
    40   ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""",
    40   ... .decode("base64").decode("zlib")) and None
    41   ... "base64"), "zlib")) and None
    41 
    42 
    42   $ hg debugrevlogindex a.i
    43   $ hg debugrevlogindex a.i
    43      rev linkrev nodeid       p1           p2
    44      rev linkrev nodeid       p1           p2
    44        0       2 99e0332bd498 000000000000 000000000000
    45        0       2 99e0332bd498 000000000000 000000000000
    45        1       3 6674f57a23d8 99e0332bd498 000000000000
    46        1       3 6674f57a23d8 99e0332bd498 000000000000
    47   >>> from mercurial import revlog, vfs
    48   >>> from mercurial import revlog, vfs
    48   >>> tvfs = vfs.vfs(b'.')
    49   >>> tvfs = vfs.vfs(b'.')
    49   >>> tvfs.options = {b'revlogv1': True}
    50   >>> tvfs.options = {b'revlogv1': True}
    50   >>> rl = revlog.revlog(tvfs, b'a.i')
    51   >>> rl = revlog.revlog(tvfs, b'a.i')
    51   >>> rl.revision(1)
    52   >>> rl.revision(1)
    52   mpatchError('patch cannot be decoded',)
    53   mpatchError(*'patch cannot be decoded'*) (glob)