view tests/test-rust-revlog.py @ 44010:2728fcb8127c

rust-index: make it possible to clone the struct referencing the C index If we are to hand over the C index object to other code, we need to be able to create a new python reference to it. Differential Revision: https://phab.mercurial-scm.org/D7656
author Georges Racinet <georges.racinet@octobus.net>
date Fri, 13 Dec 2019 19:52:26 +0100
parents b69d5f3a41d0
children c627f1b2f3c3
line wrap: on
line source

from __future__ import absolute_import
import unittest

try:
    from mercurial import rustext

    rustext.__name__  # trigger immediate actual import
except ImportError:
    rustext = None
else:
    from mercurial.rustext import revlog

from mercurial.testing import revlog as revlogtesting


@unittest.skipIf(
    rustext is None, "rustext module revlog relies on is not available",
)
class RustRevlogIndexTest(revlogtesting.RevlogBasedTestBase):
    def test_heads(self):
        idx = self.parseindex()
        rustidx = revlog.MixedIndex(idx)
        self.assertEqual(rustidx.headrevs(), idx.headrevs())

    def test_len(self):
        idx = self.parseindex()
        rustidx = revlog.MixedIndex(idx)
        self.assertEqual(len(rustidx), len(idx))


if __name__ == '__main__':
    import silenttestrunner

    silenttestrunner.main(__name__)