Details
Details
- Reviewers
- None
- Group Reviewers
hg-reviewers - Commits
- rHGa7f1a0b3f461: module-policy: update rust extension import to use the new module policy
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
hg-reviewers |
Lint Skipped |
Unit Tests Skipped |
Path | Packages | |||
---|---|---|---|---|
M | tests/test-rust-discovery.py (15 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
Raphaël Gomès | Jul 23 2019, 5:12 AM |
from __future__ import absolute_import | from __future__ import absolute_import | ||||
import unittest | import unittest | ||||
try: | from mercurial import policy | ||||
from mercurial import rustext | |||||
rustext.__name__ # trigger immediate actual import | PartialDiscovery = policy.importrust('discovery', member='PartialDiscovery') | ||||
except ImportError: | |||||
rustext = None | |||||
else: | |||||
# this would fail already without appropriate ancestor.__package__ | |||||
from mercurial.rustext.discovery import ( | |||||
PartialDiscovery, | |||||
) | |||||
try: | try: | ||||
from mercurial.cext import parsers as cparsers | from mercurial.cext import parsers as cparsers | ||||
except ImportError: | except ImportError: | ||||
cparsers = None | cparsers = None | ||||
# picked from test-parse-index2, copied rather than imported | # picked from test-parse-index2, copied rather than imported | ||||
# so that it stays stable even if test-parse-index2 changes or disappears. | # so that it stays stable even if test-parse-index2 changes or disappears. | ||||
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01F' | b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01F' | ||||
b'\x13\x00\x00\x00\x00\x01\xec\x00\x00\x03\x06\x00\x00\x00\x01' | b'\x13\x00\x00\x00\x00\x01\xec\x00\x00\x03\x06\x00\x00\x00\x01' | ||||
b'\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x12\xcb\xeby1' | b'\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x12\xcb\xeby1' | ||||
b'\xb6\r\x98B\xcb\x07\xbd`\x8f\x92\xd9\xc4\x84\xbdK\x00\x00\x00' | b'\xb6\r\x98B\xcb\x07\xbd`\x8f\x92\xd9\xc4\x84\xbdK\x00\x00\x00' | ||||
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' | b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' | ||||
) | ) | ||||
@unittest.skipIf(rustext is None or cparsers is None, | @unittest.skipIf(PartialDiscovery is None or cparsers is None, | ||||
"rustext or the C Extension parsers module " | "rustext or the C Extension parsers module " | ||||
"discovery relies on is not available") | "discovery relies on is not available") | ||||
class rustdiscoverytest(unittest.TestCase): | class rustdiscoverytest(unittest.TestCase): | ||||
"""Test the correctness of binding to Rust code. | """Test the correctness of binding to Rust code. | ||||
This test is merely for the binding to Rust itself: extraction of | This test is merely for the binding to Rust itself: extraction of | ||||
Python variable, giving back the results etc. | Python variable, giving back the results etc. | ||||