Merge "Exit the loop when we don't have a package"

This commit is contained in:
Jenkins 2017-04-21 11:57:37 +00:00 committed by Gerrit Code Review
commit 8ba142647e
2 changed files with 12 additions and 0 deletions

View File

@ -206,6 +206,7 @@ class Depends(object):
installed = self.platform.get_pkg_version(rule[0])
if not installed:
missing.add(rule[0])
continue
for operator, constraint in rule[2]:
if not _eval(installed, operator, constraint):
incompatible.append(

View File

@ -255,6 +255,17 @@ class TestDepends(TestCase):
[('missing', ['foo'])], depends.check_rules([("foo", [], [])]))
mock_depend_platform.assert_called_once_with("foo")
def test_check_rule_missing_version(self):
depends = Depends("")
depends.platform = mock.MagicMock()
mock_depend_platform = self.useFixture(
fixtures.MockPatchObject(depends.platform, 'get_pkg_version',
return_value=None)).mock
self.assertEqual(
[('missing', ['foo'])],
depends.check_rules([("foo", [], [(">=", "1.2.3")])]))
mock_depend_platform.assert_called_once_with("foo")
def test_check_rule_present(self):
depends = Depends("")
depends.platform = mock.MagicMock()