| Index: tests/gclient_smoketest.py
|
| diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py
|
| index cefd7b00ceebecdbefe2028a7ff1605d2377a439..50e7fd72c0ac2d20e2bad5a41bc5a52016f57c6e 100755
|
| --- a/tests/gclient_smoketest.py
|
| +++ b/tests/gclient_smoketest.py
|
| @@ -205,36 +205,52 @@ class GClientSmoke(GClientSmokeBase):
|
|
|
| test(['config', self.svn_base + 'trunk/src/'],
|
| ('solutions = [\n'
|
| - ' {\n'
|
| - ' "name" : "src",\n'
|
| + ' { "name" : "src",\n'
|
| ' "url" : "%strunk/src",\n'
|
| ' "deps_file" : "DEPS",\n'
|
| - ' "managed" : False,\n'
|
| - ' "custom_deps" : {},\n'
|
| + ' "managed" : True,\n'
|
| + ' "custom_deps" : {\n'
|
| + ' },\n'
|
| + ' "safesync_url": "",\n'
|
| ' },\n'
|
| ']\n'
|
| 'cache_dir = None\n') % self.svn_base)
|
|
|
| test(['config', self.git_base + 'repo_1', '--name', 'src'],
|
| ('solutions = [\n'
|
| - ' {\n'
|
| - ' "name" : "src",\n'
|
| + ' { "name" : "src",\n'
|
| ' "url" : "%srepo_1",\n'
|
| ' "deps_file" : "DEPS",\n'
|
| - ' "managed" : False,\n'
|
| - ' "custom_deps" : {},\n'
|
| + ' "managed" : True,\n'
|
| + ' "custom_deps" : {\n'
|
| + ' },\n'
|
| + ' "safesync_url": "",\n'
|
| ' },\n'
|
| ']\n'
|
| 'cache_dir = None\n') % self.git_base)
|
|
|
| + test(['config', 'foo', 'faa'],
|
| + 'solutions = [\n'
|
| + ' { "name" : "foo",\n'
|
| + ' "url" : "foo",\n'
|
| + ' "deps_file" : "DEPS",\n'
|
| + ' "managed" : True,\n'
|
| + ' "custom_deps" : {\n'
|
| + ' },\n'
|
| + ' "safesync_url": "faa",\n'
|
| + ' },\n'
|
| + ']\n'
|
| + 'cache_dir = None\n')
|
| +
|
| test(['config', 'foo', '--deps', 'blah'],
|
| 'solutions = [\n'
|
| - ' {\n'
|
| - ' "name" : "foo",\n'
|
| + ' { "name" : "foo",\n'
|
| ' "url" : "foo",\n'
|
| ' "deps_file" : "blah",\n'
|
| - ' "managed" : False,\n'
|
| - ' "custom_deps" : {},\n'
|
| + ' "managed" : True,\n'
|
| + ' "custom_deps" : {\n'
|
| + ' },\n'
|
| + ' "safesync_url": "",\n'
|
| ' },\n'
|
| ']\n'
|
| 'cache_dir = None\n')
|
| @@ -243,7 +259,7 @@ class GClientSmoke(GClientSmokeBase):
|
|
|
| os.remove(p)
|
| results = self.gclient(['config', 'foo', 'faa', 'fuu'])
|
| - err = ('Usage: gclient.py config [options] [url]\n\n'
|
| + err = ('Usage: gclient.py config [options] [url] [safesync url]\n\n'
|
| 'gclient.py: error: Inconsistent arguments. Use either --spec or one'
|
| ' or 2 args\n')
|
| self.check(('', err, 2), results)
|
| @@ -287,14 +303,14 @@ class GClientSmokeGIT(GClientSmokeBase):
|
| super(GClientSmokeGIT, self).setUp()
|
| self.enabled = self.FAKE_REPOS.set_up_git()
|
|
|
| - def testSyncManaged(self):
|
| + def testSync(self):
|
| if not self.enabled:
|
| return
|
| - self.gclient([
|
| - 'config', self.git_base + 'repo_1', '--name', 'src', '--managed'])
|
| + # TODO(maruel): safesync.
|
| + self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
|
| # Test unversioned checkout.
|
| self.parseGclient(
|
| - ['sync', '--deps', 'mac', '--jobs', '8'],
|
| + ['sync', '--deps', 'mac', '--jobs', '1'],
|
| ['running', 'running'])
|
| # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must
|
| # add sync parsing to get the list of updated files.
|
| @@ -312,7 +328,7 @@ class GClientSmokeGIT(GClientSmokeBase):
|
| # Test incremental versioned sync: sync backward.
|
| self.parseGclient(
|
| ['sync', '--jobs', '1', '--revision',
|
| - 'src@' + self.githash('repo_1', 1), '--jobs', '1',
|
| + 'src@' + self.githash('repo_1', 1),
|
| '--deps', 'mac', '--delete_unversioned_trees'],
|
| ['deleting'])
|
| tree = self.mangle_git_tree(('repo_1@1', 'src'),
|
| @@ -323,7 +339,7 @@ class GClientSmokeGIT(GClientSmokeBase):
|
| self.assertTree(tree)
|
| # Test incremental sync: delete-unversioned_trees isn't there.
|
| self.parseGclient(
|
| - ['sync', '--deps', 'mac', '--jobs', '8'],
|
| + ['sync', '--deps', 'mac', '--jobs', '1'],
|
| ['running', 'running'])
|
| tree = self.mangle_git_tree(('repo_1@2', 'src'),
|
| ('repo_2@1', 'src/repo2'),
|
| @@ -367,6 +383,56 @@ class GClientSmokeGIT(GClientSmokeBase):
|
| ('repo_4@2', 'src/repo4'))
|
| self.assertTree(tree)
|
|
|
| + def testSyncJobs(self):
|
| + if not self.enabled:
|
| + return
|
| + # TODO(maruel): safesync.
|
| + self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
|
| + # Test unversioned checkout.
|
| + self.parseGclient(
|
| + ['sync', '--deps', 'mac', '--jobs', '8'],
|
| + ['running', 'running'],
|
| + untangle=True)
|
| + # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must
|
| + # add sync parsing to get the list of updated files.
|
| + tree = self.mangle_git_tree(('repo_1@2', 'src'),
|
| + ('repo_2@1', 'src/repo2'),
|
| + ('repo_3@2', 'src/repo2/repo_renamed'))
|
| + tree['src/git_hooked1'] = 'git_hooked1'
|
| + tree['src/git_hooked2'] = 'git_hooked2'
|
| + self.assertTree(tree)
|
| +
|
| + # Manually remove git_hooked1 before synching to make sure it's not
|
| + # recreated.
|
| + os.remove(join(self.root_dir, 'src', 'git_hooked1'))
|
| +
|
| + # Test incremental versioned sync: sync backward.
|
| + # Use --jobs 1 otherwise the order is not deterministic.
|
| + self.parseGclient(
|
| + ['sync', '--revision', 'src@' + self.githash('repo_1', 1),
|
| + '--deps', 'mac', '--delete_unversioned_trees', '--jobs', '1'],
|
| + ['deleting'],
|
| + untangle=True)
|
| + tree = self.mangle_git_tree(('repo_1@1', 'src'),
|
| + ('repo_2@2', 'src/repo2'),
|
| + ('repo_3@1', 'src/repo2/repo3'),
|
| + ('repo_4@2', 'src/repo4'))
|
| + tree['src/git_hooked2'] = 'git_hooked2'
|
| + self.assertTree(tree)
|
| + # Test incremental sync: delete-unversioned_trees isn't there.
|
| + self.parseGclient(
|
| + ['sync', '--deps', 'mac', '--jobs', '8'],
|
| + ['running', 'running'],
|
| + untangle=True)
|
| + tree = self.mangle_git_tree(('repo_1@2', 'src'),
|
| + ('repo_2@1', 'src/repo2'),
|
| + ('repo_3@1', 'src/repo2/repo3'),
|
| + ('repo_3@2', 'src/repo2/repo_renamed'),
|
| + ('repo_4@2', 'src/repo4'))
|
| + tree['src/git_hooked1'] = 'git_hooked1'
|
| + tree['src/git_hooked2'] = 'git_hooked2'
|
| + self.assertTree(tree)
|
| +
|
| def testRunHooks(self):
|
| if not self.enabled:
|
| return
|
|
|