| Index: tests/gclient_smoketest.py
|
| diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py
|
| index e10840d5c39d9d7a2ba7a7cb5c10f5462a9092e7..afd440aba32a1ee0f31f26eeaf7fafaf47235af8 100755
|
| --- a/tests/gclient_smoketest.py
|
| +++ b/tests/gclient_smoketest.py
|
| @@ -17,7 +17,7 @@ import subprocess
|
| import sys
|
| import unittest
|
|
|
| -from fake_repos import join, write, FakeReposTestBase
|
| +from fake_repos import check_call, join, write, FakeReposTestBase
|
|
|
| GCLIENT_PATH = join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
|
| 'gclient')
|
| @@ -103,7 +103,7 @@ class GClientSmokeBase(FakeReposTestBase):
|
| path = self.root_dir
|
| self.checkString(results[i][0][0], verb, (i, results[i][0][0], verb))
|
| self.checkString(results[i][0][2], path, (i, results[i][0][2], path))
|
| - self.assertEquals(len(results), len(items))
|
| + self.assertEquals(len(results), len(items), (stdout, items))
|
| return results
|
|
|
| def svnBlockCleanup(self, out):
|
| @@ -746,6 +746,84 @@ class GClientSmokeBoth(GClientSmokeBase):
|
| self.assertEquals(sorted(entries), sorted(expected))
|
|
|
|
|
| +class GClientSmokeFromCheckout(GClientSmokeBase):
|
| + # WebKit abuses this. It has a .gclient and a DEPS from a checkout.
|
| + def setUp(self):
|
| + GClientSmokeBase.setUp(self)
|
| + self.FAKE_REPOS.setUpSVN()
|
| + os.rmdir(self.root_dir)
|
| + check_call(['svn', 'checkout', 'svn://127.0.0.1/svn/trunk/webkit',
|
| + self.root_dir, '-q',
|
| + '--non-interactive', '--no-auth-cache',
|
| + '--username', 'user1', '--password', 'foo'])
|
| +
|
| + def testSync(self):
|
| + self.parseGclient(['sync', '--deps', 'mac'], ['running', 'running'])
|
| + tree = self.mangle_svn_tree(
|
| + ('trunk/webkit@2', ''),
|
| + ('trunk/third_party/foo@1', 'foo/bar'))
|
| + self.assertTree(tree)
|
| +
|
| + def testRevertAndStatus(self):
|
| + self.gclient(['sync'])
|
| +
|
| + # TODO(maruel): This is incorrect.
|
| + out = self.parseGclient(['status', '--deps', 'mac'], [])
|
| +
|
| + # Revert implies --force implies running hooks without looking at pattern
|
| + # matching.
|
| + results = self.gclient(['revert', '--deps', 'mac'])
|
| + out = self.splitBlock(results[0])
|
| + self.assertEquals(2, len(out))
|
| + self.checkString(2, len(out[0]))
|
| + self.checkString(2, len(out[1]))
|
| + self.checkString('foo', out[1][1])
|
| + self.checkString('', results[1])
|
| + self.assertEquals(0, results[2])
|
| + tree = self.mangle_svn_tree(
|
| + ('trunk/webkit@2', ''),
|
| + ('trunk/third_party/foo@1', 'foo/bar'))
|
| + self.assertTree(tree)
|
| +
|
| + # TODO(maruel): This is incorrect.
|
| + out = self.parseGclient(['status', '--deps', 'mac'], [])
|
| +
|
| + def testRunHooks(self):
|
| + # Hooks aren't really tested for now since there is no hook defined.
|
| + self.gclient(['sync', '--deps', 'mac'])
|
| + out = self.parseGclient(['runhooks', '--deps', 'mac'], ['running'])
|
| + self.assertEquals(1, len(out))
|
| + self.assertEquals(2, len(out[0]))
|
| + self.assertEquals(3, len(out[0][0]))
|
| + self.checkString('foo', out[0][1])
|
| + tree = self.mangle_svn_tree(
|
| + ('trunk/webkit@2', ''),
|
| + ('trunk/third_party/foo@1', 'foo/bar'))
|
| + self.assertTree(tree)
|
| +
|
| + def testRevInfo(self):
|
| + self.gclient(['sync', '--deps', 'mac'])
|
| + results = self.gclient(['revinfo', '--deps', 'mac'])
|
| + expected = (
|
| + './: None;\nfoo/bar: svn://127.0.0.1/svn/trunk/third_party/foo@1\n',
|
| + '', 0)
|
| + self.check(expected, results)
|
| + # TODO(maruel): To be added after the refactor.
|
| + #results = self.gclient(['revinfo', '--snapshot'])
|
| + #expected = (
|
| + # './: None;\nfoo/bar: svn://127.0.0.1/svn/trunk/third_party/foo@1\n',
|
| + # '', 0)
|
| + #self.check(expected, results)
|
| +
|
| + def testRest(self):
|
| + self.gclient(['sync'])
|
| + # TODO(maruel): This is incorrect, it should run on ./ too.
|
| + out = self.parseGclient(['cleanup', '--deps', 'mac'],
|
| + [('running', join(self.root_dir, 'foo', 'bar'))])
|
| + out = self.parseGclient(['diff', '--deps', 'mac'],
|
| + [('running', join(self.root_dir, 'foo', 'bar'))])
|
| +
|
| +
|
| if __name__ == '__main__':
|
| if '-c' in sys.argv:
|
| COVERAGE = True
|
|
|