diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-03-31 01:45:26 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-03-31 01:45:26 +0000 |
commit | 35b34b77bf9e8fc72bb2c50331c7ca16f7a9f78b (patch) | |
tree | bf68d494afb76093a32a461faf34fc2e16de6e70 | |
parent | 95c86cbed7b10ae7385b0b894600c763decd2558 (diff) | |
parent | 542cd8057e81476857919cda9714d31cf9cdff01 (diff) | |
download | pbr-35b34b77bf9e8fc72bb2c50331c7ca16f7a9f78b.tar.gz |
Merge "Remove duplicate git setup in tests."
-rw-r--r-- | pbr/tests/base.py | 4 | ||||
-rw-r--r-- | pbr/tests/test_packaging.py | 35 |
2 files changed, 31 insertions, 8 deletions
diff --git a/pbr/tests/base.py b/pbr/tests/base.py index f18dadc..6c31bc9 100644 --- a/pbr/tests/base.py +++ b/pbr/tests/base.py @@ -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')) 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 |