view tests/test-rust-ancestor.py @ 41005:69c99898a48f

py3: replace hard coded `python` with $PYTHON in check-gendoc
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 19 Dec 2018 13:32:42 -0500
parents 74f41329bf55
children d9f439fcdb4c
line wrap: on
line source

from __future__ import absolute_import
import unittest

try:
    from mercurial import rustext
except ImportError:
    rustext = None

try:
    from mercurial.cext import parsers as cparsers
except ImportError:
    cparsers = None

@unittest.skipIf(rustext is None or cparsers is None,
                 "rustext.ancestor or the C Extension parsers module "
                 "it relies on is not available")
class rustancestorstest(unittest.TestCase):
    """Test the correctness of binding to Rust code.

    This test is merely for the binding to Rust itself: extraction of
    Python variable, giving back the results etc.

    It is not meant to test the algorithmic correctness of the operations
    on ancestors it provides. Hence the very simple embedded index data is
    good enough.

    Algorithmic correctness is asserted by the Rust unit tests.
    """

    def testmodule(self):
        self.assertTrue('DAG' in rustext.ancestor.__doc__)

    def testgrapherror(self):
        self.assertTrue('GraphError' in dir(rustext))


if __name__ == '__main__':
    import silenttestrunner
    silenttestrunner.main(__name__)