diff options
author | Mike Frysinger <vapier@google.com> | 2020-02-19 22:21:21 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2020-02-20 06:55:22 +0000 |
commit | a1e24b1f003eea8b053db2ab2586602d71dd1971 (patch) | |
tree | ab35abc6ef837d52e697b3b18916733cb74202a8 | |
parent | e6e27b338b31ec5b1e7567c3639523c3739e4c2e (diff) | |
download | git-repo-a1e24b1f003eea8b053db2ab2586602d71dd1971.tar.gz |
tests: add git_require coverage
Change-Id: I0c8fb45f6d5808caf361240a3a0b68eef670eeaa
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256112
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
-rw-r--r-- | tests/test_git_command.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test_git_command.py b/tests/test_git_command.py index 8d9b5f00..c2d3f1df 100644 --- a/tests/test_git_command.py +++ b/tests/test_git_command.py | |||
@@ -21,7 +21,13 @@ from __future__ import print_function | |||
21 | import re | 21 | import re |
22 | import unittest | 22 | import unittest |
23 | 23 | ||
24 | try: | ||
25 | from unittest import mock | ||
26 | except ImportError: | ||
27 | import mock | ||
28 | |||
24 | import git_command | 29 | import git_command |
30 | import wrapper | ||
25 | 31 | ||
26 | 32 | ||
27 | class GitCallUnitTest(unittest.TestCase): | 33 | class GitCallUnitTest(unittest.TestCase): |
@@ -76,3 +82,45 @@ class UserAgentUnitTest(unittest.TestCase): | |||
76 | # the general form. | 82 | # the general form. |
77 | m = re.match(r'^git/[^ ]+ ([^ ]+) git-repo/[^ ]+', ua) | 83 | m = re.match(r'^git/[^ ]+ ([^ ]+) git-repo/[^ ]+', ua) |
78 | self.assertIsNotNone(m) | 84 | self.assertIsNotNone(m) |
85 | |||
86 | |||
87 | class GitRequireTests(unittest.TestCase): | ||
88 | """Test the git_require helper.""" | ||
89 | |||
90 | def setUp(self): | ||
91 | ver = wrapper.GitVersion(1, 2, 3, 4) | ||
92 | mock.patch.object(git_command.git, 'version_tuple', return_value=ver).start() | ||
93 | |||
94 | def tearDown(self): | ||
95 | mock.patch.stopall() | ||
96 | |||
97 | def test_older_nonfatal(self): | ||
98 | """Test non-fatal require calls with old versions.""" | ||
99 | self.assertFalse(git_command.git_require((2,))) | ||
100 | self.assertFalse(git_command.git_require((1, 3))) | ||
101 | self.assertFalse(git_command.git_require((1, 2, 4))) | ||
102 | self.assertFalse(git_command.git_require((1, 2, 3, 5))) | ||
103 | |||
104 | def test_newer_nonfatal(self): | ||
105 | """Test non-fatal require calls with newer versions.""" | ||
106 | self.assertTrue(git_command.git_require((0,))) | ||
107 | self.assertTrue(git_command.git_require((1, 0))) | ||
108 | self.assertTrue(git_command.git_require((1, 2, 0))) | ||
109 | self.assertTrue(git_command.git_require((1, 2, 3, 0))) | ||
110 | |||
111 | def test_equal_nonfatal(self): | ||
112 | """Test require calls with equal values.""" | ||
113 | self.assertTrue(git_command.git_require((1, 2, 3, 4), fail=False)) | ||
114 | self.assertTrue(git_command.git_require((1, 2, 3, 4), fail=True)) | ||
115 | |||
116 | def test_older_fatal(self): | ||
117 | """Test fatal require calls with old versions.""" | ||
118 | with self.assertRaises(SystemExit) as e: | ||
119 | git_command.git_require((2,), fail=True) | ||
120 | self.assertNotEqual(0, e.code) | ||
121 | |||
122 | def test_older_fatal_msg(self): | ||
123 | """Test fatal require calls with old versions and message.""" | ||
124 | with self.assertRaises(SystemExit) as e: | ||
125 | git_command.git_require((2,), fail=True, msg='so sad') | ||
126 | self.assertNotEqual(0, e.code) | ||