view tests/test-rust-ancestor.py @ 41037:2eeef8e577ac

py3: byteify one more sys.argv in gendoc.py
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 22 Dec 2018 00:05:39 -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__)