author | Martin von Zweigbergk <martinvonz@google.com> |
Fri, 13 Jul 2018 11:26:46 -0700 | |
changeset 41042 | 7db1619af061 |
parent 40968 | 74f41329bf55 |
child 41053 | d9f439fcdb4c |
permissions | -rw-r--r-- |
40968
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
1 |
from __future__ import absolute_import |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
2 |
import unittest |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
3 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
4 |
try: |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
5 |
from mercurial import rustext |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
6 |
except ImportError: |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
7 |
rustext = None |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
8 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
9 |
try: |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
10 |
from mercurial.cext import parsers as cparsers |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
11 |
except ImportError: |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
12 |
cparsers = None |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
13 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
14 |
@unittest.skipIf(rustext is None or cparsers is None, |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
15 |
"rustext.ancestor or the C Extension parsers module " |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
16 |
"it relies on is not available") |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
17 |
class rustancestorstest(unittest.TestCase): |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
18 |
"""Test the correctness of binding to Rust code. |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
19 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
20 |
This test is merely for the binding to Rust itself: extraction of |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
21 |
Python variable, giving back the results etc. |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
22 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
23 |
It is not meant to test the algorithmic correctness of the operations |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
24 |
on ancestors it provides. Hence the very simple embedded index data is |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
25 |
good enough. |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
26 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
27 |
Algorithmic correctness is asserted by the Rust unit tests. |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
28 |
""" |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
29 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
30 |
def testmodule(self): |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
31 |
self.assertTrue('DAG' in rustext.ancestor.__doc__) |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
32 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
33 |
def testgrapherror(self): |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
34 |
self.assertTrue('GraphError' in dir(rustext)) |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
35 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
36 |
|
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
37 |
if __name__ == '__main__': |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
38 |
import silenttestrunner |
74f41329bf55
rust-cpython: testing the bindings from Python
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
39 |
silenttestrunner.main(__name__) |