Mercurial > public > mercurial-scm > hg-stable
annotate mercurial/testing/revlog.py @ 52796:07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
This test file was removed in 7346f93be7a4. Adaptation to the
new `InnerRevlog` / `RustIndexProxy` structure was as easy as
redefining the `parserustindex()` method to use `RustIndexProxy`.
As we did before with `test-rust-ancestors.py`, we are preparing
a mixin class that will contain tests for both bindings.
Existing tests will migrate from `RustInnerRevlogTest`
(the one for `hg-cpython`) to the mixin.
author | Georges Racinet <georges.racinet@cloudcrane.io> |
---|---|
date | Sun, 22 Dec 2024 20:26:57 +0100 |
parents | cf5b47b885b1 |
children |
rev | line source |
---|---|
51901
f4733654f144
typing: add `from __future__ import annotations` to most files
Matt Harbison <matt_harbison@yahoo.com>
parents:
51275
diff
changeset
|
1 from __future__ import annotations |
f4733654f144
typing: add `from __future__ import annotations` to most files
Matt Harbison <matt_harbison@yahoo.com>
parents:
51275
diff
changeset
|
2 |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 import unittest |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 # picked from test-parse-index2, copied rather than imported |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 # so that it stays stable even if test-parse-index2 changes or disappears. |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 data_non_inlined = ( |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 b'\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01D\x19' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 b'\x00\x07e\x12\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 b'\xff\xff\xff\xff\xd1\xf4\xbb\xb0\xbe\xfc\x13\xbd\x8c\xd3\x9d' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 b'\x0f\xcd\xd9;\x8c\x07\x8cJ/\x00\x00\x00\x00\x00\x00\x00\x00\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 b'\x00\x00\x00\x00\x00\x00\x01D\x19\x00\x00\x00\x00\x00\xdf\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 b'\x00\x01q\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 b'\xff\xff\xff\xc1\x12\xb9\x04\x96\xa4Z1t\x91\xdfsJ\x90\xf0\x9bh' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 b'\x07l&\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 b'\x00\x01D\xf8\x00\x00\x00\x00\x01\x1b\x00\x00\x01\xb8\x00\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 b'\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\x02\n' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 b'\x0e\xc6&\xa1\x92\xae6\x0b\x02i\xfe-\xe5\xbao\x05\xd1\xe7\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01F' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 b'\x13\x00\x00\x00\x00\x01\xec\x00\x00\x03\x06\x00\x00\x00\x01' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 b'\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x12\xcb\xeby1' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 b'\xb6\r\x98B\xcb\x07\xbd`\x8f\x92\xd9\xc4\x84\xbdK\x00\x00\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 ) |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
26 from ..revlogutils.constants import ( |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
27 KIND_CHANGELOG, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
28 ) |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
29 from .. import revlog |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
30 |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 try: |
46413
521ac0d7047f
typing: disable import error warnings that are already handled
Matt Harbison <matt_harbison@yahoo.com>
parents:
43950
diff
changeset
|
33 from ..cext import parsers as cparsers # pytype: disable=import-error |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 except ImportError: |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 cparsers = None |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
37 try: |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
38 from ..rustext import ( # pytype: disable=import-error |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
39 revlog as rust_revlog, |
51275
f94c10334bcb
rust-index: renamed `MixedIndex` as `Index`
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents:
51274
diff
changeset
|
40 ) |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
41 |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
42 rust_revlog.__name__ # force actual import |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
43 except ImportError: |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
44 rust_revlog = None |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
45 |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 |
52796
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
47 try: |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
48 from ..pyo3_rustext import ( # pytype: disable=import-error |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
49 revlog as pyo3_revlog, |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
50 ) |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
51 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
52 pyo3_revlog.__name__ # force actual import |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
53 except ImportError: |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
54 pyo3_revlog = None |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
55 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
56 |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 @unittest.skipIf( |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 cparsers is None, |
52796
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
59 ( |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
60 'The C version of the "parsers" module is not available. ' |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
61 'It is needed for this test.' |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
62 ), |
43950
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 ) |
8a8305f557d0
test: extract some generic data and utility from test-rust-ancestor.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 class RevlogBasedTestBase(unittest.TestCase): |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
65 def parseindex(self, data=None): |
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
66 if data is None: |
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
67 data = data_non_inlined |
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
68 return cparsers.parse_index2(data, False)[0] |
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
69 |
51265
03fdd4d7b5bd
rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents:
51260
diff
changeset
|
70 |
03fdd4d7b5bd
rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents:
51260
diff
changeset
|
71 @unittest.skipIf( |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
72 rust_revlog is None, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
73 'The Rust revlog module is not available. It is needed for this test.', |
51265
03fdd4d7b5bd
rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents:
51260
diff
changeset
|
74 ) |
03fdd4d7b5bd
rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents:
51260
diff
changeset
|
75 class RustRevlogBasedTestBase(unittest.TestCase): |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
76 # defaults |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
77 revlog_data_config = revlog.DataConfig() |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
78 revlog_delta_config = revlog.DeltaConfig() |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
79 revlog_feature_config = revlog.FeatureConfig() |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
80 |
52796
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
81 @classmethod |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
82 def irl_class(cls): |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
83 return rust_revlog.InnerRevlog |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
84 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
85 @classmethod |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
86 def nodetree(cls, idx): |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
87 return rust_revlog.NodeTree(idx) |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
88 |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
89 def make_inner_revlog( |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
90 self, data=None, vfs_is_readonly=True, kind=KIND_CHANGELOG |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
91 ): |
51260
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
92 if data is None: |
7eea2e4109ae
rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents:
48966
diff
changeset
|
93 data = data_non_inlined |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
94 |
52796
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
95 return self.irl_class()( |
52436
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
96 vfs_base=b"Just a path", |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
97 fncache=None, # might be enough for now |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
98 vfs_is_readonly=vfs_is_readonly, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
99 index_data=data, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
100 index_file=b'test.i', |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
101 data_file=b'test.d', |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
102 sidedata_file=None, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
103 inline=False, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
104 data_config=self.revlog_data_config, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
105 delta_config=self.revlog_delta_config, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
106 feature_config=self.revlog_feature_config, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
107 chunk_cache=None, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
108 default_compression_header=None, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
109 revlog_type=kind, |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
110 use_persistent_nodemap=False, # until we cook one. |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
111 ) |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
112 |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
113 def parserustindex(self, data=None): |
cf5b47b885b1
testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
51901
diff
changeset
|
114 return revlog.RustIndexProxy(self.make_inner_revlog(data=data)) |
52796
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
115 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
116 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
117 @unittest.skipIf( |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
118 pyo3_revlog is None, |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
119 'The Rust PyO3 revlog module is not available. It is needed for this test.', |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
120 ) |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
121 class PyO3RevlogBasedTestBase(RustRevlogBasedTestBase): |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
122 @classmethod |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
123 def irl_class(cls): |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
124 return pyo3_revlog.InnerRevlog |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
125 |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
126 @classmethod |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
127 def nodetree(cls, idx): |
07740bd86fd9
rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents:
52436
diff
changeset
|
128 return pyo3_revlog.NodeTree(idx) |