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

Unified Diff: infra/libs/git2/test/ref_test.py

Issue 413983003: Refactor infra git libs and testing. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Address comments Created 6 years, 5 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: infra/libs/git2/test/ref_test.py
diff --git a/infra/libs/git2/test/ref_test.py b/infra/libs/git2/test/ref_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e6940eb67a7d23a9d727b3ec29a5400f7ab225e
--- /dev/null
+++ b/infra/libs/git2/test/ref_test.py
@@ -0,0 +1,68 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from infra.libs import git2
+from infra.libs.git2.test import test_util
+
+
+class TestRef(test_util.TestBasis):
+ def testComparison(self):
+ r = self.mkRepo()
+ O = r['refs/heads/branch_O']
+ self.assertEqual(O, O)
+ self.assertEqual(O, r['refs/heads/branch_O'])
+
+ N = r['refs/heads/branch_K']
+ self.assertNotEqual(O, N)
+
+ def testRepr(self):
+ r = self.mkRepo()
+ O = r['refs/heads/branch_O']
+ self.assertEqual("Ref(%r, 'refs/heads/branch_O')" % r, repr(O))
+
+ def testCommit(self):
+ r = self.mkRepo()
+ self.assertEqual(
+ r['refs/heads/branch_O'].commit.hsh,
+ self.repo['O'])
+
+ def testCommitBogus(self):
+ r = self.mkRepo()
+ self.assertIs(r['refs/heads/bogus'].commit, git2.INVALID)
+ # exercise __ne__ and __eq__
+ self.assertNotEqual(r['refs/heads/bogus'].commit,
+ r['refs/heads/other_bogus'].commit)
+ self.assertFalse(r['refs/heads/bogus'].commit ==
+ r['refs/heads/other_bogus'].commit)
+
+ def testTo(self):
+ r = self.mkRepo()
+ A = r['refs/heads/root_A']
+ O = r['refs/heads/branch_O']
+ self.assertEqual(
+ list(c.hsh for c in A.to(O)),
+ [self.repo[c] for c in 'BCDLMNO']
+ )
+
+ def testNonFastForward(self):
+ r = self.mkRepo()
+ O = r['refs/heads/branch_O']
+ D = r.get_commit(self.repo['D'])
+ with self.assertRaises(git2.CalledProcessError):
+ O.fast_forward_push(D)
+ self.assertEqual(
+ self.repo.git('rev-parse', 'branch_O').stdout.strip(),
+ self.repo['O'])
+
+ def testFastForward(self):
+ r = self.mkRepo()
+ O = r['refs/heads/branch_O']
+ S = r.get_commit(self.repo['S'])
+ self.capture_stdio(O.fast_forward_push, S)
+ self.assertEqual(O.commit.hsh, self.repo['S'])
+ self.assertEqual(
+ self.repo.git('rev-parse', 'branch_O').stdout.strip(),
+ self.repo['S'])
+
+

Powered by Google App Engine
This is Rietveld 408576698