Add more unit tests for revision walking
Signed-off-by: J. David Ibañez <jdavid@itaapy.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								pygit2.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								pygit2.c
									
									
									
									
									
								
							| @@ -373,8 +373,7 @@ Repository_walk(Repository *self, PyObject *args) | ||||
|     git_revwalk *walk; | ||||
|     Walker *py_walker; | ||||
|  | ||||
|     sort = GIT_SORT_TOPOLOGICAL | GIT_SORT_REVERSE; | ||||
|     if (!PyArg_ParseTuple(args, "O|I", &value, &sort)) | ||||
|     if (!PyArg_ParseTuple(args, "OI", &value, &sort)) | ||||
|         return NULL; | ||||
|  | ||||
|     if (value != Py_None && !PyString_Check(value)) { | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -50,16 +50,16 @@ class IndexTest(utils.RepoTestCase): | ||||
|         index = self.repo.index | ||||
|         self.assertEqual(len(index), 0) | ||||
|         index.read() | ||||
|         self.assertEqual(len(index), 1) | ||||
|         self.assertEqual(len(index), 2) | ||||
|  | ||||
|         self.assertRaises(TypeError, lambda: index[()]) | ||||
|         self.assertRaisesWithArg(ValueError, -4, lambda: index[-4]) | ||||
|         self.assertRaisesWithArg(KeyError, 'abc', lambda: index['abc']) | ||||
|  | ||||
|         sha = '3b18e512dba79e4c8300dd08aeb37f8e728b8dad' | ||||
|         sha = 'a520c24d85fbfc815d385957eed41406ca5a860b' | ||||
|         self.assertTrue('hello.txt' in index) | ||||
|         self.assertEqual(index['hello.txt'].sha, sha) | ||||
|         self.assertEqual(index[0].sha, sha) | ||||
|         self.assertEqual(index[1].sha, sha) | ||||
|  | ||||
|     def test_add(self): | ||||
|         index = self.repo.index | ||||
| @@ -69,13 +69,13 @@ class IndexTest(utils.RepoTestCase): | ||||
|         self.assertFalse('bye.txt' in index) | ||||
|         index.add('bye.txt', 0) | ||||
|         self.assertTrue('bye.txt' in index) | ||||
|         self.assertEqual(len(index), 2) | ||||
|         self.assertEqual(len(index), 3) | ||||
|         self.assertEqual(index['bye.txt'].sha, sha) | ||||
|  | ||||
|     def test_clear(self): | ||||
|         index = self.repo.index | ||||
|         index.read() | ||||
|         self.assertEqual(len(index), 1) | ||||
|         self.assertEqual(len(index), 2) | ||||
|         index.clear() | ||||
|         self.assertEqual(len(index), 0) | ||||
|  | ||||
|   | ||||
| @@ -30,12 +30,37 @@ | ||||
|  | ||||
| __author__ = 'jdavid@itaapy.com (J. David Ibáñez)' | ||||
|  | ||||
| import unittest | ||||
|  | ||||
| from pygit2 import GIT_SORT_TIME, GIT_SORT_REVERSE | ||||
| import utils | ||||
|  | ||||
| # In the order given by git log | ||||
| log = [ | ||||
|     '2be5719152d4f82c7302b1c0932d8e5f0a4a0e98', | ||||
|     '5ebeeebb320790caf276b9fc8b24546d63316533', | ||||
|     '4ec4389a8068641da2d6578db0419484972284c8', | ||||
|     '6aaa262e655dd54252e5813c8e5acd7780ed097d', | ||||
|     'acecd5ea2924a4b900e7e149496e1f4b57976e51'] | ||||
|  | ||||
| class WalkerTest(utils.BareRepoTestCase): | ||||
|  | ||||
| class WalkerTest(utils.RepoTestCase): | ||||
|  | ||||
|     def test_walk(self): | ||||
|         history = self.repo.walk("5fe808e8953c12735680c257f56600cb0de44b10") | ||||
|         history = list(history) | ||||
|         self.assertEqual(len(history), 2) | ||||
|         walker = self.repo.walk(log[0], GIT_SORT_TIME) | ||||
|         out = [ x.sha for x in walker ] | ||||
|         self.assertEqual(out, log) | ||||
|  | ||||
|     def test_reverse(self): | ||||
|         walker = self.repo.walk(log[0], GIT_SORT_TIME | GIT_SORT_REVERSE) | ||||
|         out = [ x.sha for x in walker ] | ||||
|         self.assertEqual(out, list(reversed(log))) | ||||
|  | ||||
|     def test_hide(self): | ||||
|         walker = self.repo.walk(log[0], GIT_SORT_TIME) | ||||
|         walker.hide('4ec4389a8068641da2d6578db0419484972284c8') | ||||
|         self.assertEqual(len(list(walker)), 2) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 J. David Ibañez
					J. David Ibañez