From patchwork Wed Jul 19 22:06:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D151: match: override visitdir() in nevermatcher to return False From: phabricator X-Patchwork-Id: 22529 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Wed, 19 Jul 2017 22:06:40 +0000 martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY When we changed basematcher.visitdir() in https://phab.mercurial-scm.org/rHGcf15c3cc304ca41dd8196c05590b345a4ec558aa (match: make base matcher return True for visitdir, 2017-07-14), we forgot to add an override in nevermatcher. This lead to tests failing in narrowhg. As Durham pointed out, it's high time to add unit tests for the matcher, so this patch also adds a first unit test. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D151 AFFECTED FILES mercurial/match.py tests/test-match.py CHANGE DETAILS EMAIL PREFERENCES https://phab.mercurial-scm.org/settings/panel/emailpreferences/ To: martinvonz, #hg-reviewers Cc: mercurial-devel diff --git a/tests/test-match.py b/tests/test-match.py new file mode 100644 --- /dev/null +++ b/tests/test-match.py @@ -0,0 +1,18 @@ +from __future__ import absolute_import + +import silenttestrunner +import unittest + +from mercurial import ( + match as matchmod, +) + +class NeverMatcherTests(unittest.TestCase): + + def testVisitdir(self): + m = matchmod.nevermatcher('', '') + self.assertFalse(m.visitdir('.')) + self.assertFalse(m.visitdir('dir')) + +if __name__ == '__main__': + silenttestrunner.main(__name__) diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -363,6 +363,9 @@ def prefix(self): return True + def visitdir(self, dir): + return False + def __repr__(self): return ''