Mercurial > hg
changeset 51244:03fdd4d7b5bd
rust-python-testing: separated base test classes
This will allow, e.g., to change `test-rust-discovery.py` simply
by adding the appropriate base class.
author | Georges Racinet on incendie.racinet.fr <georges@racinet.fr> |
---|---|
date | Sun, 29 Oct 2023 12:01:57 +0100 |
parents | 0993a3520dc6 |
children | 0b81440e2a73 |
files | mercurial/testing/revlog.py tests/test-rust-ancestor.py |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/testing/revlog.py Sun Oct 29 11:21:18 2023 +0100 +++ b/mercurial/testing/revlog.py Sun Oct 29 12:01:57 2023 +0100 @@ -45,8 +45,17 @@ data = data_non_inlined return cparsers.parse_index2(data, False)[0] + +@unittest.skipIf( + MixedIndex is None, + 'The Rust index is not available. It is needed for this test.', +) +class RustRevlogBasedTestBase(unittest.TestCase): def parserustindex(self, data=None): if data is None: data = data_non_inlined - cindex = self.parseindex(data=data) + # not inheriting RevlogBasedTestCase to avoid having a + # `parseindex` method that would be shadowed by future subclasses + # this duplication will soon be removed + cindex = cparsers.parse_index2(data, False)[0] return MixedIndex(cindex, data, REVLOGV1)
--- a/tests/test-rust-ancestor.py Sun Oct 29 11:21:18 2023 +0100 +++ b/tests/test-rust-ancestor.py Sun Oct 29 12:01:57 2023 +0100 @@ -36,7 +36,7 @@ 'The Rust or C version of the "parsers" module, which the "ancestor" module' ' relies on, is not available.', ) -class rustancestorstest(revlogtesting.RevlogBasedTestBase): +class rustancestorstest(revlogtesting.RustRevlogBasedTestBase): """Test the correctness of binding to Rust code. This test is merely for the binding to Rust itself: extraction of