Mercurial > hg
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 |
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] |