Merge lp:~jelmer/brz/move-errors-lazy-regex into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merged at revision: 6732
Proposed branch: lp:~jelmer/brz/move-errors-lazy-regex
Merge into: lp:brz
Diff against target: 153 lines (+24/-20)
7 files modified
breezy/builtins.py (+2/-1)
breezy/errors.py (+0/-8)
breezy/globbing.py (+2/-2)
breezy/lazy_regex.py (+9/-1)
breezy/tests/test_errors.py (+0/-5)
breezy/tests/test_globbing.py (+2/-2)
breezy/tests/test_lazy_regex.py (+9/-1)
To merge this branch: bzr merge lp:~jelmer/brz/move-errors-lazy-regex
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+327181@code.launchpad.net

Commit message

Move InvalidPattern error to breezy.lazy_regex.

Description of the change

Move InvalidPattern error to breezy.lazy_regex.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Seems sane.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/builtins.py'
2--- breezy/builtins.py 2017-06-24 14:00:24 +0000
3+++ breezy/builtins.py 2017-07-11 00:02:51 +0000
4@@ -40,6 +40,7 @@
5 errors,
6 globbing,
7 hooks,
8+ lazy_regex,
9 log,
10 merge as _mod_merge,
11 merge_directive,
12@@ -3190,7 +3191,7 @@
13 'Invalid ignore patterns found. %s',
14 bad_patterns_count) % bad_patterns)
15 ui.ui_factory.show_error(msg)
16- raise errors.InvalidPattern('')
17+ raise lazy_regex.InvalidPattern('')
18 for name_pattern in name_pattern_list:
19 if (name_pattern[0] == '/' or
20 (len(name_pattern) > 1 and name_pattern[1] == ':')):
21
22=== modified file 'breezy/errors.py'
23--- breezy/errors.py 2017-07-04 20:03:11 +0000
24+++ breezy/errors.py 2017-07-11 00:02:51 +0000
25@@ -3181,14 +3181,6 @@
26 'E.g. brz whoami "Your Name <name@example.com>"')
27
28
29-class InvalidPattern(BzrError):
30-
31- _fmt = ('Invalid pattern(s) found. %(msg)s')
32-
33- def __init__(self, msg):
34- self.msg = msg
35-
36-
37 class RecursiveBind(BzrError):
38
39 _fmt = ('Branch "%(branch_url)s" appears to be bound to itself. '
40
41=== modified file 'breezy/globbing.py'
42--- breezy/globbing.py 2017-05-22 00:56:52 +0000
43+++ breezy/globbing.py 2017-07-11 00:02:51 +0000
44@@ -242,7 +242,7 @@
45 match = regex.match(filename)
46 if match:
47 return patterns[match.lastindex -1]
48- except errors.InvalidPattern as e:
49+ except lazy_regex.InvalidPattern as e:
50 # We can't show the default e.msg to the user as thats for
51 # the combined pattern we sent to regex. Instead we indicate to
52 # the user that an ignore file needs fixing.
53@@ -286,7 +286,7 @@
54 try:
55 re_obj = lazy_regex.lazy_compile(tpattern, re.UNICODE)
56 re_obj.search("") # force compile
57- except errors.InvalidPattern as e:
58+ except lazy_regex.InvalidPattern as e:
59 result = False
60 return result
61
62
63=== modified file 'breezy/lazy_regex.py'
64--- breezy/lazy_regex.py 2017-05-22 00:56:52 +0000
65+++ breezy/lazy_regex.py 2017-07-11 00:02:51 +0000
66@@ -31,6 +31,14 @@
67 from . import errors
68
69
70+class InvalidPattern(errors.BzrError):
71+
72+ _fmt = ('Invalid pattern(s) found. %(msg)s')
73+
74+ def __init__(self, msg):
75+ self.msg = msg
76+
77+
78 class LazyRegex(object):
79 """A proxy around a real regex, which won't be compiled until accessed."""
80
81@@ -71,7 +79,7 @@
82 except re.error as e:
83 # raise InvalidPattern instead of re.error as this gives a
84 # cleaner message to the user.
85- raise errors.InvalidPattern('"' + args[0] + '" ' +str(e))
86+ raise InvalidPattern('"' + args[0] + '" ' +str(e))
87
88 def __getstate__(self):
89 """Return the state to use when pickling."""
90
91=== modified file 'breezy/tests/test_errors.py'
92--- breezy/tests/test_errors.py 2017-06-10 18:39:27 +0000
93+++ breezy/tests/test_errors.py 2017-07-11 00:02:51 +0000
94@@ -619,11 +619,6 @@
95 err = errors.NotBranchError('path', controldir=FakeBzrDir())
96 self.assertEqual('Not a branch: "path": NotBranchError.', str(err))
97
98- def test_invalid_pattern(self):
99- error = errors.InvalidPattern('Bad pattern msg.')
100- self.assertEqualDiff("Invalid pattern(s) found. Bad pattern msg.",
101- str(error))
102-
103 def test_recursive_bind(self):
104 error = errors.RecursiveBind('foo_bar_branch')
105 msg = ('Branch "foo_bar_branch" appears to be bound to itself. '
106
107=== modified file 'breezy/tests/test_globbing.py'
108--- breezy/tests/test_globbing.py 2017-06-04 18:09:30 +0000
109+++ breezy/tests/test_globbing.py 2017-07-11 00:02:51 +0000
110@@ -17,7 +17,7 @@
111
112 import re
113
114-from .. import errors
115+from .. import errors, lazy_regex
116 from ..globbing import (
117 Globster,
118 ExceptionGlobster,
119@@ -316,7 +316,7 @@
120 """Ensure that globster handles bad patterns cleanly."""
121 patterns = [u'RE:[', u'/home/foo', u'RE:*.cpp']
122 g = Globster(patterns)
123- e = self.assertRaises(errors.InvalidPattern, g.match, 'filename')
124+ e = self.assertRaises(lazy_regex.InvalidPattern, g.match, 'filename')
125 self.assertContainsRe(e.msg,
126 "File.*ignore.*contains error.*RE:\[.*RE:\*\.cpp", flags=re.DOTALL)
127
128
129=== modified file 'breezy/tests/test_lazy_regex.py'
130--- breezy/tests/test_lazy_regex.py 2017-05-22 00:56:52 +0000
131+++ breezy/tests/test_lazy_regex.py 2017-07-11 00:02:51 +0000
132@@ -26,6 +26,14 @@
133 )
134
135
136+class ErrorTests(tests.TestCase):
137+
138+ def test_invalid_pattern(self):
139+ error = lazy_regex.InvalidPattern('Bad pattern msg.')
140+ self.assertEqualDiff("Invalid pattern(s) found. Bad pattern msg.",
141+ str(error))
142+
143+
144 class InstrumentedLazyRegex(lazy_regex.LazyRegex):
145 """Keep track of actions on the lazy regex"""
146
147@@ -71,7 +79,7 @@
148 p = lazy_regex.lazy_compile('RE:[')
149 # As p.match is lazy, we make it into a lambda so its handled
150 # by assertRaises correctly.
151- e = self.assertRaises(errors.InvalidPattern, lambda: p.match('foo'))
152+ e = self.assertRaises(lazy_regex.InvalidPattern, lambda: p.match('foo'))
153 self.assertEqual(e.msg, '"RE:[" unexpected end of regular expression')
154
155

Subscribers

People subscribed via source and target branches