summaryrefslogtreecommitdiff
path: root/pbr/tests/test_packaging.py
diff options
context:
space:
mode:
Diffstat (limited to 'pbr/tests/test_packaging.py')
-rw-r--r--pbr/tests/test_packaging.py35
1 files changed, 27 insertions, 8 deletions
diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py
index 029f378..d01c4fb 100644
--- a/pbr/tests/test_packaging.py
+++ b/pbr/tests/test_packaging.py
@@ -47,16 +47,36 @@ from pbr import packaging
from pbr.tests import base
+class TestRepo(fixtures.Fixture):
+ """A git repo for testing with.
+
+ Use of TempHomeDir with this fixture is strongly recommended as due to the
+ lack of config --local in older gits, it will write to the users global
+ configuration without TempHomeDir.
+ """
+
+ def __init__(self, basedir):
+ super(TestRepo, self).__init__()
+ self._basedir = basedir
+
+ def setUp(self):
+ super(TestRepo, self).setUp()
+ base._run_cmd(['git', 'init', '.'], self._basedir)
+ base._run_cmd(
+ ['git', 'config', '--global', 'user.email', 'example@example.com'],
+ self._basedir)
+ base._run_cmd(['git', 'add', '.'], self._basedir)
+
+ def commit(self):
+ base._run_cmd(['git', 'commit', '-m', 'test commit'], self._basedir)
+
+
class TestPackagingInGitRepoWithCommit(base.BaseTestCase):
def setUp(self):
super(TestPackagingInGitRepoWithCommit, self).setUp()
- self.useFixture(fixtures.TempHomeDir())
- self._run_cmd(
- 'git', ['config', '--global', 'user.email', 'nobody@example.com'])
- self._run_cmd('git', ['init', '.'])
- self._run_cmd('git', ['add', '.'])
- self._run_cmd('git', ['commit', '-m', 'test commit'])
+ repo = self.useFixture(TestRepo(self.package_dir))
+ repo.commit()
self.run_setup('sdist')
return
@@ -77,8 +97,7 @@ class TestPackagingInGitRepoWithoutCommit(base.BaseTestCase):
def setUp(self):
super(TestPackagingInGitRepoWithoutCommit, self).setUp()
- self._run_cmd('git', ['init', '.'])
- self._run_cmd('git', ['add', '.'])
+ self.useFixture(TestRepo(self.package_dir))
self.run_setup('sdist')
return