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
This commit is contained in:
parent
b4f63c737b
commit
975e057647
|
@ -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("")
|
||||
|
|
Loading…
Reference in New Issue