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

Side by Side Diff: tests/gclient_smoketest.py

Issue 440273002: Reland: Add --no-history option to fetch and gclient for shallow clones. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: ensure_value -> hasattr Created 6 years, 4 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 | « tests/gclient_scm_test.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) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 1161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 tree['src/git_hooked1'] = 'git_hooked1' 1172 tree['src/git_hooked1'] = 'git_hooked1'
1173 tree['src/git_hooked2'] = 'git_hooked2' 1173 tree['src/git_hooked2'] = 'git_hooked2'
1174 self.assertTree(tree) 1174 self.assertTree(tree)
1175 1175
1176 results = self.gclient(['status', '--deps', 'mac', '--jobs', '1']) 1176 results = self.gclient(['status', '--deps', 'mac', '--jobs', '1'])
1177 out = results[0].splitlines(False) 1177 out = results[0].splitlines(False)
1178 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned 1178 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned
1179 # files. 1179 # files.
1180 self.assertEquals(0, len(out)) 1180 self.assertEquals(0, len(out))
1181 1181
1182 def testSyncNoHistory(self):
1183 if not self.enabled:
1184 return
1185 # Create an extra commit in repo_2 and point DEPS to its hash.
1186 cur_deps = self.FAKE_REPOS.git_hashes['repo_1'][-1][1]['DEPS']
1187 repo_2_hash_old = self.FAKE_REPOS.git_hashes['repo_2'][1][0][:7]
1188 self.FAKE_REPOS._commit_git('repo_2', { # pylint: disable=W0212
1189 'last_file': 'file created in last commit',
1190 })
1191 repo_2_hash_new = self.FAKE_REPOS.git_hashes['repo_2'][-1][0]
1192 new_deps = cur_deps.replace(repo_2_hash_old, repo_2_hash_new)
1193 self.assertNotEqual(new_deps, cur_deps)
1194 self.FAKE_REPOS._commit_git('repo_1', { # pylint: disable=W0212
1195 'DEPS': new_deps,
1196 'origin': 'git/repo_1@4\n',
1197 })
1198
1199 config_template = (
1200 """solutions = [{
1201 "name" : "src",
1202 "url" : "%(git_base)srepo_1",
1203 "deps_file" : "DEPS",
1204 "managed" : True,
1205 }]""")
1206
1207 self.gclient(['config', '--spec', config_template % {
1208 'git_base': self.git_base
1209 }])
1210
1211 self.gclient(['sync', '--no-history', '--deps', 'mac'])
1212 repo2_root = join(self.root_dir, 'src', 'repo2')
1213
1214 # Check that repo_2 is actually shallow and its log has only one entry.
1215 rev_lists = subprocess2.check_output(['git', 'rev-list', 'HEAD'],
1216 cwd=repo2_root)
1217 self.assertEquals(repo_2_hash_new, rev_lists.strip('\r\n'))
1218
1219 # Check that we have actually checked out the right commit.
1220 self.assertTrue(os.path.exists(join(repo2_root, 'last_file')))
1221
1222
1182 class GClientSmokeBoth(GClientSmokeBase): 1223 class GClientSmokeBoth(GClientSmokeBase):
1183 def setUp(self): 1224 def setUp(self):
1184 super(GClientSmokeBoth, self).setUp() 1225 super(GClientSmokeBoth, self).setUp()
1185 self.enabled = self.FAKE_REPOS.set_up_svn() and self.FAKE_REPOS.set_up_git() 1226 self.enabled = self.FAKE_REPOS.set_up_svn() and self.FAKE_REPOS.set_up_git()
1186 1227
1187 def testMultiSolutions(self): 1228 def testMultiSolutions(self):
1188 if not self.enabled: 1229 if not self.enabled:
1189 return 1230 return
1190 self.gclient(['config', '--spec', 1231 self.gclient(['config', '--spec',
1191 'solutions=[' 1232 'solutions=['
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1597 1638
1598 if '-c' in sys.argv: 1639 if '-c' in sys.argv:
1599 COVERAGE = True 1640 COVERAGE = True
1600 sys.argv.remove('-c') 1641 sys.argv.remove('-c')
1601 if os.path.exists('.coverage'): 1642 if os.path.exists('.coverage'):
1602 os.remove('.coverage') 1643 os.remove('.coverage')
1603 os.environ['COVERAGE_FILE'] = os.path.join( 1644 os.environ['COVERAGE_FILE'] = os.path.join(
1604 os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 1645 os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
1605 '.coverage') 1646 '.coverage')
1606 unittest.main() 1647 unittest.main()
OLDNEW
« no previous file with comments | « tests/gclient_scm_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698