diff options
-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") |