Merge "Remove duplicate git setup in tests."

This commit is contained in:
Jenkins 2014-03-31 01:45:26 +00:00 committed by Gerrit Code Review
commit 35b34b77bf
2 changed files with 31 additions and 8 deletions

View File

@ -92,6 +92,10 @@ class BaseTestCase(testtools.TestCase, testresources.ResourcedTestCase):
self.log_fixture = self.useFixture(
fixtures.FakeLogger('pbr'))
# Older git does not have config --local, so create a temporary home
# directory to permit using git config --global without stepping on
# developer configuration.
self.useFixture(fixtures.TempHomeDir())
self.useFixture(fixtures.NestedTempfile())
self.useFixture(fixtures.FakeLogger())
self.useFixture(fixtures.EnvironmentVariable('PBR_VERSION', '0.0'))

View File

@ -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