summaryrefslogtreecommitdiff
path: root/test/git
diff options
context:
space:
mode:
Diffstat (limited to 'test/git')
-rw-r--r--test/git/test_commit.py2
-rw-r--r--test/git/test_git.py7
-rw-r--r--test/git/test_index.py18
-rw-r--r--test/git/test_remote.py8
-rw-r--r--test/git/test_repo.py12
-rw-r--r--test/git/test_utils.py4
6 files changed, 29 insertions, 22 deletions
diff --git a/test/git/test_commit.py b/test/git/test_commit.py
index be6d1a28..2e3f131e 100644
--- a/test/git/test_commit.py
+++ b/test/git/test_commit.py
@@ -75,7 +75,7 @@ class TestCommit(TestBase):
assert_equal(sha1, commit.sha)
def test_count(self):
- assert self.rorepo.tag('refs/tags/0.1.5').commit.count( ) == 141
+ assert self.rorepo.tag('refs/tags/0.1.5').commit.count( ) == 143
def test_list(self):
assert isinstance(Commit.list_items(self.rorepo, '0.1.5', max_count=5)['5117c9c8a4d3af19a9958677e45cda9269de1541'], Commit)
diff --git a/test/git/test_git.py b/test/git/test_git.py
index c4a39e85..6e4ab394 100644
--- a/test/git/test_git.py
+++ b/test/git/test_git.py
@@ -45,13 +45,6 @@ class TestGit(TestCase):
self.git.hash_object(istream=fh, stdin=True))
fh.close()
- def test_it_handles_large_input(self):
- if sys.platform == 'win32':
- output = self.git.execute(["type", "C:\WINDOWS\system32\cmd.exe"])
- else:
- output = self.git.execute(["cat", "/bin/bash"])
- assert_true(len(output) > 4096) # at least 4k
-
@patch_object(Git, 'execute')
def test_it_ignores_false_kwargs(self, git):
# this_should_not_be_ignored=False implies it *should* be ignored
diff --git a/test/git/test_index.py b/test/git/test_index.py
index e9541232..1a543f82 100644
--- a/test/git/test_index.py
+++ b/test/git/test_index.py
@@ -42,7 +42,7 @@ class TestTree(TestBase):
# write the data - it must match the original
tmpfile = tempfile.mktemp()
index_merge.write(tmpfile)
- fp = open(tmpfile, 'r')
+ fp = open(tmpfile, 'rb')
assert fp.read() == fixture("index_merge")
fp.close()
os.remove(tmpfile)
@@ -164,14 +164,14 @@ class TestTree(TestBase):
# reset the working copy as well to current head,to pull 'back' as well
new_data = "will be reverted"
file_path = os.path.join(rw_repo.git.git_dir, "CHANGES")
- fp = open(file_path, "w")
+ fp = open(file_path, "wb")
fp.write(new_data)
fp.close()
index.reset(rev_head_parent, working_tree=True)
assert not index.diff(None)
assert cur_branch == rw_repo.active_branch
assert cur_commit == rw_repo.head.commit
- fp = open(file_path)
+ fp = open(file_path,'rb')
try:
assert fp.read() != new_data
finally:
@@ -332,7 +332,8 @@ class TestTree(TestBase):
# add fake symlink and assure it checks-our as symlink
fake_symlink_relapath = "my_fake_symlink"
- fake_symlink_path = self._make_file(fake_symlink_relapath, "/etc/that", rw_repo)
+ link_target = "/etc/that"
+ fake_symlink_path = self._make_file(fake_symlink_relapath, link_target, rw_repo)
fake_entry = BaseIndexEntry((0120000, null_sha, 0, fake_symlink_relapath))
entries = index.reset(new_commit).add([fake_entry])
assert len(entries) == 1 and S_ISLNK(entries[0].mode)
@@ -341,5 +342,12 @@ class TestTree(TestBase):
assert not S_ISLNK(os.stat(fake_symlink_path)[ST_MODE])
os.remove(fake_symlink_path)
index.checkout(fake_symlink_path)
- assert S_ISLNK(os.lstat(fake_symlink_path)[ST_MODE])
+
+ # on windows we will never get symlinks
+ if os.name == 'nt':
+ # simlinks should contain the link as text ( which is what a
+ # symlink actually is )
+ open(fake_symlink_path,'rb').read() == link_target
+ else:
+ assert S_ISLNK(os.lstat(fake_symlink_path)[ST_MODE])
diff --git a/test/git/test_remote.py b/test/git/test_remote.py
index 0af9f0cf..700798dd 100644
--- a/test/git/test_remote.py
+++ b/test/git/test_remote.py
@@ -240,7 +240,13 @@ class TestRemote(TestBase):
lhead = rw_repo.head
lindex = rw_repo.index
# assure we are on master and it is checked out where the remote is
- lhead.reference = rw_repo.heads.master
+ try:
+ lhead.reference = rw_repo.heads.master
+ except AttributeError:
+ # if the author is on a non-master branch, the clones might not have
+ # a local master yet. We simply create it
+ lhead.reference = rw_repo.create_head('master')
+ # END master handling
lhead.reset(remote.refs.master, working_tree=True)
# push without spec should fail ( without further configuration )
diff --git a/test/git/test_repo.py b/test/git/test_repo.py
index 0b196a1f..93ab7a90 100644
--- a/test/git/test_repo.py
+++ b/test/git/test_repo.py
@@ -7,15 +7,14 @@
import os, sys
from test.testlib import *
from git import *
+from git.utils import join_path_native
+import tempfile
class TestRepo(TestBase):
@raises(InvalidGitRepositoryError)
def test_new_should_raise_on_invalid_repo_location(self):
- if sys.platform == "win32":
- Repo("C:\\WINDOWS\\Temp")
- else:
- Repo("/tmp")
+ Repo(tempfile.gettempdir())
@raises(NoSuchPathError)
def test_new_should_raise_on_non_existant_path(self):
@@ -220,7 +219,8 @@ class TestRepo(TestBase):
def test_untracked_files(self):
base = self.rorepo.git.git_dir
- files = (base+"/__test_myfile", base+"/__test_other_file")
+ files = ( join_path_native(base, "__test_myfile"),
+ join_path_native(base, "__test_other_file") )
num_recently_untracked = 0
try:
for fpath in files:
@@ -233,7 +233,7 @@ class TestRepo(TestBase):
# assure we have all names - they are relative to the git-dir
num_test_untracked = 0
for utfile in untracked_files:
- num_test_untracked += os.path.join(base, utfile) in files
+ num_test_untracked += join_path_native(base, utfile) in files
assert len(files) == num_test_untracked
finally:
for fpath in files:
diff --git a/test/git/test_utils.py b/test/git/test_utils.py
index 029d2054..69a9297d 100644
--- a/test/git/test_utils.py
+++ b/test/git/test_utils.py
@@ -56,7 +56,7 @@ class TestUtils(TestCase):
def _cmp_contents(self, file_path, data):
# raise if data from file at file_path
# does not match data string
- fp = open(file_path, "r")
+ fp = open(file_path, "rb")
try:
assert fp.read() == data
finally:
@@ -66,7 +66,7 @@ class TestUtils(TestCase):
my_file = tempfile.mktemp()
orig_data = "hello"
new_data = "world"
- my_file_fp = open(my_file, "w")
+ my_file_fp = open(my_file, "wb")
my_file_fp.write(orig_data)
my_file_fp.close()