sapling/eden/scm/tests/test-match.py
Xavier Deguillard 467f4aef45 tests: mark python3 tests as passing
Summary:
Ran ./run-tests.py --json and used the following script:

  import json
  import subprocess

  with open("report.json", "r") as f:
      tests = json.load(f)
      for name, t in tests.items():
          if t["result"] == "success":
              print("%s successful" % name)
              subprocess.run("sed -i '/#require py2/d' %s" % name, shell=True)
              subprocess.run("sed -i '/require.*py2/d' %s" % name, shell=True)

Reviewed By: singhsrb

Differential Revision: D19664298

fbshipit-source-id: fa67c7c7abd110c9f0df9345daf09f2792aacd44
2020-01-31 10:13:45 -08:00

36 lines
1.1 KiB
Python

from __future__ import absolute_import
import unittest
import silenttestrunner
from edenscm.mercurial import match as matchmod
from hghave import require
class NeverMatcherTests(unittest.TestCase):
def testVisitdir(self):
m = matchmod.nevermatcher("", "")
self.assertFalse(m.visitdir(""))
self.assertFalse(m.visitdir("dir"))
def testManyGlobRaises(self):
n = 10000
rules = ["a/b/*/c/d/e/f/g/%s/**" % i for i in range(n)]
with self.assertRaises(Exception):
# "Compiled regex exceeds size limit of 10485760 bytes."
matchmod.treematcher("", "", rules=rules)
def testManyPrefixes(self):
n = 10000
rules = ["a/b/c/d/e/f/g/%s/**" % i for i in range(n)]
m = matchmod.treematcher("", "", rules=rules)
self.assertTrue(m.visitdir("a"))
self.assertTrue(m.visitdir("a/b"))
self.assertEqual(m.visitdir("a/b/c/d/e/f/g/1"), "all")
self.assertFalse(m.visitdir("b"))
self.assertTrue(m("a/b/c/d/e/f/g/99/x"))
if __name__ == "__main__":
silenttestrunner.main(__name__)