summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2020-07-13 10:08:37 +0800
committerGitHub <noreply@github.com>2020-07-13 10:08:37 +0800
commit3edd16ca6e217ee35353564cad3aa2920bc0c2e2 (patch)
tree0f5cd65c1db04255862b8c19f4bf73cab435c4f0
parent9cb7ae8d9721e1269f5bacd6dbc33ecdec4659c0 (diff)
parente0b10d965d6377c409ceb40eb47379d79c3fef9f (diff)
downloadgitpython-3edd16ca6e217ee35353564cad3aa2920bc0c2e2.tar.gz
Merge pull request #1031 from priv-kweihmann/move-test-2nd
[RFC/WIP] move tests and avoid packaging them
-rw-r--r--.deepsource.toml2
-rw-r--r--.gitattributes2
-rw-r--r--.github/workflows/pythonpackage.yml2
-rw-r--r--.travis.yml2
-rw-r--r--MANIFEST.in5
-rwxr-xr-xsetup.py25
-rw-r--r--test-requirements.txt1
-rw-r--r--test/__init__.py (renamed from git/test/__init__.py)0
-rw-r--r--test/fixtures/.gitconfig (renamed from git/test/fixtures/.gitconfig)0
-rw-r--r--test/fixtures/blame (renamed from git/test/fixtures/blame)0
-rw-r--r--test/fixtures/blame_binary (renamed from git/test/fixtures/blame_binary)bin14807 -> 14807 bytes
-rw-r--r--test/fixtures/blame_complex_revision (renamed from git/test/fixtures/blame_complex_revision)0
-rw-r--r--test/fixtures/blame_incremental (renamed from git/test/fixtures/blame_incremental)0
-rw-r--r--test/fixtures/blame_incremental_2.11.1_plus (renamed from git/test/fixtures/blame_incremental_2.11.1_plus)0
-rw-r--r--test/fixtures/cat_file.py (renamed from git/test/fixtures/cat_file.py)0
-rw-r--r--test/fixtures/cat_file_blob (renamed from git/test/fixtures/cat_file_blob)0
-rw-r--r--test/fixtures/cat_file_blob_nl (renamed from git/test/fixtures/cat_file_blob_nl)0
-rw-r--r--test/fixtures/cat_file_blob_size (renamed from git/test/fixtures/cat_file_blob_size)0
-rw-r--r--test/fixtures/commit_invalid_data (renamed from git/test/fixtures/commit_invalid_data)0
-rw-r--r--test/fixtures/commit_with_gpgsig (renamed from git/test/fixtures/commit_with_gpgsig)0
-rw-r--r--test/fixtures/diff_2 (renamed from git/test/fixtures/diff_2)0
-rw-r--r--test/fixtures/diff_2f (renamed from git/test/fixtures/diff_2f)0
-rw-r--r--test/fixtures/diff_abbrev-40_full-index_M_raw_no-color (renamed from git/test/fixtures/diff_abbrev-40_full-index_M_raw_no-color)0
-rw-r--r--test/fixtures/diff_change_in_type (renamed from git/test/fixtures/diff_change_in_type)0
-rw-r--r--test/fixtures/diff_change_in_type_raw (renamed from git/test/fixtures/diff_change_in_type_raw)0
-rw-r--r--test/fixtures/diff_copied_mode (renamed from git/test/fixtures/diff_copied_mode)0
-rw-r--r--test/fixtures/diff_copied_mode_raw (renamed from git/test/fixtures/diff_copied_mode_raw)0
-rw-r--r--test/fixtures/diff_f (renamed from git/test/fixtures/diff_f)0
-rw-r--r--test/fixtures/diff_file_with_spaces (renamed from git/test/fixtures/diff_file_with_spaces)0
-rw-r--r--test/fixtures/diff_i (renamed from git/test/fixtures/diff_i)0
-rw-r--r--test/fixtures/diff_index_patch (renamed from git/test/fixtures/diff_index_patch)14
-rw-r--r--test/fixtures/diff_index_raw (renamed from git/test/fixtures/diff_index_raw)0
-rw-r--r--test/fixtures/diff_initial (renamed from git/test/fixtures/diff_initial)0
-rwxr-xr-xtest/fixtures/diff_mode_only (renamed from git/test/fixtures/diff_mode_only)0
-rw-r--r--test/fixtures/diff_new_mode (renamed from git/test/fixtures/diff_new_mode)0
-rw-r--r--test/fixtures/diff_numstat (renamed from git/test/fixtures/diff_numstat)0
-rw-r--r--test/fixtures/diff_p (renamed from git/test/fixtures/diff_p)0
-rw-r--r--test/fixtures/diff_patch_binary (renamed from git/test/fixtures/diff_patch_binary)0
-rw-r--r--test/fixtures/diff_patch_unsafe_paths (renamed from git/test/fixtures/diff_patch_unsafe_paths)0
-rw-r--r--test/fixtures/diff_raw_binary (renamed from git/test/fixtures/diff_raw_binary)0
-rw-r--r--test/fixtures/diff_rename (renamed from git/test/fixtures/diff_rename)0
-rw-r--r--test/fixtures/diff_rename_raw (renamed from git/test/fixtures/diff_rename_raw)0
-rw-r--r--test/fixtures/diff_tree_numstat_root (renamed from git/test/fixtures/diff_tree_numstat_root)0
-rw-r--r--test/fixtures/for_each_ref_with_path_component (renamed from git/test/fixtures/for_each_ref_with_path_component)bin84 -> 84 bytes
-rw-r--r--test/fixtures/git_config (renamed from git/test/fixtures/git_config)0
-rw-r--r--test/fixtures/git_config-inc.cfg (renamed from git/test/fixtures/git_config-inc.cfg)0
-rw-r--r--test/fixtures/git_config_global (renamed from git/test/fixtures/git_config_global)0
-rw-r--r--test/fixtures/git_config_multiple (renamed from git/test/fixtures/git_config_multiple)0
-rw-r--r--test/fixtures/git_config_with_comments (renamed from git/test/fixtures/git_config_with_comments)0
-rw-r--r--test/fixtures/git_config_with_empty_value (renamed from git/test/fixtures/git_config_with_empty_value)0
-rw-r--r--test/fixtures/git_file (renamed from git/test/fixtures/git_file)0
-rw-r--r--test/fixtures/index (renamed from git/test/fixtures/index)bin163616 -> 163616 bytes
-rw-r--r--test/fixtures/index_merge (renamed from git/test/fixtures/index_merge)bin9192 -> 9192 bytes
-rw-r--r--test/fixtures/issue-301_stderr (renamed from git/test/fixtures/issue-301_stderr)0
-rw-r--r--test/fixtures/ls_tree_a (renamed from git/test/fixtures/ls_tree_a)0
-rw-r--r--test/fixtures/ls_tree_b (renamed from git/test/fixtures/ls_tree_b)0
-rw-r--r--test/fixtures/ls_tree_commit (renamed from git/test/fixtures/ls_tree_commit)0
-rw-r--r--test/fixtures/ls_tree_empty (renamed from git/test/fixtures/ls_tree_empty)0
-rw-r--r--test/fixtures/reflog_HEAD (renamed from git/test/fixtures/reflog_HEAD)0
-rw-r--r--test/fixtures/reflog_invalid_date (renamed from git/test/fixtures/reflog_invalid_date)0
-rw-r--r--test/fixtures/reflog_invalid_email (renamed from git/test/fixtures/reflog_invalid_email)0
-rw-r--r--test/fixtures/reflog_invalid_newsha (renamed from git/test/fixtures/reflog_invalid_newsha)0
-rw-r--r--test/fixtures/reflog_invalid_oldsha (renamed from git/test/fixtures/reflog_invalid_oldsha)0
-rw-r--r--test/fixtures/reflog_invalid_sep (renamed from git/test/fixtures/reflog_invalid_sep)0
-rw-r--r--test/fixtures/reflog_master (renamed from git/test/fixtures/reflog_master)0
-rw-r--r--test/fixtures/rev_list (renamed from git/test/fixtures/rev_list)0
-rw-r--r--test/fixtures/rev_list_bisect_all (renamed from git/test/fixtures/rev_list_bisect_all)0
-rw-r--r--test/fixtures/rev_list_commit_diffs (renamed from git/test/fixtures/rev_list_commit_diffs)0
-rw-r--r--test/fixtures/rev_list_commit_idabbrev (renamed from git/test/fixtures/rev_list_commit_idabbrev)0
-rw-r--r--test/fixtures/rev_list_commit_stats (renamed from git/test/fixtures/rev_list_commit_stats)0
-rw-r--r--test/fixtures/rev_list_count (renamed from git/test/fixtures/rev_list_count)0
-rw-r--r--test/fixtures/rev_list_delta_a (renamed from git/test/fixtures/rev_list_delta_a)0
-rw-r--r--test/fixtures/rev_list_delta_b (renamed from git/test/fixtures/rev_list_delta_b)0
-rw-r--r--test/fixtures/rev_list_single (renamed from git/test/fixtures/rev_list_single)0
-rw-r--r--test/fixtures/rev_parse (renamed from git/test/fixtures/rev_parse)0
-rw-r--r--test/fixtures/show_empty_commit (renamed from git/test/fixtures/show_empty_commit)0
-rw-r--r--test/fixtures/uncommon_branch_prefix_FETCH_HEAD (renamed from git/test/fixtures/uncommon_branch_prefix_FETCH_HEAD)0
-rw-r--r--test/fixtures/uncommon_branch_prefix_stderr (renamed from git/test/fixtures/uncommon_branch_prefix_stderr)0
-rw-r--r--test/lib/__init__.py (renamed from git/test/lib/__init__.py)0
-rw-r--r--test/lib/helper.py (renamed from git/test/lib/helper.py)2
-rw-r--r--test/performance/__init__.py (renamed from git/test/performance/__init__.py)0
-rw-r--r--test/performance/lib.py (renamed from git/test/performance/lib.py)2
-rw-r--r--test/performance/test_commit.py (renamed from git/test/performance/test_commit.py)2
-rw-r--r--test/performance/test_odb.py (renamed from git/test/performance/test_odb.py)0
-rw-r--r--test/performance/test_streams.py (renamed from git/test/performance/test_streams.py)2
-rw-r--r--test/test_actor.py (renamed from git/test/test_actor.py)2
-rw-r--r--test/test_base.py (renamed from git/test/test_base.py)2
-rw-r--r--test/test_blob.py (renamed from git/test/test_blob.py)2
-rw-r--r--test/test_commit.py (renamed from git/test/test_commit.py)4
-rw-r--r--test/test_config.py (renamed from git/test/test_config.py)4
-rw-r--r--test/test_db.py (renamed from git/test/test_db.py)2
-rw-r--r--test/test_diff.py (renamed from git/test/test_diff.py)4
-rw-r--r--test/test_docs.py (renamed from git/test/test_docs.py)4
-rw-r--r--test/test_exc.py (renamed from git/test/test_exc.py)2
-rw-r--r--test/test_fun.py (renamed from git/test/test_fun.py)2
-rw-r--r--test/test_git.py (renamed from git/test/test_git.py)4
-rw-r--r--test/test_index.py (renamed from git/test/test_index.py)4
-rw-r--r--test/test_installation.py29
-rw-r--r--test/test_reflog.py (renamed from git/test/test_reflog.py)2
-rw-r--r--test/test_refs.py (renamed from git/test/test_refs.py)2
-rw-r--r--test/test_remote.py (renamed from git/test/test_remote.py)2
-rw-r--r--test/test_repo.py (renamed from git/test/test_repo.py)6
-rw-r--r--test/test_stats.py (renamed from git/test/test_stats.py)2
-rw-r--r--test/test_submodule.py (renamed from git/test/test_submodule.py)4
-rw-r--r--test/test_tree.py (renamed from git/test/test_tree.py)2
-rw-r--r--test/test_util.py (renamed from git/test/test_util.py)2
106 files changed, 97 insertions, 51 deletions
diff --git a/.deepsource.toml b/.deepsource.toml
index 6e2f9d92..d55288b8 100644
--- a/.deepsource.toml
+++ b/.deepsource.toml
@@ -1,7 +1,7 @@
version = 1
test_patterns = [
- 'git/test/**/test_*.py'
+ 'test/**/test_*.py'
]
exclude_patterns = [
diff --git a/.gitattributes b/.gitattributes
index 872b8eb4..6d2618f2 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,2 @@
-git/test/fixtures/* eol=lf
+test/fixtures/* eol=lf
init-tests-after-clone.sh
diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
index b52cb74b..a4f76522 100644
--- a/.github/workflows/pythonpackage.yml
+++ b/.github/workflows/pythonpackage.yml
@@ -40,7 +40,7 @@ jobs:
git config --global user.name "Travis Runner"
# If we rewrite the user's config by accident, we will mess it up
# and cause subsequent tests to fail
- cat git/test/fixtures/.gitconfig >> ~/.gitconfig
+ cat test/fixtures/.gitconfig >> ~/.gitconfig
- name: Lint with flake8
run: |
set -x
diff --git a/.travis.yml b/.travis.yml
index 9cbd94a8..1fbb1ddb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -36,7 +36,7 @@ script:
# Make sure we limit open handles to see if we are leaking them
- ulimit -n 128
- ulimit -n
- - coverage run --omit="git/test/*" -m unittest --buffer
+ - coverage run --omit="test/*" -m unittest --buffer
- coverage report
- if [ "$TRAVIS_PYTHON_VERSION" == '3.5' ]; then cd doc && make html; fi
- if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then flake8 --ignore=W293,E265,E266,W503,W504,E731; fi
diff --git a/MANIFEST.in b/MANIFEST.in
index e6bf5249..5fd771db 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -5,11 +5,8 @@ include AUTHORS
include CONTRIBUTING.md
include README.md
include requirements.txt
-include test-requirements.txt
recursive-include doc *
-
-graft git/test/fixtures
-graft git/test/performance
+recursive-exclude test *
global-exclude __pycache__ *.pyc
diff --git a/setup.py b/setup.py
index 11a1d6b7..306fd18d 100755
--- a/setup.py
+++ b/setup.py
@@ -9,6 +9,7 @@ except ImportError:
from distutils.command.build_py import build_py as _build_py
from setuptools.command.sdist import sdist as _sdist
+import fnmatch
import os
import sys
from os import path
@@ -66,6 +67,24 @@ def _stamp_version(filename):
print("WARNING: Couldn't find version line in file %s" % filename, file=sys.stderr)
+def build_py_modules(basedir, excludes=[]):
+ # create list of py_modules from tree
+ res = set()
+ _prefix = os.path.basename(basedir)
+ for root, _, files in os.walk(basedir):
+ for f in files:
+ _f, _ext = os.path.splitext(f)
+ if _ext not in [".py"]:
+ continue
+ _f = os.path.join(root, _f)
+ _f = os.path.relpath(_f, basedir)
+ _f = "{}.{}".format(_prefix, _f.replace(os.sep, "."))
+ if any(fnmatch.fnmatch(_f, x) for x in excludes):
+ continue
+ res.add(_f)
+ return list(res)
+
+
setup(
name="GitPython",
cmdclass={'build_py': build_py, 'sdist': sdist},
@@ -74,9 +93,9 @@ setup(
author="Sebastian Thiel, Michael Trier",
author_email="byronimo@gmail.com, mtrier@gmail.com",
url="https://github.com/gitpython-developers/GitPython",
- packages=find_packages('.'),
- py_modules=['git.' + f[:-3] for f in os.listdir('./git') if f.endswith('.py')],
- package_data={'git.test': ['fixtures/*']},
+ packages=find_packages(exclude=("test.*")),
+ include_package_data=True,
+ py_modules=build_py_modules("./git", excludes=["git.ext.*"]),
package_dir={'git': 'git'},
python_requires='>=3.4',
install_requires=requirements,
diff --git a/test-requirements.txt b/test-requirements.txt
index 574c21f0..a85eb683 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,3 +2,4 @@ ddt>=1.1.1
coverage
flake8
tox
+virtualenv
diff --git a/git/test/__init__.py b/test/__init__.py
index 757cbad1..757cbad1 100644
--- a/git/test/__init__.py
+++ b/test/__init__.py
diff --git a/git/test/fixtures/.gitconfig b/test/fixtures/.gitconfig
index 6a0459f6..6a0459f6 100644
--- a/git/test/fixtures/.gitconfig
+++ b/test/fixtures/.gitconfig
diff --git a/git/test/fixtures/blame b/test/fixtures/blame
index 10c141dd..10c141dd 100644
--- a/git/test/fixtures/blame
+++ b/test/fixtures/blame
diff --git a/git/test/fixtures/blame_binary b/test/fixtures/blame_binary
index db78205b..db78205b 100644
--- a/git/test/fixtures/blame_binary
+++ b/test/fixtures/blame_binary
Binary files differ
diff --git a/git/test/fixtures/blame_complex_revision b/test/fixtures/blame_complex_revision
index e2de6d37..e2de6d37 100644
--- a/git/test/fixtures/blame_complex_revision
+++ b/test/fixtures/blame_complex_revision
diff --git a/git/test/fixtures/blame_incremental b/test/fixtures/blame_incremental
index 67310aec..67310aec 100644
--- a/git/test/fixtures/blame_incremental
+++ b/test/fixtures/blame_incremental
diff --git a/git/test/fixtures/blame_incremental_2.11.1_plus b/test/fixtures/blame_incremental_2.11.1_plus
index beee7011..beee7011 100644
--- a/git/test/fixtures/blame_incremental_2.11.1_plus
+++ b/test/fixtures/blame_incremental_2.11.1_plus
diff --git a/git/test/fixtures/cat_file.py b/test/fixtures/cat_file.py
index 5480e628..5480e628 100644
--- a/git/test/fixtures/cat_file.py
+++ b/test/fixtures/cat_file.py
diff --git a/git/test/fixtures/cat_file_blob b/test/fixtures/cat_file_blob
index 70c379b6..70c379b6 100644
--- a/git/test/fixtures/cat_file_blob
+++ b/test/fixtures/cat_file_blob
diff --git a/git/test/fixtures/cat_file_blob_nl b/test/fixtures/cat_file_blob_nl
index 802992c4..802992c4 100644
--- a/git/test/fixtures/cat_file_blob_nl
+++ b/test/fixtures/cat_file_blob_nl
diff --git a/git/test/fixtures/cat_file_blob_size b/test/fixtures/cat_file_blob_size
index b4de3947..b4de3947 100644
--- a/git/test/fixtures/cat_file_blob_size
+++ b/test/fixtures/cat_file_blob_size
diff --git a/git/test/fixtures/commit_invalid_data b/test/fixtures/commit_invalid_data
index d112bf2d..d112bf2d 100644
--- a/git/test/fixtures/commit_invalid_data
+++ b/test/fixtures/commit_invalid_data
diff --git a/git/test/fixtures/commit_with_gpgsig b/test/fixtures/commit_with_gpgsig
index f38cdabd..f38cdabd 100644
--- a/git/test/fixtures/commit_with_gpgsig
+++ b/test/fixtures/commit_with_gpgsig
diff --git a/git/test/fixtures/diff_2 b/test/fixtures/diff_2
index 218b6bae..218b6bae 100644
--- a/git/test/fixtures/diff_2
+++ b/test/fixtures/diff_2
diff --git a/git/test/fixtures/diff_2f b/test/fixtures/diff_2f
index 5246cd6b..5246cd6b 100644
--- a/git/test/fixtures/diff_2f
+++ b/test/fixtures/diff_2f
diff --git a/git/test/fixtures/diff_abbrev-40_full-index_M_raw_no-color b/test/fixtures/diff_abbrev-40_full-index_M_raw_no-color
index dad85c68..dad85c68 100644
--- a/git/test/fixtures/diff_abbrev-40_full-index_M_raw_no-color
+++ b/test/fixtures/diff_abbrev-40_full-index_M_raw_no-color
diff --git a/git/test/fixtures/diff_change_in_type b/test/fixtures/diff_change_in_type
index e0ca7389..e0ca7389 100644
--- a/git/test/fixtures/diff_change_in_type
+++ b/test/fixtures/diff_change_in_type
diff --git a/git/test/fixtures/diff_change_in_type_raw b/test/fixtures/diff_change_in_type_raw
index 0793e1bb..0793e1bb 100644
--- a/git/test/fixtures/diff_change_in_type_raw
+++ b/test/fixtures/diff_change_in_type_raw
diff --git a/git/test/fixtures/diff_copied_mode b/test/fixtures/diff_copied_mode
index 60707afc..60707afc 100644
--- a/git/test/fixtures/diff_copied_mode
+++ b/test/fixtures/diff_copied_mode
diff --git a/git/test/fixtures/diff_copied_mode_raw b/test/fixtures/diff_copied_mode_raw
index 7640f3ab..7640f3ab 100644
--- a/git/test/fixtures/diff_copied_mode_raw
+++ b/test/fixtures/diff_copied_mode_raw
diff --git a/git/test/fixtures/diff_f b/test/fixtures/diff_f
index 48a49256..48a49256 100644
--- a/git/test/fixtures/diff_f
+++ b/test/fixtures/diff_f
diff --git a/git/test/fixtures/diff_file_with_spaces b/test/fixtures/diff_file_with_spaces
index a9f0b06c..a9f0b06c 100644
--- a/git/test/fixtures/diff_file_with_spaces
+++ b/test/fixtures/diff_file_with_spaces
diff --git a/git/test/fixtures/diff_i b/test/fixtures/diff_i
index cec64e1d..cec64e1d 100644
--- a/git/test/fixtures/diff_i
+++ b/test/fixtures/diff_i
diff --git a/git/test/fixtures/diff_index_patch b/test/fixtures/diff_index_patch
index a5a8cff2..f617f8de 100644
--- a/git/test/fixtures/diff_index_patch
+++ b/test/fixtures/diff_index_patch
@@ -56,26 +56,26 @@ index f2233fbf40f3f69309ce5cc714e99fcbdcd33ec3..a88a777df3909a61be97f1a7b1194dad
@@ -1 +1 @@
-Subproject commit f2233fbf40f3f69309ce5cc714e99fcbdcd33ec3
+Subproject commit a88a777df3909a61be97f1a7b1194dad6de25702-dirty
-diff --git a/git/test/fixtures/diff_patch_binary b/git/test/fixtures/diff_patch_binary
+diff --git a/test/fixtures/diff_patch_binary b/test/fixtures/diff_patch_binary
new file mode 100644
index 0000000000000000000000000000000000000000..c92ccd6ebc92a871d38ad7cb8a48bcdb1a5dbc33
--- /dev/null
-+++ b/git/test/fixtures/diff_patch_binary
++++ b/test/fixtures/diff_patch_binary
@@ -0,0 +1,3 @@
+diff --git a/rps b/rps
+index f4567df37451b230b1381b1bc9c2bcad76e08a3c..736bd596a36924d30b480942e9475ce0d734fa0d 100755
+Binary files a/rps and b/rps differ
-diff --git a/git/test/fixtures/diff_raw_binary b/git/test/fixtures/diff_raw_binary
+diff --git a/test/fixtures/diff_raw_binary b/test/fixtures/diff_raw_binary
new file mode 100644
index 0000000000000000000000000000000000000000..d4673fa41ee8413384167fc7b9f25e4daf18a53a
--- /dev/null
-+++ b/git/test/fixtures/diff_raw_binary
++++ b/test/fixtures/diff_raw_binary
@@ -0,0 +1 @@
+:100755 100755 f4567df37451b230b1381b1bc9c2bcad76e08a3c 736bd596a36924d30b480942e9475ce0d734fa0d M rps
-diff --git a/git/test/test_diff.py b/git/test/test_diff.py
+diff --git a/test/test_diff.py b/test/test_diff.py
index ce0f64f2261bd8de063233108caac1f26742c1fd..4de26f8884fd048ac7f10007f2bf7c7fa3fa60f4 100644
---- a/git/test/test_diff.py
-+++ b/git/test/test_diff.py
+--- a/test/test_diff.py
++++ b/test/test_diff.py
@@ -65,6 +65,21 @@ class TestDiff(TestBase):
assert diff.rename_to == 'that'
assert len(list(diffs.iter_change_type('R'))) == 1
diff --git a/git/test/fixtures/diff_index_raw b/test/fixtures/diff_index_raw
index c25f380d..c25f380d 100644
--- a/git/test/fixtures/diff_index_raw
+++ b/test/fixtures/diff_index_raw
diff --git a/git/test/fixtures/diff_initial b/test/fixtures/diff_initial
index 648d7043..648d7043 100644
--- a/git/test/fixtures/diff_initial
+++ b/test/fixtures/diff_initial
diff --git a/git/test/fixtures/diff_mode_only b/test/fixtures/diff_mode_only
index 6fc18f69..6fc18f69 100755
--- a/git/test/fixtures/diff_mode_only
+++ b/test/fixtures/diff_mode_only
diff --git a/git/test/fixtures/diff_new_mode b/test/fixtures/diff_new_mode
index 29705386..29705386 100644
--- a/git/test/fixtures/diff_new_mode
+++ b/test/fixtures/diff_new_mode
diff --git a/git/test/fixtures/diff_numstat b/test/fixtures/diff_numstat
index 44c6ca2d..44c6ca2d 100644
--- a/git/test/fixtures/diff_numstat
+++ b/test/fixtures/diff_numstat
diff --git a/git/test/fixtures/diff_p b/test/fixtures/diff_p
index af4759e5..af4759e5 100644
--- a/git/test/fixtures/diff_p
+++ b/test/fixtures/diff_p
diff --git a/git/test/fixtures/diff_patch_binary b/test/fixtures/diff_patch_binary
index c92ccd6e..c92ccd6e 100644
--- a/git/test/fixtures/diff_patch_binary
+++ b/test/fixtures/diff_patch_binary
diff --git a/git/test/fixtures/diff_patch_unsafe_paths b/test/fixtures/diff_patch_unsafe_paths
index 1aad6754..1aad6754 100644
--- a/git/test/fixtures/diff_patch_unsafe_paths
+++ b/test/fixtures/diff_patch_unsafe_paths
diff --git a/git/test/fixtures/diff_raw_binary b/test/fixtures/diff_raw_binary
index d4673fa4..d4673fa4 100644
--- a/git/test/fixtures/diff_raw_binary
+++ b/test/fixtures/diff_raw_binary
diff --git a/git/test/fixtures/diff_rename b/test/fixtures/diff_rename
index 2d5241e3..2d5241e3 100644
--- a/git/test/fixtures/diff_rename
+++ b/test/fixtures/diff_rename
diff --git a/git/test/fixtures/diff_rename_raw b/test/fixtures/diff_rename_raw
index 92d06d22..92d06d22 100644
--- a/git/test/fixtures/diff_rename_raw
+++ b/test/fixtures/diff_rename_raw
diff --git a/git/test/fixtures/diff_tree_numstat_root b/test/fixtures/diff_tree_numstat_root
index bebdaa6d..bebdaa6d 100644
--- a/git/test/fixtures/diff_tree_numstat_root
+++ b/test/fixtures/diff_tree_numstat_root
diff --git a/git/test/fixtures/for_each_ref_with_path_component b/test/fixtures/for_each_ref_with_path_component
index e723b4ae..e723b4ae 100644
--- a/git/test/fixtures/for_each_ref_with_path_component
+++ b/test/fixtures/for_each_ref_with_path_component
Binary files differ
diff --git a/git/test/fixtures/git_config b/test/fixtures/git_config
index b8c178e3..b8c178e3 100644
--- a/git/test/fixtures/git_config
+++ b/test/fixtures/git_config
diff --git a/git/test/fixtures/git_config-inc.cfg b/test/fixtures/git_config-inc.cfg
index 2368ec20..2368ec20 100644
--- a/git/test/fixtures/git_config-inc.cfg
+++ b/test/fixtures/git_config-inc.cfg
diff --git a/git/test/fixtures/git_config_global b/test/fixtures/git_config_global
index 56fbd3b3..56fbd3b3 100644
--- a/git/test/fixtures/git_config_global
+++ b/test/fixtures/git_config_global
diff --git a/git/test/fixtures/git_config_multiple b/test/fixtures/git_config_multiple
index 03a97568..03a97568 100644
--- a/git/test/fixtures/git_config_multiple
+++ b/test/fixtures/git_config_multiple
diff --git a/git/test/fixtures/git_config_with_comments b/test/fixtures/git_config_with_comments
index e9d4443d..e9d4443d 100644
--- a/git/test/fixtures/git_config_with_comments
+++ b/test/fixtures/git_config_with_comments
diff --git a/git/test/fixtures/git_config_with_empty_value b/test/fixtures/git_config_with_empty_value
index 0427caea..0427caea 100644
--- a/git/test/fixtures/git_config_with_empty_value
+++ b/test/fixtures/git_config_with_empty_value
diff --git a/git/test/fixtures/git_file b/test/fixtures/git_file
index 2efda9f5..2efda9f5 100644
--- a/git/test/fixtures/git_file
+++ b/test/fixtures/git_file
diff --git a/git/test/fixtures/index b/test/fixtures/index
index 40914bac..40914bac 100644
--- a/git/test/fixtures/index
+++ b/test/fixtures/index
Binary files differ
diff --git a/git/test/fixtures/index_merge b/test/fixtures/index_merge
index 2a743455..2a743455 100644
--- a/git/test/fixtures/index_merge
+++ b/test/fixtures/index_merge
Binary files differ
diff --git a/git/test/fixtures/issue-301_stderr b/test/fixtures/issue-301_stderr
index 3da0ed15..3da0ed15 100644
--- a/git/test/fixtures/issue-301_stderr
+++ b/test/fixtures/issue-301_stderr
diff --git a/git/test/fixtures/ls_tree_a b/test/fixtures/ls_tree_a
index 69b76f4a..69b76f4a 100644
--- a/git/test/fixtures/ls_tree_a
+++ b/test/fixtures/ls_tree_a
diff --git a/git/test/fixtures/ls_tree_b b/test/fixtures/ls_tree_b
index 329aff39..329aff39 100644
--- a/git/test/fixtures/ls_tree_b
+++ b/test/fixtures/ls_tree_b
diff --git a/git/test/fixtures/ls_tree_commit b/test/fixtures/ls_tree_commit
index d97aca04..d97aca04 100644
--- a/git/test/fixtures/ls_tree_commit
+++ b/test/fixtures/ls_tree_commit
diff --git a/git/test/fixtures/ls_tree_empty b/test/fixtures/ls_tree_empty
index e69de29b..e69de29b 100644
--- a/git/test/fixtures/ls_tree_empty
+++ b/test/fixtures/ls_tree_empty
diff --git a/git/test/fixtures/reflog_HEAD b/test/fixtures/reflog_HEAD
index 7b2272ac..7b2272ac 100644
--- a/git/test/fixtures/reflog_HEAD
+++ b/test/fixtures/reflog_HEAD
diff --git a/git/test/fixtures/reflog_invalid_date b/test/fixtures/reflog_invalid_date
index 938e4f75..938e4f75 100644
--- a/git/test/fixtures/reflog_invalid_date
+++ b/test/fixtures/reflog_invalid_date
diff --git a/git/test/fixtures/reflog_invalid_email b/test/fixtures/reflog_invalid_email
index 121096aa..121096aa 100644
--- a/git/test/fixtures/reflog_invalid_email
+++ b/test/fixtures/reflog_invalid_email
diff --git a/git/test/fixtures/reflog_invalid_newsha b/test/fixtures/reflog_invalid_newsha
index 0d45bb7a..0d45bb7a 100644
--- a/git/test/fixtures/reflog_invalid_newsha
+++ b/test/fixtures/reflog_invalid_newsha
diff --git a/git/test/fixtures/reflog_invalid_oldsha b/test/fixtures/reflog_invalid_oldsha
index b78605ff..b78605ff 100644
--- a/git/test/fixtures/reflog_invalid_oldsha
+++ b/test/fixtures/reflog_invalid_oldsha
diff --git a/git/test/fixtures/reflog_invalid_sep b/test/fixtures/reflog_invalid_sep
index fddcd6e5..fddcd6e5 100644
--- a/git/test/fixtures/reflog_invalid_sep
+++ b/test/fixtures/reflog_invalid_sep
diff --git a/git/test/fixtures/reflog_master b/test/fixtures/reflog_master
index 2fa13e21..2fa13e21 100644
--- a/git/test/fixtures/reflog_master
+++ b/test/fixtures/reflog_master
diff --git a/git/test/fixtures/rev_list b/test/fixtures/rev_list
index 1a576118..1a576118 100644
--- a/git/test/fixtures/rev_list
+++ b/test/fixtures/rev_list
diff --git a/git/test/fixtures/rev_list_bisect_all b/test/fixtures/rev_list_bisect_all
index 810b6609..810b6609 100644
--- a/git/test/fixtures/rev_list_bisect_all
+++ b/test/fixtures/rev_list_bisect_all
diff --git a/git/test/fixtures/rev_list_commit_diffs b/test/fixtures/rev_list_commit_diffs
index 20397e2e..20397e2e 100644
--- a/git/test/fixtures/rev_list_commit_diffs
+++ b/test/fixtures/rev_list_commit_diffs
diff --git a/git/test/fixtures/rev_list_commit_idabbrev b/test/fixtures/rev_list_commit_idabbrev
index 9385ba71..9385ba71 100644
--- a/git/test/fixtures/rev_list_commit_idabbrev
+++ b/test/fixtures/rev_list_commit_idabbrev
diff --git a/git/test/fixtures/rev_list_commit_stats b/test/fixtures/rev_list_commit_stats
index 60aa8cf5..60aa8cf5 100644
--- a/git/test/fixtures/rev_list_commit_stats
+++ b/test/fixtures/rev_list_commit_stats
diff --git a/git/test/fixtures/rev_list_count b/test/fixtures/rev_list_count
index a802c139..a802c139 100644
--- a/git/test/fixtures/rev_list_count
+++ b/test/fixtures/rev_list_count
diff --git a/git/test/fixtures/rev_list_delta_a b/test/fixtures/rev_list_delta_a
index 023c5515..023c5515 100644
--- a/git/test/fixtures/rev_list_delta_a
+++ b/test/fixtures/rev_list_delta_a
diff --git a/git/test/fixtures/rev_list_delta_b b/test/fixtures/rev_list_delta_b
index aea7187f..aea7187f 100644
--- a/git/test/fixtures/rev_list_delta_b
+++ b/test/fixtures/rev_list_delta_b
diff --git a/git/test/fixtures/rev_list_single b/test/fixtures/rev_list_single
index d8c6431e..d8c6431e 100644
--- a/git/test/fixtures/rev_list_single
+++ b/test/fixtures/rev_list_single
diff --git a/git/test/fixtures/rev_parse b/test/fixtures/rev_parse
index a639d89e..a639d89e 100644
--- a/git/test/fixtures/rev_parse
+++ b/test/fixtures/rev_parse
diff --git a/git/test/fixtures/show_empty_commit b/test/fixtures/show_empty_commit
index ea25e32a..ea25e32a 100644
--- a/git/test/fixtures/show_empty_commit
+++ b/test/fixtures/show_empty_commit
diff --git a/git/test/fixtures/uncommon_branch_prefix_FETCH_HEAD b/test/fixtures/uncommon_branch_prefix_FETCH_HEAD
index 7df36f24..7df36f24 100644
--- a/git/test/fixtures/uncommon_branch_prefix_FETCH_HEAD
+++ b/test/fixtures/uncommon_branch_prefix_FETCH_HEAD
diff --git a/git/test/fixtures/uncommon_branch_prefix_stderr b/test/fixtures/uncommon_branch_prefix_stderr
index 5a6aca65..5a6aca65 100644
--- a/git/test/fixtures/uncommon_branch_prefix_stderr
+++ b/test/fixtures/uncommon_branch_prefix_stderr
diff --git a/git/test/lib/__init__.py b/test/lib/__init__.py
index 1551ce45..1551ce45 100644
--- a/git/test/lib/__init__.py
+++ b/test/lib/__init__.py
diff --git a/git/test/lib/helper.py b/test/lib/helper.py
index 8de66e8a..3412786d 100644
--- a/git/test/lib/helper.py
+++ b/test/lib/helper.py
@@ -29,7 +29,7 @@ skipIf = unittest.skipIf
ospd = osp.dirname
-GIT_REPO = os.environ.get("GIT_PYTHON_TEST_GIT_REPO_BASE", ospd(ospd(ospd(ospd(__file__)))))
+GIT_REPO = os.environ.get("GIT_PYTHON_TEST_GIT_REPO_BASE", ospd(ospd(ospd(__file__))))
GIT_DAEMON_PORT = os.environ.get("GIT_PYTHON_TEST_GIT_DAEMON_PORT", "19418")
__all__ = (
diff --git a/git/test/performance/__init__.py b/test/performance/__init__.py
index e69de29b..e69de29b 100644
--- a/git/test/performance/__init__.py
+++ b/test/performance/__init__.py
diff --git a/git/test/performance/lib.py b/test/performance/lib.py
index 7edffa78..86f87757 100644
--- a/git/test/performance/lib.py
+++ b/test/performance/lib.py
@@ -10,7 +10,7 @@ from git.db import (
GitCmdObjectDB,
GitDB
)
-from git.test.lib import (
+from test.lib import (
TestBase
)
from git.util import rmtree
diff --git a/git/test/performance/test_commit.py b/test/performance/test_commit.py
index 578194a2..4617b052 100644
--- a/git/test/performance/test_commit.py
+++ b/test/performance/test_commit.py
@@ -11,7 +11,7 @@ import sys
from .lib import TestBigRepoRW
from git import Commit
from gitdb import IStream
-from git.test.test_commit import TestCommitSerialization
+from test.test_commit import TestCommitSerialization
class TestPerformance(TestBigRepoRW, TestCommitSerialization):
diff --git a/git/test/performance/test_odb.py b/test/performance/test_odb.py
index 8bd614f2..8bd614f2 100644
--- a/git/test/performance/test_odb.py
+++ b/test/performance/test_odb.py
diff --git a/git/test/performance/test_streams.py b/test/performance/test_streams.py
index cc6f0335..edf32c91 100644
--- a/git/test/performance/test_streams.py
+++ b/test/performance/test_streams.py
@@ -6,7 +6,7 @@ import subprocess
import sys
from time import time
-from git.test.lib import (
+from test.lib import (
with_rw_repo
)
from git.util import bin_to_hex
diff --git a/git/test/test_actor.py b/test/test_actor.py
index 010b82f6..32d16ea7 100644
--- a/git/test/test_actor.py
+++ b/test/test_actor.py
@@ -4,7 +4,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-from git.test.lib import TestBase
+from test.lib import TestBase
from git import Actor
diff --git a/git/test/test_base.py b/test/test_base.py
index 9da7c471..02963ce0 100644
--- a/git/test/test_base.py
+++ b/test/test_base.py
@@ -17,7 +17,7 @@ from git import (
)
from git.compat import is_win
from git.objects.util import get_object_type_by_name
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo,
with_rw_and_rw_remote_repo
diff --git a/git/test/test_blob.py b/test/test_blob.py
index 88c50501..c9c8c48a 100644
--- a/git/test/test_blob.py
+++ b/test/test_blob.py
@@ -4,7 +4,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-from git.test.lib import TestBase
+from test.lib import TestBase
from git import Blob
diff --git a/git/test/test_commit.py b/test/test_commit.py
index 2b901e8b..0292545f 100644
--- a/git/test/test_commit.py
+++ b/test/test_commit.py
@@ -20,13 +20,13 @@ from git import (
from git import Repo
from git.objects.util import tzoffset, utc
from git.repo.fun import touch
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo,
fixture_path,
StringProcessAdapter
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
from gitdb import IStream
import os.path as osp
diff --git a/git/test/test_config.py b/test/test_config.py
index 8418299f..720d775e 100644
--- a/git/test/test_config.py
+++ b/test/test_config.py
@@ -11,12 +11,12 @@ from git import (
GitConfigParser
)
from git.config import _OMD, cp
-from git.test.lib import (
+from test.lib import (
TestCase,
fixture_path,
SkipTest,
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
import os.path as osp
from git.util import rmfile
diff --git a/git/test/test_db.py b/test/test_db.py
index bd16452d..f9090fdd 100644
--- a/git/test/test_db.py
+++ b/test/test_db.py
@@ -5,7 +5,7 @@
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
from git.db import GitCmdObjectDB
from git.exc import BadObject
-from git.test.lib import TestBase
+from test.lib import TestBase
from git.util import bin_to_hex
import os.path as osp
diff --git a/git/test/test_diff.py b/test/test_diff.py
index 0b4c1aa6..378a58de 100644
--- a/git/test/test_diff.py
+++ b/test/test_diff.py
@@ -16,12 +16,12 @@ from git import (
Submodule,
)
from git.cmd import Git
-from git.test.lib import (
+from test.lib import (
TestBase,
StringProcessAdapter,
fixture,
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
import os.path as osp
diff --git a/git/test/test_docs.py b/test/test_docs.py
index 2e4f1dbf..15c8f8d7 100644
--- a/git/test/test_docs.py
+++ b/test/test_docs.py
@@ -6,8 +6,8 @@
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
import os
-from git.test.lib import TestBase
-from git.test.lib.helper import with_rw_directory
+from test.lib import TestBase
+from test.lib.helper import with_rw_directory
import os.path
diff --git a/git/test/test_exc.py b/test/test_exc.py
index 8024ec78..f16498ab 100644
--- a/git/test/test_exc.py
+++ b/test/test_exc.py
@@ -22,7 +22,7 @@ from git.exc import (
HookExecutionError,
RepositoryDirtyError,
)
-from git.test.lib import TestBase
+from test.lib import TestBase
import itertools as itt
diff --git a/git/test/test_fun.py b/test/test_fun.py
index b0d1d8b6..a7fb8f8b 100644
--- a/git/test/test_fun.py
+++ b/test/test_fun.py
@@ -18,7 +18,7 @@ from git.objects.fun import (
from git.repo.fun import (
find_worktree_git_dir
)
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo,
with_rw_directory
diff --git a/git/test/test_git.py b/test/test_git.py
index 1e3cac8f..72c7ef62 100644
--- a/git/test/test_git.py
+++ b/test/test_git.py
@@ -19,11 +19,11 @@ from git import (
cmd
)
from git.compat import is_darwin
-from git.test.lib import (
+from test.lib import (
TestBase,
fixture_path
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
from git.util import finalize_process
import os.path as osp
diff --git a/git/test/test_index.py b/test/test_index.py
index ce14537a..1107f21d 100644
--- a/git/test/test_index.py
+++ b/test/test_index.py
@@ -36,13 +36,13 @@ from git.index.typ import (
IndexEntry
)
from git.objects import Blob
-from git.test.lib import (
+from test.lib import (
TestBase,
fixture_path,
fixture,
with_rw_repo
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
from git.util import Actor, rmtree
from git.util import HIDE_WINDOWS_KNOWN_ERRORS, hex_to_bin
from gitdb.base import IStream
diff --git a/test/test_installation.py b/test/test_installation.py
new file mode 100644
index 00000000..db14bc84
--- /dev/null
+++ b/test/test_installation.py
@@ -0,0 +1,29 @@
+# This module is part of GitPython and is released under
+# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+
+import os
+import subprocess
+from test.lib import TestBase
+from test.lib.helper import with_rw_directory
+
+
+class TestInstallation(TestBase):
+ def setUp_venv(self, rw_dir):
+ self.venv = rw_dir
+ subprocess.run(['virtualenv', self.venv], stdout=subprocess.PIPE)
+ self.python = os.path.join(self.venv, 'bin/python3')
+ self.pip = os.path.join(self.venv, 'bin/pip3')
+ self.sources = os.path.join(self.venv, "src")
+ self.cwd = os.path.dirname(os.path.dirname(__file__))
+ os.symlink(self.cwd, self.sources, target_is_directory=True)
+
+ @with_rw_directory
+ def test_installation(self, rw_dir):
+ self.setUp_venv(rw_dir)
+ result = subprocess.run([self.pip, 'install', '-r', 'requirements.txt'],
+ stdout=subprocess.PIPE, cwd=self.sources)
+ self.assertEqual(0, result.returncode, msg=result.stderr or result.stdout or "Can't install requirements")
+ result = subprocess.run([self.python, 'setup.py', 'install'], stdout=subprocess.PIPE, cwd=self.sources)
+ self.assertEqual(0, result.returncode, msg=result.stderr or result.stdout or "Can't build - setup.py failed")
+ result = subprocess.run([self.python, '-c', 'import git'], stdout=subprocess.PIPE, cwd=self.sources)
+ self.assertEqual(0, result.returncode, msg=result.stderr or result.stdout or "Selftest failed")
diff --git a/git/test/test_reflog.py b/test/test_reflog.py
index db5f2783..a6c15950 100644
--- a/git/test/test_reflog.py
+++ b/test/test_reflog.py
@@ -6,7 +6,7 @@ from git.refs import (
RefLogEntry,
RefLog
)
-from git.test.lib import (
+from test.lib import (
TestBase,
fixture_path
)
diff --git a/git/test/test_refs.py b/test/test_refs.py
index 4a0ebfde..8ab45d22 100644
--- a/git/test/test_refs.py
+++ b/test/test_refs.py
@@ -17,7 +17,7 @@ from git import (
RefLog
)
from git.objects.tag import TagObject
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo
)
diff --git a/git/test/test_remote.py b/test/test_remote.py
index c659dd32..fb7d23c6 100644
--- a/git/test/test_remote.py
+++ b/test/test_remote.py
@@ -22,7 +22,7 @@ from git import (
GitCommandError
)
from git.cmd import Git
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo,
with_rw_and_rw_remote_repo,
diff --git a/git/test/test_repo.py b/test/test_repo.py
index 590e303e..0809175f 100644
--- a/git/test/test_repo.py
+++ b/test/test_repo.py
@@ -36,13 +36,13 @@ from git.exc import (
BadObject,
)
from git.repo.fun import touch
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo,
fixture
)
from git.util import HIDE_WINDOWS_KNOWN_ERRORS, cygpath
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
from git.util import join_path_native, rmtree, rmfile, bin_to_hex
import os.path as osp
@@ -865,7 +865,7 @@ class TestRepo(TestBase):
for _ in range(64):
for repo_type in (GitCmdObjectDB, GitDB):
repo = Repo(self.rorepo.working_tree_dir, odbt=repo_type)
- last_commit(repo, 'master', 'git/test/test_base.py')
+ last_commit(repo, 'master', 'test/test_base.py')
# end for each repository type
# end for each iteration
diff --git a/git/test/test_stats.py b/test/test_stats.py
index 92f5c8aa..2759698a 100644
--- a/git/test/test_stats.py
+++ b/test/test_stats.py
@@ -4,7 +4,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-from git.test.lib import (
+from test.lib import (
TestBase,
fixture
)
diff --git a/git/test/test_submodule.py b/test/test_submodule.py
index dd036b7e..eb821b54 100644
--- a/git/test/test_submodule.py
+++ b/test/test_submodule.py
@@ -19,11 +19,11 @@ from git.repo.fun import (
find_submodule_git_dir,
touch
)
-from git.test.lib import (
+from test.lib import (
TestBase,
with_rw_repo
)
-from git.test.lib import with_rw_directory
+from test.lib import with_rw_directory
from git.util import HIDE_WINDOWS_KNOWN_ERRORS
from git.util import to_native_path_linux, join_path_native
import os.path as osp
diff --git a/git/test/test_tree.py b/test/test_tree.py
index 213e7a95..49b34c5e 100644
--- a/git/test/test_tree.py
+++ b/test/test_tree.py
@@ -12,7 +12,7 @@ from git import (
Tree,
Blob
)
-from git.test.lib import TestBase
+from test.lib import TestBase
from git.util import HIDE_WINDOWS_KNOWN_ERRORS
import os.path as osp
diff --git a/git/test/test_util.py b/test/test_util.py
index 77fbdeb9..26695df5 100644
--- a/git/test/test_util.py
+++ b/test/test_util.py
@@ -21,7 +21,7 @@ from git.objects.util import (
parse_date,
tzoffset,
from_timestamp)
-from git.test.lib import TestBase
+from test.lib import TestBase
from git.util import (
LockFile,
BlockingLockFile,