Description
I was about to update python-git package in Debian, and since I am a paranoid fella I wanted to enable build time unittesting. For that I have updated gitdb
to 0.6.0 and smmap to 0.8.3 but now I am getting a plethora of tests failing with 0.3.2.1 (btw -- please use annotated tags for the releases!) and even with tip of 0.3 (0.3.2.1-24-g891b124). Here are erroring and failing tests on my jessie/sid box
======================================================================
ERROR: test_index_merge_tree (git.test.test_index.TestIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 111, in repo_creator
return func(self, rw_repo)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_index.py", line 217, in test_index_merge_tree
unmerged_tree = IndexFile.from_tree(rw_repo, parent_commit, tree, next_commit)
File "/home/yoh/deb/gits/python-git.gitsvn/git/index/base.py", line 335, in from_tree
repo.git.read_tree(*arg_list, **kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/cmd.py", line 242, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/cmd.py", line 540, in _call_process
return self.execute(make_call(), **_kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/cmd.py", line 403, in execute
raise GitCommandError(command, status, stderr_value)
GitCommandError: 'git read-tree --reset --aggressive --index-output=/home/yoh/.tmp/tmp4i1jT3non_bare_test_index_merge_tree/.git/z53Ynf c76852d0bff115720af3f27acdb084c59361e5f6 dbf49515b3c9357beddebdd45994e69690386934 4c39f9da792792d4e73fc3a5effde66576ae128c' returned exit status 128: error: cache entry has null sha1: MANIFEST.in
fatal: unable to write new index file
that directory /home/yoh/.tmp/tmp4i1jT3non_bare_test_index_merge_tree/.git/ is there, and there is MANIFEST.in:
ls /home/yoh/.tmp/tmp4i1jT3non_bare_test_index_merge_tree/
AUTHORS CHANGES LICENSE MANIFEST.in README VERSION doc/ ez_setup.py lib/ setup.py test/
======================================================================
ERROR: test_index_mutation (git.test.test_index.TestIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 111, in repo_creator
return func(self, rw_repo)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_index.py", line 463, in test_index_mutation
[os.path.abspath(os.path.join('lib', 'git', 'head.py'))] * 2, fprogress=self._fprogress_add)
File "/home/yoh/deb/gits/python-git.gitsvn/git/index/base.py", line 690, in add
paths, entries = self._preprocess_add_items(items)
File "/home/yoh/deb/gits/python-git.gitsvn/git/index/base.py", line 552, in _preprocess_add_items
paths.append(self._to_relative_path(item))
File "/home/yoh/deb/gits/python-git.gitsvn/git/index/base.py", line 542, in _to_relative_path
raise ValueError("Absolute path %r is not in git repository at %r" % (path, self.repo.working_tree_dir))
ValueError: Absolute path '/tmp/tmpE34FxXnon_bare_test_index_mutation/lib/git/head.py' is not in git repository at '/home/yoh/.tmp/tmpE34FxXnon_bare_test_index_mutation'
lie:
(git)hopa:~/.tmp/tmpE34FxXnon_bare_test_index_mutation[upstream-0.3]git
$> git status
On branch upstream-0.3
Your branch and 'origin/upstream-0.3' have diverged,
and have 3 and 791 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
Untracked files:
(use "git add <file>..." to include in what will be committed)
lib/
nothing added to commit but untracked files present (use "git add" to track)
3
======================================================================
ERROR: test_base (git.test.test_reflog.TestRefLog)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_reflog.py", line 42, in test_base
reflog = RefLog.from_file(rlp_master_ro)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 157, in from_file
return cls(filepath)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 131, in __init__
self._read_from_file()
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 143, in _read_from_file
self._deserialize(fmap)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 293, in _deserialize
self.extend(self.iter_entries(stream))
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 183, in iter_entries
yield new_entry(line.strip())
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 89, in from_line
raise ValueError("line is missing tab separator")
ValueError: line is missing tab separator
not sure what to check/report
similar one(s):
======================================================================
ERROR: test_reflog (git.test.test_refs.TestRefs)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_refs.py", line 538, in test_reflog
assert isinstance(self.rorepo.heads.master.log(), RefLog)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/symbolic.py", line 351, in log
return RefLog.from_file(RefLog.path(self))
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 157, in from_file
return cls(filepath)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 131, in __init__
self._read_from_file()
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 143, in _read_from_file
self._deserialize(fmap)
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 293, in _deserialize
self.extend(self.iter_entries(stream))
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 183, in iter_entries
yield new_entry(line.strip())
File "/home/yoh/deb/gits/python-git.gitsvn/git/refs/log.py", line 89, in from_line
raise ValueError("line is missing tab separator")
ValueError: line is missing tab separator
4
======================================================================
ERROR: test_fetch_info (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_remote.py", line 454, in test_fetch_info
fetch_info_line_fmt % 'remote-tracking branch')
File "/home/yoh/deb/gits/python-git.gitsvn/git/remote.py", line 260, in _from_line
raise ValueError("Failed to parse FETCH__HEAD line: %r" % fetch_line)
ValueError: Failed to parse FETCH__HEAD line: "c437ee5deb8d00cf02f03720693e4c802e99f390 not-for-merge remote-tracking branch '0.3' of git://github.com/gitpython-developers/GitPython"
probably has to do that local branch is called upstream-0.3. Was initiated with git co --track -b upstream-0.3 upstream/0.3
5
======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_repo.py", line 502, in test_rev_parse
obj = self._assert_rev_parse(path_section)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_repo.py", line 451, in _assert_rev_parse
self._assert_rev_parse_types(rev, obj2)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_repo.py", line 432, in _assert_rev_parse_types
obj = rev_parse(name + ':CHANGES')
File "/home/yoh/deb/gits/python-git.gitsvn/git/repo/fun.py", line 296, in rev_parse
obj = obj[rev[start:]]
File "/home/yoh/deb/gits/python-git.gitsvn/git/objects/tree.py", line 238, in __getitem__
return self.__div__(item)
File "/home/yoh/deb/gits/python-git.gitsvn/git/objects/tree.py", line 192, in __div__
raise KeyError(msg % file)
KeyError: "Blob or Tree named 'CHANGES' not found"
6
======================================================================
ERROR: test_base_rw (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 111, in repo_creator
return func(self, rw_repo)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_submodule.py", line 381, in test_base_rw
self._do_base_tests(rwrepo)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_submodule.py", line 203, in _do_base_tests
sm.update(recursive=True)
File "/home/yoh/deb/gits/python-git.gitsvn/git/objects/submodule/base.py", line 476, in update
submodule.update(recursive, init, to_latest_revision, progress=progress, dry_run=dry_run)
File "/home/yoh/deb/gits/python-git.gitsvn/git/objects/submodule/base.py", line 391, in update
mrepo = git.Repo.clone_from(self.url, module_path, n=True)
File "/home/yoh/deb/gits/python-git.gitsvn/git/repo/base.py", line 753, in clone_from
return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB, progress, **kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/repo/base.py", line 705, in _clone
finalize_process(proc)
File "/home/yoh/deb/gits/python-git.gitsvn/git/util.py", line 132, in finalize_process
proc.wait()
File "/home/yoh/deb/gits/python-git.gitsvn/git/cmd.py", line 114, in wait
raise GitCommandError(self.args, status, self.proc.stderr.read())
GitCommandError: 'git clone -n -v /home/yoh/deb/gits/python-git.gitsvn/git/ext/gitdb/gitdb/ext/async /home/yoh/.tmp/tmpprVOajnon_bare_test_base_rw/git/ext/gitdb/gitdb/ext/async' returned exit status 128: fatal: repository '/home/yoh/deb/gits/python-git.gitsvn/git/ext/gitdb/gitdb/ext/async' does not exist
I do not see anything about defining this one (only gitdb/ext/smmap) in gitdb submodule
7
======================================================================
ERROR: test_root_module (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 111, in repo_creator
return func(self, rw_repo)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_submodule.py", line 464, in test_root_module
nsm = Submodule.add(rwrepo, nsmn, nsmp, url=async_url)
File "/home/yoh/deb/gits/python-git.gitsvn/git/objects/submodule/base.py", line 286, in add
mrepo = git.Repo.clone_from(url, path, **kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/repo/base.py", line 753, in clone_from
return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB, progress, **kwargs)
File "/home/yoh/deb/gits/python-git.gitsvn/git/repo/base.py", line 705, in _clone
finalize_process(proc)
File "/home/yoh/deb/gits/python-git.gitsvn/git/util.py", line 132, in finalize_process
proc.wait()
File "/home/yoh/deb/gits/python-git.gitsvn/git/cmd.py", line 114, in wait
raise GitCommandError(self.args, status, self.proc.stderr.read())
GitCommandError: 'git clone -v /home/yoh/deb/gits/python-git.gitsvn/git/ext/gitdb/gitdb/ext/smmap submrepo' returned exit status 128: fatal: repository '/home/yoh/deb/gits/python-git.gitsvn/git/ext/gitdb/gitdb/ext/smmap' does not exist
because I apparently didn't recurse into init/update submodules within gitdb submod. May be test could be improved to report "Please init/update submodules under git/ext/gitdb" (I found no init --recursive, although there is update --recursive)
8-11
======================================================================
FAIL: test_with_rw_remote_and_rw_repo (git.test.test_base.TestBase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 199, in remote_repo_creator
'Please start a git-daemon to run this test, execute: git-daemon "%s"' % os.path.dirname(_mktemp()))
AssertionError: Please start a git-daemon to run this test, execute: git-daemon "/home/yoh/.tmp"
======================================================================
FAIL: test_iteration (git.test.test_commit.TestCommit)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_commit.py", line 183, in test_iteration
assert len(ltd_commits) < len(less_ltd_commits)
AssertionError
======================================================================
FAIL: test_base (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/lib/helper.py", line 199, in remote_repo_creator
'Please start a git-daemon to run this test, execute: git-daemon "%s"' % os.path.dirname(_mktemp()))
AssertionError: Please start a git-daemon to run this test, execute: git-daemon "/home/yoh/.tmp"
======================================================================
FAIL: test_parse_date (git.test.test_util.TestUtils)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_util.py", line 107, in test_parse_date
assert_rval(parse_date(date), veri_time, offset)
File "/home/yoh/deb/gits/python-git.gitsvn/git/test/test_util.py", line 90, in assert_rval
assert rval[0] == veri_time
AssertionError