view tests/test-lfs-pointer.py @ 40881:8695fbe17f7c

tests: update network related errors for Debian 9 We have a CI job that runs the Mercurial tests in parallel. Some of the network related failures seems to be different on the environment. Oddly, those failures happens only when running the tests in parallel, not when running the test file only. I have no idea how to get the windows formatted message for the error, if someone could give me an hand, I will update this changeset with the value. Differential Revision: https://phab.mercurial-scm.org/D5401
author Boris Feld <boris.feld@octobus.net>
date Mon, 10 Dec 2018 10:21:08 +0100
parents 8a08aefa9273
children 2372284d9457
line wrap: on
line source

from __future__ import absolute_import, print_function

# Import something from Mercurial, so the module loader gets initialized.
from mercurial import pycompat
del pycompat  # unused for now

from hgext.lfs import pointer

def tryparse(text):
    r = {}
    try:
        r = pointer.deserialize(text)
        print('ok')
    except Exception as ex:
        print((b'%s' % ex).decode('ascii'))
    if r:
        text2 = r.serialize()
        if text2 != text:
            print('reconstructed text differs')
    return r

t = (b'version https://git-lfs.github.com/spec/v1\n'
     b'oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1'
     b'258daaa5e2ca24d17e2393\n'
     b'size 12345\n'
     b'x-foo extra-information\n')

tryparse(b'')
tryparse(t)
tryparse(t.replace(b'git-lfs', b'unknown'))
tryparse(t.replace(b'v1\n', b'v1\n\n'))
tryparse(t.replace(b'sha256', b'ahs256'))
tryparse(t.replace(b'sha256:', b''))
tryparse(t.replace(b'12345', b'0x12345'))
tryparse(t.replace(b'extra-information', b'extra\0information'))
tryparse(t.replace(b'extra-information', b'extra\ninformation'))
tryparse(t.replace(b'x-foo', b'x_foo'))
tryparse(t.replace(b'oid', b'blobid'))
tryparse(t.replace(b'size', b'size-bytes').replace(b'oid', b'object-id'))