##// END OF EJS Templates
tests: finally fix up test-fuzz-targets.t...
tests: finally fix up test-fuzz-targets.t It's been failing on my workstation for a while, since I have a new enough LLVM that I had the fuzzer goo, but not so new that I actually had FuzzedDataProvider. This is a better solution all around in my opinion. I _believe_ this should let us run these tests on most systems, even those using GCC instead of clang. That said, my one attempt to test this on my macOS laptop failed miserably, and I don't feel like doing more work on this right now. Differential Revision: https://phab.mercurial-scm.org/D7566

File last commit:

r43346:2372284d default
r44267:19da643d default
Show More
test-lfs-pointer.py
44 lines | 1.2 KiB | text/x-python | PythonLexer
/ tests / test-lfs-pointer.py
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 from __future__ import absolute_import, print_function
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 # Import something from Mercurial, so the module loader gets initialized.
from mercurial import pycompat
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 del pycompat # unused for now
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 from hgext.lfs import pointer
Augie Fackler
formatting: blacken the codebase...
r43346
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 def tryparse(text):
r = {}
try:
r = pointer.deserialize(text)
print('ok')
except Exception as ex:
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 print((b'%s' % ex).decode('ascii'))
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 if r:
text2 = r.serialize()
if text2 != text:
print('reconstructed text differs')
return r
Augie Fackler
formatting: blacken the codebase...
r43346
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'
)
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 tryparse(b'')
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 tryparse(t)
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 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'))