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

Unified Diff: tests/gclient_smoketest.py

Issue 2304002: Add workaround to ignore the first solution specified with --revision solution@rev (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/fake_repos.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/gclient_smoketest.py
diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py
index 2895a5ff62c301167208082b6099caaf840ee13c..1a34b335ae39e3ba9a6373ece4ffe2f7a19ae844 100755
--- a/tests/gclient_smoketest.py
+++ b/tests/gclient_smoketest.py
@@ -209,8 +209,7 @@ class GClientSmoke(GClientSmokeBase):
class GClientSmokeSVN(GClientSmokeBase):
def testSync(self):
- # TODO(maruel): safesync, multiple solutions, invalid@revisions,
- # multiple revisions.
+ # TODO(maruel): safesync.
self.gclient(['config', self.svn_base + 'trunk/src/'])
# Test unversioned checkout.
results = self.gclient(['sync', '--deps', 'mac'])
@@ -225,11 +224,12 @@ class GClientSmokeSVN(GClientSmokeBase):
FAKE.svn_revs[1]),
(join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
)
- tree[join('src', 'hooked1')] = 'hooked1'
+ tree[join('src', 'svn_hooked1')] = 'svn_hooked1'
self.assertTree(tree)
- # Manually remove hooked1 before synching to make sure it's not recreated.
- os.remove(join(self.root_dir, 'src', 'hooked1'))
+ # Manually remove svn_hooked1 before synching to make sure it's not
+ # recreated.
+ os.remove(join(self.root_dir, 'src', 'svn_hooked1'))
# Test incremental versioned sync: sync backward.
results = self.gclient(['sync', '--revision', 'src@1', '--deps', 'mac',
@@ -267,9 +267,33 @@ class GClientSmokeSVN(GClientSmokeBase):
join('src', 'third_party', 'prout'),
FAKE.svn_revs[2]),
)
- tree[join('src', 'hooked1')] = 'hooked1'
+ tree[join('src', 'svn_hooked1')] = 'svn_hooked1'
self.assertTree(tree)
+ def SyncAtRev1(self, arg):
+ self.gclient(['config', self.svn_base + 'trunk/src/'])
+ results = self.gclient(['sync', '--deps', 'mac', '-r', arg])
+ out = results[0].splitlines(False)
+ self.assertEquals(19, len(out))
+ self.checkString('', results[1])
+ self.assertEquals(0, results[2])
+ tree = mangle_svn_tree(
+ (join('trunk', 'src'), 'src', FAKE.svn_revs[1]),
+ (join('trunk', 'third_party', 'foo'), join('src', 'third_party', 'fpp'),
+ FAKE.svn_revs[2]),
+ (join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
+ (join('trunk', 'third_party', 'foo'),
+ join('src', 'third_party', 'prout'),
+ FAKE.svn_revs[2]),
+ )
+ self.assertTree(tree)
+
+ def testSyncIgnoredSolutionName(self):
+ self.SyncAtRev1('ignored@1')
+
+ def testSyncNoSolutionName(self):
+ self.SyncAtRev1('1')
+
def testRevertAndStatus(self):
self.gclient(['config', self.svn_base + 'trunk/src/'])
# Tested in testSync.
@@ -280,8 +304,8 @@ class GClientSmokeSVN(GClientSmokeBase):
out = results[0].splitlines(False)
self.assertEquals(out[0], '')
self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
- self.assertEquals(out[2], '? other')
- self.assertEquals(out[3], '? hooked1')
+ self.assertEquals(out[2], '? svn_hooked1')
+ self.assertEquals(out[3], '? other')
self.assertEquals(out[4], '? third_party/foo')
self.assertEquals(out[5], '')
self.assertTrue(out[6].startswith('________ running \'svn status\' in \''))
@@ -303,17 +327,17 @@ class GClientSmokeSVN(GClientSmokeBase):
FAKE.svn_revs[1]),
(join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
)
- tree[join('src', 'hooked1')] = 'hooked1'
- tree[join('src', 'hooked2')] = 'hooked2'
+ tree[join('src', 'svn_hooked1')] = 'svn_hooked1'
+ tree[join('src', 'svn_hooked2')] = 'svn_hooked2'
self.assertTree(tree)
results = self.gclient(['status'])
out = results[0].splitlines(False)
self.assertEquals(out[0], '')
self.assertTrue(out[1].startswith('________ running \'svn status\' in \''))
- self.assertEquals(out[2], '? other')
- self.assertEquals(out[3], '? hooked1')
- self.assertEquals(out[4], '? hooked2')
+ self.assertEquals(out[2], '? svn_hooked1')
+ self.assertEquals(out[3], '? svn_hooked2')
+ self.assertEquals(out[4], '? other')
self.assertEquals(out[5], '? third_party/foo')
self.assertEquals(6, len(out))
self.checkString('', results[1])
@@ -376,12 +400,12 @@ class GClientSmokeSVN(GClientSmokeBase):
self.assertEquals(4, len(out))
self.assertEquals(out[0], '')
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked1\', \'w\'\)\.write\(\'hooked1\'\)\' in \'.*',
+ r'open\(\'src/svn_hooked1\', \'w\'\)\.write\(\'svn_hooked1\'\)\' in \'.*',
out[1]))
self.assertEquals(out[2], '')
# runhooks runs all hooks even if not matching by design.
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked2\', \'w\'\)\.write\(\'hooked2\'\)\' in \'.*',
+ r'open\(\'src/svn_hooked2\', \'w\'\)\.write\(\'svn_hooked2\'\)\' in \'.*',
out[3]))
self.checkString('', results[1])
self.assertEquals(0, results[2])
@@ -394,12 +418,12 @@ class GClientSmokeSVN(GClientSmokeBase):
self.assertEquals(4, len(out))
self.assertEquals(out[0], '')
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked1\', \'w\'\)\.write\(\'hooked1\'\)\' in \'.*',
+ r'open\(\'src/svn_hooked1\', \'w\'\)\.write\(\'svn_hooked1\'\)\' in \'.*',
out[1]))
self.assertEquals(out[2], '')
# runhooks runs all hooks even if not matching by design.
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked2\', \'w\'\)\.write\(\'hooked2\'\)\' in \'.*',
+ r'open\(\'src/svn_hooked2\', \'w\'\)\.write\(\'svn_hooked2\'\)\' in \'.*',
out[3]))
self.checkString('', results[1])
self.assertEquals(0, results[2])
@@ -424,8 +448,7 @@ class GClientSmokeSVN(GClientSmokeBase):
class GClientSmokeGIT(GClientSmokeBase):
def testSync(self):
- # TODO(maruel): safesync, multiple solutions, invalid@revisions,
- # multiple revisions.
+ # TODO(maruel): safesync.
self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
# Test unversioned checkout.
results = self.gclient(['sync', '--deps', 'mac'])
@@ -440,12 +463,13 @@ class GClientSmokeGIT(GClientSmokeBase):
(join('src', 'repo2'), FAKE.git_hashes['repo_2'][0][1]),
(join('src', 'repo2', 'repo_renamed'), FAKE.git_hashes['repo_3'][1][1]),
)
- tree[join('src', 'hooked1')] = 'hooked1'
- tree[join('src', 'hooked2')] = 'hooked2'
+ tree[join('src', 'git_hooked1')] = 'git_hooked1'
+ tree[join('src', 'git_hooked2')] = 'git_hooked2'
self.assertTree(tree)
- # Manually remove hooked1 before synching to make sure it's not recreated.
- os.remove(join(self.root_dir, 'src', 'hooked1'))
+ # 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.
results = self.gclient(['sync', '--revision',
@@ -462,7 +486,7 @@ class GClientSmokeGIT(GClientSmokeBase):
(join('src', 'repo2', 'repo3'), FAKE.git_hashes['repo_3'][1][1]),
(join('src', 'repo4'), FAKE.git_hashes['repo_4'][1][1]),
)
- tree[join('src', 'hooked2')] = 'hooked2'
+ tree[join('src', 'git_hooked2')] = 'git_hooked2'
self.assertTree(tree)
# Test incremental sync: delete-unversioned_trees isn't there.
results = self.gclient(['sync', '--deps', 'mac'])
@@ -478,8 +502,8 @@ class GClientSmokeGIT(GClientSmokeBase):
(join('src', 'repo2', 'repo_renamed'), FAKE.git_hashes['repo_3'][1][1]),
(join('src', 'repo4'), FAKE.git_hashes['repo_4'][1][1]),
)
- tree[join('src', 'hooked1')] = 'hooked1'
- tree[join('src', 'hooked2')] = 'hooked2'
+ tree[join('src', 'git_hooked1')] = 'git_hooked1'
+ tree[join('src', 'git_hooked2')] = 'git_hooked2'
self.assertTree(tree)
def testRevertAndStatus(self):
@@ -510,8 +534,8 @@ class GClientSmokeGIT(GClientSmokeBase):
)
# TODO(maruel): http://crosbug.com/3583 This file should have been removed.
tree[join('src', 'repo2', 'hi')] = 'Hey!'
- tree[join('src', 'hooked1')] = 'hooked1'
- tree[join('src', 'hooked2')] = 'hooked2'
+ tree[join('src', 'git_hooked1')] = 'git_hooked1'
+ tree[join('src', 'git_hooked2')] = 'git_hooked2'
self.assertTree(tree)
results = self.gclient(['status'])
@@ -529,12 +553,12 @@ class GClientSmokeGIT(GClientSmokeBase):
self.assertEquals(4, len(out))
self.assertEquals(out[0], '')
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked1\', \'w\'\)\.write\(\'hooked1\'\)\' in \'.*',
+ r'open\(\'src/git_hooked1\', \'w\'\)\.write\(\'git_hooked1\'\)\' in \'.*',
out[1]))
self.assertEquals(out[2], '')
# runhooks runs all hooks even if not matching by design.
self.assertTrue(re.match(r'^________ running \'.*?python -c '
- r'open\(\'src/hooked2\', \'w\'\)\.write\(\'hooked2\'\)\' in \'.*',
+ r'open\(\'src/git_hooked2\', \'w\'\)\.write\(\'git_hooked2\'\)\' in \'.*',
out[3]))
self.checkString('', results[1])
self.assertEquals(0, results[2])
@@ -556,6 +580,71 @@ class GClientSmokeGIT(GClientSmokeBase):
self.check((out, '', 0), results)
+class GClientSmokeBoth(GClientSmokeBase):
+ def testMultiSolutions(self):
+ self.gclient(['config', '--spec',
+ 'solutions=['
+ '{"name": "src",'
+ ' "url": "' + self.svn_base + 'trunk/src/"},'
+ '{"name": "src-git",'
+ '"url": "' + self.git_base + 'repo_1"}]'])
+ results = self.gclient(['sync', '--deps', 'mac'])
+ out = results[0].splitlines(False)
+ self.assertEquals(32, len(out))
+ # TODO(maruel): Something's wrong here. git outputs to stderr 'Switched to
+ # new branch \'hash\''.
+ #self.checkString('', results[1])
+ self.assertEquals(0, results[2])
+ tree = mangle_git_tree(
+ ('src-git', FAKE.git_hashes['repo_1'][1][1]),
+ (join('src', 'repo2'), FAKE.git_hashes['repo_2'][0][1]),
+ (join('src', 'repo2', 'repo_renamed'), FAKE.git_hashes['repo_3'][1][1]),
+ )
+ tree.update(mangle_svn_tree(
+ (join('trunk', 'src'), 'src', FAKE.svn_revs[2]),
+ (join('trunk', 'third_party', 'foo'), join('src', 'third_party', 'foo'),
+ FAKE.svn_revs[1]),
+ (join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
+ ))
+ tree[join('src', 'git_hooked1')] = 'git_hooked1'
+ tree[join('src', 'git_hooked2')] = 'git_hooked2'
+ tree[join('src', 'svn_hooked1')] = 'svn_hooked1'
+ tree[join('src', 'svn_hooked2')] = 'svn_hooked2'
+ self.assertTree(tree)
+
+ def testMultiSolutionsMultiRev(self):
+ self.gclient(['config', '--spec',
+ 'solutions=['
+ '{"name": "src",'
+ ' "url": "' + self.svn_base + 'trunk/src/"},'
+ '{"name": "src-git",'
+ '"url": "' + self.git_base + 'repo_1"}]'])
+ results = self.gclient(['sync', '--deps', 'mac', '--revision', '1', '-r',
+ 'src-git@' + FAKE.git_hashes['repo_1'][0][0]])
+ out = results[0].splitlines(False)
+ self.assertEquals(35, len(out))
+ # TODO(maruel): Something's wrong here. git outputs to stderr 'Switched to
+ # new branch \'hash\''.
+ #self.checkString('', results[1])
+ self.assertEquals(0, results[2])
+ tree = mangle_git_tree(
+ ('src-git', FAKE.git_hashes['repo_1'][0][1]),
+ (join('src', 'repo2'), FAKE.git_hashes['repo_2'][1][1]),
+ (join('src', 'repo2', 'repo3'), FAKE.git_hashes['repo_3'][1][1]),
+ (join('src', 'repo4'), FAKE.git_hashes['repo_4'][1][1]),
+ )
+ tree.update(mangle_svn_tree(
+ (join('trunk', 'src'), 'src', FAKE.svn_revs[1]),
+ (join('trunk', 'third_party', 'foo'), join('src', 'third_party', 'fpp'),
+ FAKE.svn_revs[2]),
+ (join('trunk', 'other'), join('src', 'other'), FAKE.svn_revs[2]),
+ (join('trunk', 'third_party', 'foo'),
+ join('src', 'third_party', 'prout'),
+ FAKE.svn_revs[2]),
+ ))
+ self.assertTree(tree)
+
+
if __name__ == '__main__':
if '-v' in sys.argv:
logging.basicConfig(level=logging.DEBUG)
« no previous file with comments | « tests/fake_repos.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698