2016-04-08 21:46:18 +03:00
|
|
|
import silenttestrunner
|
|
|
|
import unittest
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
from mercurial import manifest
|
2016-05-16 22:38:52 +03:00
|
|
|
from mercurial import scmutil
|
2016-04-08 21:46:18 +03:00
|
|
|
from mercurial import util
|
|
|
|
|
|
|
|
class HybridManifest(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_wrap(self):
|
|
|
|
"""If a new magic method is added to manifestdict, we want to make sure that
|
|
|
|
hybridmanifest implement it, this test validates that all magic methods
|
|
|
|
of manifestdict are implemented by hybridmanifest to avoid breakage in
|
|
|
|
prod"""
|
2016-05-16 22:38:52 +03:00
|
|
|
vfs = scmutil.vfs('')
|
|
|
|
hd = fastmanifest.hybridmanifest(None, vfs)
|
2016-04-08 21:46:18 +03:00
|
|
|
ismagic = lambda x: x.startswith("__") and x.endswith("__")
|
|
|
|
magicmethods = [k for k, v in manifest.manifestdict.__dict__.items()
|
|
|
|
if util.safehasattr(v, '__call__') and ismagic(k)]
|
|
|
|
for method in magicmethods:
|
|
|
|
assert util.safehasattr(hd, method),\
|
|
|
|
"%s missing in hybrid manifest" % method
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
sys.path.insert(0, os.path.join(os.environ["TESTDIR"], ".."))
|
|
|
|
import fastmanifest
|
|
|
|
silenttestrunner.main(__name__)
|