diff options
author | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-08-06 14:09:36 +0900 |
---|---|---|
committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-08-06 15:25:57 +0900 |
commit | 0a55fe5aa34434e8dc49ddacd050343573c74cb4 (patch) | |
tree | ebc52ccd33aadf5735f54d0ffe3c372c49f8aa16 | |
parent | 7d8c0d8e78624a6b4177f239b7379ae0dc1a63b2 (diff) | |
download | pygerrit-0a55fe5aa34434e8dc49ddacd050343573c74cb4.tar.gz |
Add a unit test to ensure dependency package version consistency
Add a test to make sure that if depencency package versions are updated
that they are updated to consistent versions in both requirements.txt
and setup.py
Change-Id: I855af3246bfb1013f8a462c99fb2d15ef6454998
-rwxr-xr-x | setup.py | 36 | ||||
-rwxr-xr-x | unittests.py | 22 |
2 files changed, 44 insertions, 14 deletions
@@ -28,17 +28,25 @@ from setuptools import setup from pygerrit import __version__ -setup( - name="pygerrit", - description="Client library for interacting with Gerrit", - version=__version__, - license="The MIT License", - author="David Pursehouse", - author_email="david.pursehouse@sonymobile.com", - maintainer="David Pursehouse", - maintainer_email="david.pursehouse@sonymobile.com", - url="https://github.com/sonyxperiadev/pygerrit", - packages=['pygerrit'], - keywords='gerrit, json', - install_requires=['paramiko==1.11.0', 'pycrypto==2.3'], -) +requires = ['paramiko==1.11.0', 'pycrypto==2.3'] + + +def _main(): + setup( + name="pygerrit", + description="Client library for interacting with Gerrit", + version=__version__, + license="The MIT License", + author="David Pursehouse", + author_email="david.pursehouse@sonymobile.com", + maintainer="David Pursehouse", + maintainer_email="david.pursehouse@sonymobile.com", + url="https://github.com/sonyxperiadev/pygerrit", + packages=['pygerrit'], + keywords='gerrit, json', + install_requires=requires, + ) + + +if __name__ == "__main__": + _main() diff --git a/unittests.py b/unittests.py index 9ff0ba3..84a420b 100755 --- a/unittests.py +++ b/unittests.py @@ -36,6 +36,7 @@ from pygerrit.events import PatchsetCreatedEvent, \ ChangeAbandonedEvent, ChangeRestoredEvent, \ DraftPublishedEvent, GerritEventFactory, GerritEvent from pygerrit.client import GerritClient +from setup import requires as setup_requires @GerritEventFactory.register("user-defined-event") @@ -61,6 +62,27 @@ def _create_event(name, gerrit): gerrit.put_event(json_data) +class TestConsistentDependencies(unittest.TestCase): + + """ Verify that dependency package versions are consistent. """ + + def test_dependencies(self): + requirements_txt = {} + setup_py = {} + + for package in open("requirements.txt").read().strip().splitlines(): + name, version = package.split('==') + requirements_txt[name] = version + + for package in setup_requires: + name, version = package.split('==') + setup_py[name] = version + + self.assertEquals(requirements_txt, setup_py, + "Inconsistency between dependency package versions " + "listed in requirements.txt and setup.py") + + class TestGerritEvents(unittest.TestCase): def setUp(self): self.gerrit = GerritClient("review") |