Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(433)

Side by Side Diff: tests/gclient_test.py

Issue 7891061: Fix member lookup to be more stable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« gclient.py ('K') | « gclient.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Unit tests for gclient.py. 6 """Unit tests for gclient.py.
7 7
8 See gclient_smoketest.py for integration tests. 8 See gclient_smoketest.py for integration tests.
9 """ 9 """
10 10
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return items 196 return items
197 197
198 def testAutofix(self): 198 def testAutofix(self):
199 # Invalid urls causes pain when specifying requirements. Make sure it's 199 # Invalid urls causes pain when specifying requirements. Make sure it's
200 # auto-fixed. 200 # auto-fixed.
201 d = gclient.Dependency( 201 d = gclient.Dependency(
202 None, 'name', 'proto://host/path/@revision', None, None, 202 None, 'name', 'proto://host/path/@revision', None, None,
203 None, '', True) 203 None, '', True)
204 self.assertEquals('proto://host/path@revision', d.url) 204 self.assertEquals('proto://host/path@revision', d.url)
205 205
206 def testStr(self):
207 parser = gclient.Parser()
208 options, args = parser.parse_args([])
209 write(
210 '.gclient',
211 'solutions = [\n'
212 ' { "name": "foo", "url": "svn://example.com/foo" },\n'
213 ' { "name": "bar", "url": "svn://example.com/bar" },\n'
214 ' { "name": "bar/empty", "url": "svn://example.com/bar_empty" },\n'
215 ']')
216 write(
217 os.path.join('foo', 'DEPS'),
218 'deps = {\n'
219 ' "foo/dir1": "/dir1",\n'
220 # This one will depend on dir1/dir2 in bar.
221 ' "foo/dir1/dir2/dir3": "/dir1/dir2/dir3",\n'
222 ' "foo/dir1/dir2/dir3/dir4": "/dir1/dir2/dir3/dir4",\n'
223 ' "foo/dir1/dir2/dir5/dir6":\n'
224 ' From("foo/dir1/dir2/dir3/dir4", "foo/dir1/dir2"),\n'
225 '}')
226 write(
227 os.path.join('bar', 'DEPS'),
228 'deps = {\n'
229 ' "foo/dir1/dir2": "/dir1/dir2",\n'
230 '}')
231 write(
232 os.path.join('bar/empty', 'DEPS'),
233 'deps = {\n'
234 '}')
235 # Test From()
236 write(
237 os.path.join('foo/dir1/dir2/dir3/dir4', 'DEPS'),
238 'deps = {\n'
239 # This one should not be fetched or set as a requirement.
240 ' "foo/dir1/dir2/dir5": "svn://example.com/x",\n'
241 ' "foo/dir1/dir2": "/dir1/another",\n'
242 '}')
243
244 obj = gclient.GClient.LoadCurrentConfig(options)
245 obj.RunOnDeps('None', args)
246 self.assertEquals(
247 [ 'svn://example.com/foo', 'svn://example.com/bar',
248 'svn://example.com/bar_empty', 'svn://example.com/foo/dir1',
249 'svn://example.com/bar/dir1/dir2',
250 'svn://example.com/foo/dir1/dir2/dir3',
251 'svn://example.com/foo/dir1/dir2/dir3/dir4',
252 'svn://example.com/foo/dir1/dir2/dir3/dir4/dir1/another'],
253 self._get_processed())
254 # Inject file_list manually.
255 obj.dependencies[0]._file_list.append('foo') # pylint: disable=W0212
256 self.assertEquals(1874, len(str(obj)), '%d\n%s' % (len(str(obj)), str(obj)))
M-A Ruel 2011/09/14 22:56:55 The whole code above is to test this line.
257
258
206 if __name__ == '__main__': 259 if __name__ == '__main__':
207 logging.basicConfig( 260 logging.basicConfig(
208 level=[logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG][ 261 level=[logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG][
209 min(sys.argv.count('-v'), 3)], 262 min(sys.argv.count('-v'), 3)],
210 format='%(asctime).19s %(levelname)s %(filename)s:' 263 format='%(asctime).19s %(levelname)s %(filename)s:'
211 '%(lineno)s %(message)s') 264 '%(lineno)s %(message)s')
212 unittest.main() 265 unittest.main()
OLDNEW
« gclient.py ('K') | « gclient.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698