mercurial/testing/revlog.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Mar 2025 02:29:42 +0100
branchstable
changeset 53042 cdd7bf612c7b
parent 52783 07740bd86fd9
permissions -rw-r--r--
bundle-spec: properly format boolean parameter (issue6960) This was breaking automatic clone bundle generation. This changeset fixes it and add a test to catch it in the future.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51859
f4733654f144 typing: add `from __future__ import annotations` to most files
Matt Harbison <matt_harbison@yahoo.com>
parents: 51251
diff changeset
     1
from __future__ import annotations
f4733654f144 typing: add `from __future__ import annotations` to most files
Matt Harbison <matt_harbison@yahoo.com>
parents: 51251
diff changeset
     2
43944
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
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    26
from ..revlogutils.constants import (
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    27
    KIND_CHANGELOG,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    28
)
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    29
from .. import revlog
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
diff changeset
    30
43944
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:
46785
521ac0d7047f typing: disable import error warnings that are already handled
Matt Harbison <matt_harbison@yahoo.com>
parents: 43944
diff changeset
    33
    from ..cext import parsers as cparsers  # pytype: disable=import-error
43944
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
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
diff changeset
    37
try:
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
diff changeset
    39
        revlog as rust_revlog,
51251
f94c10334bcb rust-index: renamed `MixedIndex` as `Index`
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents: 51250
diff changeset
    40
    )
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    41
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    42
    rust_revlog.__name__  # force actual import
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
diff changeset
    43
except ImportError:
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    44
    rust_revlog = None
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
diff changeset
    45
43944
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
52783
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    47
try:
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
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: 52405
diff changeset
    49
        revlog as pyo3_revlog,
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    50
    )
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    51
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    52
    pyo3_revlog.__name__  # force actual import
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    53
except ImportError:
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    54
    pyo3_revlog = None
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    55
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    56
43944
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,
52783
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    59
    (
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
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: 52405
diff changeset
    61
        'It is needed for this test.'
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    62
    ),
43944
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):
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
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: 48875
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: 48875
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: 48875
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: 48875
diff changeset
    69
51241
03fdd4d7b5bd rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents: 51236
diff changeset
    70
03fdd4d7b5bd rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents: 51236
diff changeset
    71
@unittest.skipIf(
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    72
    rust_revlog is None,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    73
    'The Rust revlog module is not available. It is needed for this test.',
51241
03fdd4d7b5bd rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents: 51236
diff changeset
    74
)
03fdd4d7b5bd rust-python-testing: separated base test classes
Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
parents: 51236
diff changeset
    75
class RustRevlogBasedTestBase(unittest.TestCase):
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    76
    # defaults
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
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: 51859
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: 51859
diff changeset
    80
52783
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    81
    @classmethod
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    82
    def irl_class(cls):
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    83
        return rust_revlog.InnerRevlog
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    84
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    85
    @classmethod
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    86
    def nodetree(cls, idx):
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    87
        return rust_revlog.NodeTree(idx)
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    88
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    89
    def make_inner_revlog(
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
diff changeset
    91
    ):
51236
7eea2e4109ae rust-index: using the `hg::index::Index` in ancestors iterator and lazy set
Georges Racinet <georges.racinet@octobus.net>
parents: 48875
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: 48875
diff changeset
    93
            data = data_non_inlined
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
    94
52783
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
    95
        return self.irl_class()(
52405
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
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: 51859
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: 51859
diff changeset
    99
            index_data=data,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
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: 51859
diff changeset
   102
            sidedata_file=None,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
   103
            inline=False,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
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: 51859
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: 51859
diff changeset
   107
            chunk_cache=None,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
   108
            default_compression_header=None,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
   109
            revlog_type=kind,
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
diff changeset
   111
        )
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
diff changeset
   112
cf5b47b885b1 testing: stop skipping all Python tests of Rust revlog
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 51859
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: 51859
diff changeset
   114
        return revlog.RustIndexProxy(self.make_inner_revlog(data=data))
52783
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   115
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   116
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   117
@unittest.skipIf(
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   118
    pyo3_revlog is None,
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
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: 52405
diff changeset
   120
)
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   121
class PyO3RevlogBasedTestBase(RustRevlogBasedTestBase):
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   122
    @classmethod
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   123
    def irl_class(cls):
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   124
        return pyo3_revlog.InnerRevlog
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   125
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   126
    @classmethod
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   127
    def nodetree(cls, idx):
07740bd86fd9 rust-pyo3: reviving test-rust-revlog.py
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52405
diff changeset
   128
        return pyo3_revlog.NodeTree(idx)