--- a/mercurial/testing/revlog.py Fri Oct 27 23:29:29 2023 +0200
+++ b/mercurial/testing/revlog.py Fri Oct 27 22:11:05 2023 +0200
@@ -21,17 +21,32 @@
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00'
)
+from ..revlogutils.constants import REVLOGV1
+
try:
from ..cext import parsers as cparsers # pytype: disable=import-error
except ImportError:
cparsers = None
+try:
+ from ..rustext.revlog import MixedIndex # pytype: disable=import-error
+except ImportError:
+ MixedIndex = None
+
@unittest.skipIf(
cparsers is None,
'The C version of the "parsers" module is not available. It is needed for this test.',
)
class RevlogBasedTestBase(unittest.TestCase):
- def parseindex(self):
- return cparsers.parse_index2(data_non_inlined, False)[0]
+ def parseindex(self, data=None):
+ if data is None:
+ data = data_non_inlined
+ return cparsers.parse_index2(data, False)[0]
+
+ def parserustindex(self, data=None):
+ if data is None:
+ data = data_non_inlined
+ cindex = self.parseindex(data=data)
+ return MixedIndex(cindex, data, REVLOGV1)