def test_implicit_supported_platform(): plugins = [ { 'id': '1', 'package_version': '1' }, { 'id': '2', 'package_version': '1' }, { 'id': '3', 'package_version': '1', 'supported_platform': wagon.get_platform() }, { 'id': '4', 'package_version': '1' }, { 'id': '5', 'package_version': '1' }, ] plugin = { 'package_name': 'plugin', 'distribution': 'x', 'distribution_release': 'x', 'package_version': '1' } with _patch_client(plugins=plugins): assert '3' == installer.get_managed_plugin(plugin=plugin).id
def _plugin_installable_on_current_platform(plugin): dist, _, release = platform.linux_distribution( full_distribution_name=False) dist, release = dist.lower(), release.lower() return (plugin['supported_platform'] == 'any' or all([ plugin['supported_platform'] == wagon.get_platform(), plugin['distribution'] == dist, plugin['distribution_release'] == release ]))
def plugin_installable_on_current_platform(plugin): dist, _, release = platform.linux_distribution( full_distribution_name=False) dist, release = dist.lower(), release.lower() # Mac OSX is a special case, in which plugin.distribution and # plugin.release will be None instead of '' if 'macosx' in plugin.supported_platform: dist = dist or None release = release or None return (plugin.supported_platform in ('any', 'manylinux1_x86_64') or all([ plugin.supported_platform == wagon.get_platform(), plugin.distribution == dist, plugin.distribution_release == release ]))
def test_implicit_supported_platform(self): plugins = [ {'id': '1', 'package_version': '1'}, {'id': '2', 'package_version': '1'}, {'id': '3', 'package_version': '1', 'supported_platform': wagon.get_platform()}, {'id': '4', 'package_version': '1'}, {'id': '5', 'package_version': '1'}, ] plugin = {'package_name': 'plugin', 'distribution': 'x', 'distribution_release': 'x', 'package_version': '1'} with _patch_client(plugins=plugins): self.assertEquals('3', installer.get_managed_plugin(plugin=plugin).id)
def _extract_platform_and_distro_info(): current_platform = wagon.get_platform() distribution, _, distribution_release = platform.linux_distribution( full_distribution_name=False) return current_platform, distribution.lower(), distribution_release.lower()
def test_machine_platform(self): assert ('win32' if wagon.IS_WIN else 'linux_x86_64') \ in wagon.get_platform()