From 975e05764703067ff4186792ee21093460a1b068 Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Mon, 9 Sep 2019 11:13:34 +0100 Subject: [PATCH] Fix test execution failure on Darwin Because we forgot to mock platform.system() it was impossible to run unittests on Darwin. This also introduces a minimal unittest for Darwin itself, checking that it recognizes brew. Change-Id: Iff77e46b8b550d13e825712567266532edb03fa6 --- bindep/tests/test_depends.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bindep/tests/test_depends.py b/bindep/tests/test_depends.py index 3c4224a..04e1101 100644 --- a/bindep/tests/test_depends.py +++ b/bindep/tests/test_depends.py @@ -32,6 +32,7 @@ from testtools.matchers import MatchesSetwise from testtools import TestCase from bindep.depends import _eval +from bindep.depends import Brew from bindep.depends import Depends from bindep.depends import Dpkg from bindep.depends import Emerge @@ -59,6 +60,12 @@ class DistroFixture(fixtures.Fixture): 'etc', 'os-release') mydistro = distro.LinuxDistribution(False, os_release, 'non') self.useFixture(fixtures.MonkeyPatch('distro._distro', mydistro)) + if self.distro_name not in ['darwin']: + self.useFixture(fixtures.MonkeyPatch( + 'platform.system', lambda *x: 'Linux')) + else: + self.useFixture(fixtures.MonkeyPatch( + 'distro.id', lambda *x: self.distro_name)) class TestDepends(TestCase): @@ -252,6 +259,20 @@ class TestDepends(TestCase): depends.platform_profiles(), Contains("platform:rpm")) self.assertIsInstance(depends.platform, Rpm) + def test_darwin_implies_brew(self): + with self._mock_platform_darwin("Darwin"): + with DistroFixture("Darwin"): + # to make it believe `which brew` succeeded + self.useFixture( + fixtures.MockPatchObject( + os, + 'system', + return_value=0)).mock + depends = Depends("") + self.assertThat( + depends.platform_profiles(), Contains("platform:brew")) + self.assertIsInstance(depends.platform, Brew) + def test_rhel_implies_rpm(self): with DistroFixture("RHELServer7"): depends = Depends("")