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

Unified Diff: tests/gclient_scm_test.py

Issue 250523004: Added remote 'git' branch awareness to 'gclient' (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 6 years, 8 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
Index: tests/gclient_scm_test.py
diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py
index 370e75f39e4c95f5bbc0eaea1fe34c23cf48db2d..f8516dba95fe93193931daaf0fc5446b631e9f81 100755
--- a/tests/gclient_scm_test.py
+++ b/tests/gclient_scm_test.py
@@ -1376,6 +1376,80 @@ class UnmanagedGitWrapperTestCase(BaseGitWrapperTestCase):
self.checkstdout('________ unmanaged solution; skipping .\n')
+class GitParseRevisionTestCase(unittest.TestCase):
+ """Tests the 'GitWrapper._ResolveLocalRef' function."""
+
+ def setUp(self):
+ self.repo = gclient_scm.GitWrapper('fake/fake.git')
+
+ def _assertMapped(self, revision):
+ self.assertTrue(self.repo._ParseRevision(revision)['mapped'])
+ def _assertNotMapped(self, revision):
+ self.assertFalse(self.repo._ParseRevision(revision)['mapped'])
+
+ def testLocalRefs(self):
+ self._assertMapped('refs/heads/master')
+ self._assertMapped('refs/heads/some_branch')
+ self._assertMapped('origin/master')
+ self._assertMapped('refs/remotes/origin/master')
+
+ def testRemoteRefs(self):
+ self._assertNotMapped('refs/remotes/other/master')
+ self._assertNotMapped('refs/other')
+
+ def testNonRefs(self):
+ self._assertMapped('1d229271928d3f9e2bb0375bd6ce5db6c6d348d9')
+ self._assertMapped('1d2292')
+ self._assertMapped('my_branch')
+
+ def testFetchRefspec(self):
+ def r(revision):
+ return self.repo._ParseRevision(revision)['fetch_refspec']
+
+ self.assertEquals(r('master'), 'master')
+ self.assertEquals(r('refs/heads/master'), 'master')
+ self.assertEquals(r('refs/remotes/origin/master'), 'master')
+ self.assertEquals(r('refs/other'), 'refs/other:refs/other')
+ self.assertEquals(
+ r('refs/remotes/other/master'),
+ 'refs/remotes/other/master:refs/remotes/other/master')
+ self.assertEquals(
+ r('refs/for/master'),
+ 'refs/for/master:refs/for/master')
+
+ def testType(self):
+ def assertBranch(rev):
+ self.assertEquals(self.repo._ParseRevision(rev)['type'], 'branch')
+ def assertHash(rev):
+ self.assertEquals(self.repo._ParseRevision(rev)['type'], 'hash')
+
+ assertBranch('refs/heads/master')
+ assertBranch('refs/remotes/origin/master')
+ assertBranch('origin/master')
+ assertBranch('refs/heads/some_branch')
+ assertBranch('refs/remotes/origin/some_branch')
+ assertBranch('origin/some_branch')
+
+ assertHash('1d229271928d3f9e2bb0375bd6ce5db6c6d348d9')
+ assertHash('1d22927')
+
+ def testRevisionLocalization(self):
+ def r(revision):
+ return self.repo._ParseRevision(revision)['revision']
+
+ self.assertEquals(r('refs/heads/master'), 'refs/heads/master')
+ self.assertEquals(
+ r('refs/remotes/origin/master'),
+ 'refs/remotes/origin/master')
+ self.assertEquals(r('origin/master'), 'refs/heads/master')
+ self.assertEquals(r('origin/other'), 'refs/heads/other')
+
+ self.assertEquals(
+ r('1d229271928d3f9e2bb0375bd6ce5db6c6d348d9'),
+ '1d229271928d3f9e2bb0375bd6ce5db6c6d348d9')
+ self.assertEquals(r('1d22927'), '1d22927')
+
+
if __name__ == '__main__':
if '-v' in sys.argv:
logging.basicConfig(
« gclient_scm.py ('K') | « testing_support/fake_repos.py ('k') | tests/gclient_smoketest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698