Update unit tests
This commit is contained in:
parent
8bbc75148f
commit
08d3dcc82e
2
pygit2.c
2
pygit2.c
@ -887,6 +887,7 @@ static PyTypeObject TreeEntryType = {
|
|||||||
|
|
||||||
static Py_ssize_t
|
static Py_ssize_t
|
||||||
Tree_len(Tree *self) {
|
Tree_len(Tree *self) {
|
||||||
|
assert(self->tree);
|
||||||
return (Py_ssize_t)git_tree_entrycount(self->tree);
|
return (Py_ssize_t)git_tree_entrycount(self->tree);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1102,7 +1103,6 @@ Tag_init(Tag *py_tag, PyObject *args, PyObject *kwds) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO Finish this */
|
|
||||||
if (!PyArg_ParseTuple(args, "O!sO&iO&s", &RepositoryType, &repo,
|
if (!PyArg_ParseTuple(args, "O!sO&iO&s", &RepositoryType, &repo,
|
||||||
&tag_name,
|
&tag_name,
|
||||||
py_str_to_git_oid, &target,
|
py_str_to_git_oid, &target,
|
||||||
|
@ -48,8 +48,6 @@ class IndexTest(utils.RepoTestCase):
|
|||||||
|
|
||||||
def test_read(self):
|
def test_read(self):
|
||||||
index = self.repo.index
|
index = self.repo.index
|
||||||
self.assertEqual(len(index), 0)
|
|
||||||
index.read()
|
|
||||||
self.assertEqual(len(index), 2)
|
self.assertEqual(len(index), 2)
|
||||||
|
|
||||||
self.assertRaises(TypeError, lambda: index[()])
|
self.assertRaises(TypeError, lambda: index[()])
|
||||||
|
@ -55,40 +55,31 @@ class TagTest(utils.BareRepoTestCase):
|
|||||||
|
|
||||||
def test_new_tag(self):
|
def test_new_tag(self):
|
||||||
name = 'thetag'
|
name = 'thetag'
|
||||||
|
target = 'af431f20fc541ed6d5afede3e2dc7160f6f01f16'
|
||||||
message = 'Tag a blob.\n'
|
message = 'Tag a blob.\n'
|
||||||
tagger = ('John Doe', 'jdoe@example.com', 12347)
|
tagger = ('John Doe', 'jdoe@example.com', 12347)
|
||||||
|
|
||||||
tag = pygit2.Tag(self.repo)
|
tag = pygit2.Tag(self.repo, name, target, pygit2.GIT_OBJ_BLOB,
|
||||||
self.assertEqual(None, tag.sha)
|
tagger, message)
|
||||||
self.assertEqual(None, tag.name)
|
|
||||||
self.assertEqual(None, tag.tagger)
|
|
||||||
self.assertEqual(None, tag.message)
|
|
||||||
self.assertEqual(None, tag.target)
|
|
||||||
|
|
||||||
tag.name = name
|
self.assertEqual('3ee44658fd11660e828dfc96b9b5c5f38d5b49bb', tag.sha)
|
||||||
tag.tagger = tagger
|
|
||||||
tag.message = message
|
|
||||||
target = self.repo['af431f20fc541ed6d5afede3e2dc7160f6f01f16']
|
|
||||||
target_sha = target.sha
|
|
||||||
tag.target = target
|
|
||||||
del target
|
|
||||||
self.assertEqual(name, tag.name)
|
self.assertEqual(name, tag.name)
|
||||||
|
self.assertEqual(target, tag.target.sha)
|
||||||
self.assertEqual(tagger, tag.tagger)
|
self.assertEqual(tagger, tag.tagger)
|
||||||
self.assertEqual(target_sha, tag.target.sha)
|
self.assertEqual(message, tag.message)
|
||||||
|
|
||||||
tag.write()
|
|
||||||
self.assertEqual(name, self.repo[tag.sha].name)
|
self.assertEqual(name, self.repo[tag.sha].name)
|
||||||
|
|
||||||
def test_modify_tag(self):
|
def test_modify_tag(self):
|
||||||
message = 'Different message.\n'
|
name = 'thetag'
|
||||||
|
target = 'af431f20fc541ed6d5afede3e2dc7160f6f01f16'
|
||||||
|
message = 'Tag a blob.\n'
|
||||||
|
tagger = ('John Doe', 'jdoe@example.com', 12347)
|
||||||
|
|
||||||
tag = self.repo[TAG_SHA]
|
tag = self.repo[TAG_SHA]
|
||||||
old_sha = tag.sha
|
self.assertRaises(AttributeError, setattr, tag, 'name', name)
|
||||||
self.assertNotEqual(message, tag.message)
|
self.assertRaises(AttributeError, setattr, tag, 'target', target)
|
||||||
tag.message = message
|
self.assertRaises(AttributeError, setattr, tag, 'tagger', tagger)
|
||||||
self.assertEqual(message, tag.message)
|
self.assertRaises(AttributeError, setattr, tag, 'message', message)
|
||||||
tag.write()
|
|
||||||
self.assertNotEqual(old_sha, tag.sha)
|
|
||||||
self.assertEqual(tag.sha, self.repo[tag.sha].sha)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
__author__ = 'dborowitz@google.com (Dave Borowitz)'
|
__author__ = 'dborowitz@google.com (Dave Borowitz)'
|
||||||
|
|
||||||
|
import operator
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import pygit2
|
import pygit2
|
||||||
@ -76,7 +77,10 @@ class TreeTest(utils.BareRepoTestCase):
|
|||||||
self.assertTreeEntryEqual(
|
self.assertTreeEntryEqual(
|
||||||
subtree[0], '297efb891a47de80be0cfe9c639e4b8c9b450989', 'd', 0100644)
|
subtree[0], '297efb891a47de80be0cfe9c639e4b8c9b450989', 'd', 0100644)
|
||||||
|
|
||||||
def test_new_tree(self):
|
# XXX Creating new trees was removed from libgit2 by v0.11.0, we
|
||||||
|
# deactivate this test temporarily, since the feature may come back in
|
||||||
|
# a near feature (if it does not this test will be removed).
|
||||||
|
def xtest_new_tree(self):
|
||||||
tree = pygit2.Tree(self.repo)
|
tree = pygit2.Tree(self.repo)
|
||||||
self.assertEqual(0, len(tree))
|
self.assertEqual(0, len(tree))
|
||||||
tree.add_entry('1' * 40, 'x', 0100644)
|
tree.add_entry('1' * 40, 'x', 0100644)
|
||||||
@ -101,33 +105,8 @@ class TreeTest(utils.BareRepoTestCase):
|
|||||||
|
|
||||||
def test_modify_tree(self):
|
def test_modify_tree(self):
|
||||||
tree = self.repo[TREE_SHA]
|
tree = self.repo[TREE_SHA]
|
||||||
|
self.assertRaises(TypeError, operator.setitem, 'c', tree['a'])
|
||||||
def fail_set():
|
self.assertRaises(TypeError, operator.delitem, 'c')
|
||||||
tree['c'] = tree['a']
|
|
||||||
self.assertRaises(ValueError, fail_set)
|
|
||||||
|
|
||||||
def fail_del_by_name():
|
|
||||||
del tree['asdf']
|
|
||||||
self.assertRaisesWithArg(KeyError, 'asdf', fail_del_by_name)
|
|
||||||
|
|
||||||
def fail_del_by_index():
|
|
||||||
del tree[99]
|
|
||||||
self.assertRaisesWithArg(IndexError, 99, fail_del_by_index)
|
|
||||||
|
|
||||||
self.assertTrue('c' in tree)
|
|
||||||
self.assertEqual(3, len(tree))
|
|
||||||
del tree['c']
|
|
||||||
self.assertEqual(2, len(tree))
|
|
||||||
self.assertFalse('c' in tree)
|
|
||||||
|
|
||||||
tree.add_entry('1' * 40, 'c', 0100644)
|
|
||||||
self.assertTrue('c' in tree)
|
|
||||||
self.assertEqual(3, len(tree))
|
|
||||||
|
|
||||||
old_sha = tree.sha
|
|
||||||
tree.write()
|
|
||||||
self.assertNotEqual(tree.sha, old_sha)
|
|
||||||
self.assertEqual(tree.sha, self.repo[tree.sha].sha)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user