summaryrefslogtreecommitdiff
path: root/test/test_installation.py
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 /test/test_installation.py
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
Diffstat (limited to 'test/test_installation.py')
-rw-r--r--test/test_installation.py29
1 files changed, 29 insertions, 0 deletions
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")