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

Side by Side Diff: tests/gclient_smoketest.py

Issue 2238004: Add --deps support for revert, status and runhooks. Fix gclient status. (Closed)
Patch Set: Created 10 years, 7 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
« no previous file with comments | « 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/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 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 """Smoke tests for gclient.py. 6 """Smoke tests for gclient.py.
7 7
8 Shell out 'gclient' and run basic conformance tests. 8 Shell out 'gclient' and run basic conformance tests.
9 9
10 This test assumes GClientSmokeBase.URL_BASE is valid. 10 This test assumes GClientSmokeBase.URL_BASE is valid.
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 join('src', 'third_party', 'prout'), 267 join('src', 'third_party', 'prout'),
268 FAKE.svn_revs[2]), 268 FAKE.svn_revs[2]),
269 ) 269 )
270 tree[join('src', 'hooked1')] = 'hooked1' 270 tree[join('src', 'hooked1')] = 'hooked1'
271 self.assertTree(tree) 271 self.assertTree(tree)
272 272
273 def testRevertAndStatus(self): 273 def testRevertAndStatus(self):
274 self.gclient(['config', self.svn_base + 'trunk/src/']) 274 self.gclient(['config', self.svn_base + 'trunk/src/'])
275 # Tested in testSync. 275 # Tested in testSync.
276 self.gclient(['sync', '--deps', 'mac']) 276 self.gclient(['sync', '--deps', 'mac'])
277 write(join(self.root_dir, 'src', 'third_party', 'foo', 'hi'), 'Hey!') 277 write(join(self.root_dir, 'src', 'other', 'hi'), 'Hey!')
278 278
279 results = self.gclient(['status']) 279 results = self.gclient(['status'])
280 out = results[0].splitlines(False) 280 out = results[0].splitlines(False)
281 self.assertEquals(out[0], '') 281 self.assertEquals(out[0], '')
282 self.assertTrue(out[1].startswith('________ running \'svn status\' in \'')) 282 self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
283 self.assertEquals(out[2], '? other') 283 self.assertEquals(out[2], '? other')
284 self.assertEquals(out[3], '? hooked1') 284 self.assertEquals(out[3], '? hooked1')
285 self.assertEquals(out[4], '? third_party/foo') 285 self.assertEquals(out[4], '? third_party/foo')
286 self.assertEquals(out[5], '') 286 self.assertEquals(out[5], '')
287 self.assertTrue(out[6].startswith('________ running \'svn status\' in \'')) 287 self.assertTrue(out[6].startswith('________ running \'svn status\' in \''))
(...skipping 24 matching lines...) Expand all
312 self.assertEquals(out[0], '') 312 self.assertEquals(out[0], '')
313 self.assertTrue(out[1].startswith('________ running \'svn status\' in \'')) 313 self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
314 self.assertEquals(out[2], '? other') 314 self.assertEquals(out[2], '? other')
315 self.assertEquals(out[3], '? hooked1') 315 self.assertEquals(out[3], '? hooked1')
316 self.assertEquals(out[4], '? hooked2') 316 self.assertEquals(out[4], '? hooked2')
317 self.assertEquals(out[5], '? third_party/foo') 317 self.assertEquals(out[5], '? third_party/foo')
318 self.assertEquals(6, len(out)) 318 self.assertEquals(6, len(out))
319 self.checkString('', results[1]) 319 self.checkString('', results[1])
320 self.assertEquals(0, results[2]) 320 self.assertEquals(0, results[2])
321 321
322 def testRevertAndStatusDepsOs(self):
323 self.gclient(['config', self.svn_base + 'trunk/src/'])
324 # Tested in testSync.
325 self.gclient(['sync', '--deps', 'mac', '--revision', 'src@1'])
326 write(join(self.root_dir, 'src', 'other', 'hi'), 'Hey!')
327
328 results = self.gclient(['status', '--deps', 'mac'])
329 out = results[0].splitlines(False)
330 self.assertEquals(out[0], '')
331 self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
332 self.assertEquals(out[2], '? other')
333 self.assertEquals(out[3], '? third_party/fpp')
334 self.assertEquals(out[4], '? third_party/prout')
335 self.assertEquals(out[5], '')
336 self.assertTrue(out[6].startswith('________ running \'svn status\' in \''))
337 self.assertEquals(out[7], '? hi')
338 self.assertEquals(8, len(out))
339 self.assertEquals('', results[1])
340 self.assertEquals(0, results[2])
341
342 # Revert implies --force implies running hooks without looking at pattern
343 # matching.
344 results = self.gclient(['revert', '--deps', 'mac'])
345 out = results[0].splitlines(False)
346 self.assertEquals(24, len(out))
347 self.checkString('', results[1])
348 self.assertEquals(0, results[2])
349 tree = mangle_svn_tree(
350 (join('trunk', 'src'), 'src', FAKE.svn_revs[1]),
351 (join('trunk', 'third_party', 'foo'), join('src', 'third_party', 'fpp'),
352 FAKE.svn_revs[2]),
353 (join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
354 (join('trunk', 'third_party', 'prout'),
355 join('src', 'third_party', 'prout'),
356 FAKE.svn_revs[2]),
357 )
358 self.assertTree(tree)
359
360 results = self.gclient(['status', '--deps', 'mac'])
361 out = results[0].splitlines(False)
362 self.assertEquals(out[0], '')
363 self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
364 self.assertEquals(out[2], '? other')
365 self.assertEquals(out[3], '? third_party/fpp')
366 self.assertEquals(out[4], '? third_party/prout')
367 self.assertEquals(5, len(out))
368 self.checkString('', results[1])
369 self.assertEquals(0, results[2])
370
322 def testRunHooks(self): 371 def testRunHooks(self):
323 self.gclient(['config', self.svn_base + 'trunk/src/']) 372 self.gclient(['config', self.svn_base + 'trunk/src/'])
324 self.gclient(['sync', '--deps', 'mac']) 373 self.gclient(['sync', '--deps', 'mac'])
325 results = self.gclient(['runhooks']) 374 results = self.gclient(['runhooks'])
326 out = results[0].splitlines(False) 375 out = results[0].splitlines(False)
327 self.assertEquals(4, len(out)) 376 self.assertEquals(4, len(out))
328 self.assertEquals(out[0], '') 377 self.assertEquals(out[0], '')
329 self.assertTrue(re.match(r'^________ running \'.*?python -c ' 378 self.assertTrue(re.match(r'^________ running \'.*?python -c '
330 r'open\(\'src/hooked1\', \'w\'\)\.write\(\'hooked1\'\)\' in \'.*', 379 r'open\(\'src/hooked1\', \'w\'\)\.write\(\'hooked1\'\)\' in \'.*',
331 out[1])) 380 out[1]))
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 logging.basicConfig(level=logging.DEBUG) 561 logging.basicConfig(level=logging.DEBUG)
513 if '-l' in sys.argv: 562 if '-l' in sys.argv:
514 SHOULD_LEAK = True 563 SHOULD_LEAK = True
515 sys.argv.remove('-l') 564 sys.argv.remove('-l')
516 FAKE = FakeRepos(TRIAL_DIR, SHOULD_LEAK, True) 565 FAKE = FakeRepos(TRIAL_DIR, SHOULD_LEAK, True)
517 try: 566 try:
518 FAKE.setUp() 567 FAKE.setUp()
519 unittest.main() 568 unittest.main()
520 finally: 569 finally:
521 FAKE.tearDown() 570 FAKE.tearDown()
OLDNEW
« no previous file with comments | « gclient.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698