annotate tests/test-lfs-pointer.py @ 42629:24111fb9a725

lookup: don't use "00changelog.i@None" when lookup of prefix fails We were shadowing the "node" variable, so we always passed None to the LookupError instead of the node we meant to pass. (This showed up in py3 tests since py3 doesn't like to format None using "%s".) Differential Revision: https://phab.mercurial-scm.org/D6661
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 19 Jul 2019 09:43:50 -0700
parents 8a08aefa9273
children 2372284d9457
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35098
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
1 from __future__ import absolute_import, print_function
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
2
37928
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
3 # Import something from Mercurial, so the module loader gets initialized.
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
4 from mercurial import pycompat
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
5 del pycompat # unused for now
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
6
35098
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
7 from hgext.lfs import pointer
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
8
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
9 def tryparse(text):
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
10 r = {}
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
11 try:
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
12 r = pointer.deserialize(text)
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
13 print('ok')
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
14 except Exception as ex:
37928
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
15 print((b'%s' % ex).decode('ascii'))
35098
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
16 if r:
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
17 text2 = r.serialize()
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
18 if text2 != text:
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
19 print('reconstructed text differs')
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
20 return r
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
21
37928
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
22 t = (b'version https://git-lfs.github.com/spec/v1\n'
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
23 b'oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1'
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
24 b'258daaa5e2ca24d17e2393\n'
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
25 b'size 12345\n'
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
26 b'x-foo extra-information\n')
35098
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
27
37928
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
28 tryparse(b'')
35098
66c5a8cf2868 lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
29 tryparse(t)
37928
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
30 tryparse(t.replace(b'git-lfs', b'unknown'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
31 tryparse(t.replace(b'v1\n', b'v1\n\n'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
32 tryparse(t.replace(b'sha256', b'ahs256'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
33 tryparse(t.replace(b'sha256:', b''))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
34 tryparse(t.replace(b'12345', b'0x12345'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
35 tryparse(t.replace(b'extra-information', b'extra\0information'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
36 tryparse(t.replace(b'extra-information', b'extra\ninformation'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
37 tryparse(t.replace(b'x-foo', b'x_foo'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
38 tryparse(t.replace(b'oid', b'blobid'))
7cd1e1adc471 tests: port test-lfs-pointer.py to Python 3
Augie Fackler <augie@google.com>
parents: 35098
diff changeset
39 tryparse(t.replace(b'size', b'size-bytes').replace(b'oid', b'object-id'))