summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/git/test_commit.py74
-rw-r--r--test/git/test_repo.py2
-rw-r--r--test/git/test_tree.py4
-rw-r--r--test/testlib/asserts.py16
4 files changed, 60 insertions, 36 deletions
diff --git a/test/git/test_commit.py b/test/git/test_commit.py
index 79768c3f..ab1801ee 100644
--- a/test/git/test_commit.py
+++ b/test/git/test_commit.py
@@ -36,21 +36,25 @@ class TestCommit(object):
diffs = Commit.diff(self.repo, 'master')
assert_equal(15, len(diffs))
+
+ diff = diffs[0]
+ assert_equal('.gitignore', diff.a_blob.path)
+ assert_equal('.gitignore', diff.b_blob.path)
+ assert_equal('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666', diff.a_blob.id)
+ assert_equal('2dd02534615434d88c51307beb0f0092f21fd103', diff.b_blob.id)
+
+ assert_mode_644(diff.b_blob.mode)
+
+ assert_equal(False, diff.new_file)
+ assert_equal(False, diff.deleted_file)
+ assert_equal("--- a/.gitignore\n+++ b/.gitignore\n@@ -1 +1,2 @@\n coverage\n+pkg", diff.diff)
- assert_equal('.gitignore', diffs[0].a_blob.path)
- assert_equal('.gitignore', diffs[0].b_blob.path)
- assert_equal('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666', diffs[0].a_blob.id)
- assert_equal('2dd02534615434d88c51307beb0f0092f21fd103', diffs[0].b_blob.id)
- assert_equal('100644', diffs[0].b_blob.mode)
- assert_equal(False, diffs[0].new_file)
- assert_equal(False, diffs[0].deleted_file)
- assert_equal("--- a/.gitignore\n+++ b/.gitignore\n@@ -1 +1,2 @@\n coverage\n+pkg", diffs[0].diff)
-
- assert_equal('lib/grit/actor.rb', diffs[5].b_blob.path)
- assert_equal(None, diffs[5].a_blob)
- assert_equal('f733bce6b57c0e5e353206e692b0e3105c2527f4', diffs[5].b_blob.id)
- assert_equal( None, diffs[5].a_mode )
- assert_equal(True, diffs[5].new_file)
+ diff = diffs[5]
+ assert_equal('lib/grit/actor.rb', diff.b_blob.path)
+ assert_equal(None, diff.a_blob)
+ assert_equal('f733bce6b57c0e5e353206e692b0e3105c2527f4', diff.b_blob.id)
+ assert_equal( None, diff.a_mode )
+ assert_equal(True, diff.new_file)
assert_true(git.called)
assert_equal(git.call_args, (('diff', '-M', 'master'), {'full_index': True}))
@@ -115,19 +119,21 @@ class TestCommit(object):
assert_equal(15, len(diffs))
- assert_equal('.gitignore', diffs[0].a_blob.path)
- assert_equal('.gitignore', diffs[0].b_blob.path)
- assert_equal('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666', diffs[0].a_blob.id)
- assert_equal('2dd02534615434d88c51307beb0f0092f21fd103', diffs[0].b_blob.id)
- assert_equal('100644', diffs[0].b_blob.mode)
- assert_equal(False, diffs[0].new_file)
- assert_equal(False, diffs[0].deleted_file)
- assert_equal("--- a/.gitignore\n+++ b/.gitignore\n@@ -1 +1,2 @@\n coverage\n+pkg", diffs[0].diff)
-
- assert_equal('lib/grit/actor.rb', diffs[5].b_blob.path)
- assert_equal(None, diffs[5].a_blob)
- assert_equal('f733bce6b57c0e5e353206e692b0e3105c2527f4', diffs[5].b_blob.id)
- assert_equal(True, diffs[5].new_file)
+ diff = diffs[0]
+ assert_equal('.gitignore', diff.a_blob.path)
+ assert_equal('.gitignore', diff.b_blob.path)
+ assert_equal('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666', diff.a_blob.id)
+ assert_equal('2dd02534615434d88c51307beb0f0092f21fd103', diff.b_blob.id)
+ assert_mode_644(diff.b_blob.mode)
+ assert_equal(False, diff.new_file)
+ assert_equal(False, diff.deleted_file)
+ assert_equal("--- a/.gitignore\n+++ b/.gitignore\n@@ -1 +1,2 @@\n coverage\n+pkg", diff.diff)
+
+ diff = diffs[5]
+ assert_equal('lib/grit/actor.rb', diff.b_blob.path)
+ assert_equal(None, diff.a_blob)
+ assert_equal('f733bce6b57c0e5e353206e692b0e3105c2527f4', diff.b_blob.id)
+ assert_equal(True, diff.new_file)
assert_true(git.called)
assert_equal(git.call_args, (('diff', '-M',
@@ -141,8 +147,14 @@ class TestCommit(object):
for diff in commit.diffs:
assert isinstance(diff, Diff)
assert isinstance(diff.a_blob, Blob) or isinstance(diff.b_blob, Blob)
- assert isinstance(diff.a_mode, int) and isinstance(diff.b_mode, int)
- assert diff.diff
+
+ if diff.a_mode is not None:
+ assert isinstance(diff.a_mode, int)
+ if diff.b_mode is not None:
+ isinstance(diff.b_mode, int)
+
+ assert diff.diff is not None # can be empty
+
if diff.renamed:
assert diff.rename_from and diff.rename_to and diff.rename_from != diff.rename_to
if diff.a_blob is None:
@@ -171,8 +183,8 @@ class TestCommit(object):
assert_equal(1, len(diffs))
assert_equal(None, diffs[0].a_blob)
assert_equal(None, diffs[0].b_blob)
- assert_equal('100644', diffs[0].a_mode)
- assert_equal('100755', diffs[0].b_mode)
+ assert_mode_644(diffs[0].a_mode)
+ assert_mode_755(diffs[0].b_mode)
def test_stats(self):
commit = Commit(self.repo, id='33ebe7acec14b25c5f84f35a664803fcab2f7781')
diff --git a/test/git/test_repo.py b/test/git/test_repo.py
index d4316981..aec85506 100644
--- a/test/git/test_repo.py
+++ b/test/git/test_repo.py
@@ -58,7 +58,7 @@ class TestRepo(object):
assert_equal("implement Grit#heads", c.message)
c = commits[1]
- assert_equal([], c.parents)
+ assert_equal((,), c.parents)
c = commits[2]
assert_equal(["6e64c55896aabb9a7d8e9f8f296f426d21a78c2c", "7f874954efb9ba35210445be456c74e037ba6af2"], map(lambda p: p.id, c.parents))
diff --git a/test/git/test_tree.py b/test/git/test_tree.py
index 205fbf1a..50d34006 100644
--- a/test/git/test_tree.py
+++ b/test/git/test_tree.py
@@ -31,7 +31,7 @@ class TestTree(object):
assert_equal(Tree, tree.__class__)
assert_equal("650fa3f0c17f1edb4ae53d8dcca4ac59d86e6c44", tree.id)
- assert_equal("040000", tree.mode)
+ assert_equal(0,tree.mode) # git tree objects always use this mode
assert_equal("test", tree.path)
def test_content_from_string_tree_should_return_blob(self):
@@ -41,7 +41,7 @@ class TestTree(object):
assert_equal(Blob, tree.__class__)
assert_equal("aa94e396335d2957ca92606f909e53e7beaf3fbb", tree.id)
- assert_equal("100644", tree.mode)
+ assert_mode_644(tree.mode)
assert_equal("grit.rb", tree.path)
def test_content_from_string_tree_should_return_commit(self):
diff --git a/test/testlib/asserts.py b/test/testlib/asserts.py
index 345f74ec..46fcf20e 100644
--- a/test/testlib/asserts.py
+++ b/test/testlib/asserts.py
@@ -8,10 +8,12 @@ import re
import unittest
from nose import tools
from nose.tools import *
+import stat
__all__ = ['assert_instance_of', 'assert_not_instance_of',
'assert_none', 'assert_not_none',
- 'assert_match', 'assert_not_match'] + tools.__all__
+ 'assert_match', 'assert_not_match', 'assert_mode_644',
+ 'assert_mode_755'] + tools.__all__
def assert_instance_of(expected, actual, msg=None):
"""Verify that object is an instance of expected """
@@ -35,4 +37,14 @@ def assert_match(pattern, string, msg=None):
def assert_not_match(pattern, string, msg=None):
"""verify that the pattern does not match the string"""
- assert_none(re.search(pattern, string), msg) \ No newline at end of file
+ assert_none(re.search(pattern, string), msg)
+
+def assert_mode_644(mode):
+ """Verify given mode is 644"""
+ assert (mode & stat.S_IROTH) and (mode & stat.S_IRGRP)
+ assert (mode & stat.S_IWUSR) and (mode & stat.S_IRUSR) and not (mode & stat.S_IXUSR)
+
+def assert_mode_755(mode):
+ """Verify given mode is 755"""
+ assert (mode & stat.S_IROTH) and (mode & stat.S_IRGRP) and (mode & stat.S_IXOTH) and (mode & stat.S_IXGRP)
+ assert (mode & stat.S_IWUSR) and (mode & stat.S_IRUSR) and (mode & stat.S_IXUSR) \ No newline at end of file