annotate tests/test-ancestor.py.out @ 51871:cfd30df0f8e4

bundlerepo: fix mismatches with repository and revlog classes Both pytype and PyCharm complained that `write()` and `_write()` in the bundlephasecache class aren't proper overrides- indeed they seem to be missing an argument that the base class has. PyCharm and pytype also complained that the `revlog.revlog` class doesn't have a `_chunk()` method. That looks like it was moved from revlog to `_InnerRevlog` back in e8ad6d8de8b8, and wasn't caught because this module wasn't type checked. However, I couldn't figure out a syntax with `revlog.revlog._inner._chunk(self, rev)`, as it complained about passing too many args. `bundlerevlog._rawtext()` uses this `super(...)` style to call the super class, so hopefully that works, even with the wonky dynamic subclassing. The revlog class needed the `_InnerRevlog` field typed because it isn't set in the constructor. Finally, the vfs type hints look broken. This initially failed with: File "/mnt/c/Users/Matt/hg/mercurial/bundlerepo.py", line 65, in __init__: Function readonlyvfs.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, vfs: mercurial.vfs.vfs) Actually passed: (self, vfs: Callable) Called from (traceback): line 232, in dirlog line 214, in __init__ I don't see a raw Callable, but I tried changing some of the vfs args to be typed as `vfsmod.abstractvfs`, but that class doesn't have `options`, so it failed elsewhere. `readonlyvfs` isn't a subclass of `vfs` (it's a subclass of `abstractvfs`), so I'm not sure how to handle that. It would be a shame to have to make a union of vfs subclasses (but not all of them have `options` either).
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 03 Aug 2024 01:33:13 -0400
parents d097dd0afc19
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40959
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
1 % removeancestorsfrom(), example 1
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
2 remaining (sorted): [5, 6, 8, 9]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
3 % removeancestorsfrom(), example 2
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
4 remaining (sorted): [11, 12, 13, 14]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
5 % removeancestorsfrom(), example 3
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
6 remaining (sorted): [3, 5]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
7 % missingancestors(), example 1
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
8 return [3, 7, 11]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
9 % missingancestors(), example 2
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
10 return [5, 10]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
11 % missingancestors(), example 3
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
12 return [3, 6, 9, 11]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
13 % removeancestorsfrom(), bigger graph
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39536
diff changeset
14 Ok
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
15 % lazy ancestor set for [], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
16 membership: []
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
17 iteration: []
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
18 % lazy ancestor set for [11, 13], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
19 membership: [7, 8, 3, 4, 1, 0]
39473
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
20 iteration: [8, 7, 4, 3, 2, 1, 0]
22355
731b2a90983b test-ancestor: add a test for `ancestor` with ancestry within the initset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18091
diff changeset
21 % lazy ancestor set for [1, 3], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
22 membership: [1, 0]
39473
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
23 iteration: [1, 0]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
24 % lazy ancestor set for [11, 13], stoprev = 0, inclusive = True
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
25 membership: [11, 13, 7, 8, 3, 4, 1, 0]
39474
a60dae060bc8 ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents: 39473
diff changeset
26 iteration: [13, 11, 8, 7, 4, 3, 2, 1, 0]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
27 % lazy ancestor set for [11, 13], stoprev = 6, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
28 membership: [7, 8]
39473
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
29 iteration: [8, 7]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
30 % lazy ancestor set for [11, 13], stoprev = 6, inclusive = True
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
31 membership: [11, 13, 7, 8]
39474
a60dae060bc8 ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents: 39473
diff changeset
32 iteration: [13, 11, 8, 7]
39475
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39474
diff changeset
33 % lazy ancestor set for [11, 13], stoprev = 11, inclusive = True
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39474
diff changeset
34 membership: [11, 13]
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39474
diff changeset
35 iteration: [13, 11]
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39474
diff changeset
36 % lazy ancestor set for [11, 13], stoprev = 12, inclusive = True
39476
7eadc9407867 ancestor: filter out initial revisions lower than stoprev
Yuya Nishihara <yuya@tcha.org>
parents: 39475
diff changeset
37 membership: [13]
39475
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39474
diff changeset
38 iteration: [13]
39536
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39476
diff changeset
39 % lazy ancestor set for [10, 1], stoprev = 0, inclusive = True
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39476
diff changeset
40 membership: [2, 10, 4, 5, 0, 1]
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39476
diff changeset
41 iteration: [10, 5, 4, 2, 1, 0]