Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Unified Diff: scripts/slave/recipe_modules/platform/api.py

Issue 1241323004: Cross-repo recipe package system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Roll to latest recipes-py Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: scripts/slave/recipe_modules/platform/api.py
diff --git a/scripts/slave/recipe_modules/platform/api.py b/scripts/slave/recipe_modules/platform/api.py
deleted file mode 100644
index 97e57b23895e5c1b9cc5bfdcde58c89b75f2a552..0000000000000000000000000000000000000000
--- a/scripts/slave/recipe_modules/platform/api.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-import platform
-
-from recipe_engine import recipe_api
-
-
-def norm_plat(plat):
- if plat.startswith('linux'):
- return 'linux'
- elif plat.startswith(('win', 'cygwin')):
- return 'win'
- elif plat.startswith(('darwin', 'mac')):
- return 'mac'
- else: # pragma: no cover
- raise ValueError('Don\'t understand platform "%s"' % plat)
-
-
-def norm_bits(arch):
- return 64 if '64' in str(arch) else 32
-
-
-class PlatformApi(recipe_api.RecipeApi):
- """
- Provides host-platform-detection properties.
-
- Mocks:
- name (str): A value equivalent to something that might be returned by
- sys.platform.
- bits (int): Either 32 or 64.
- """
-
- def __init__(self, **kwargs):
- super(PlatformApi, self).__init__(**kwargs)
- self._name = norm_plat(sys.platform)
-
- self._arch = 'intel'
- self._bits = norm_bits(platform.machine())
-
- if self._test_data.enabled:
- # Default to linux/64, unless test case says otherwise.
- self._name = norm_plat(self._test_data.get('name', 'linux'))
- self._bits = norm_bits(self._test_data.get('bits', 64))
- else: # pragma: no cover
- # platform.machine is based on running kernel. It's possible to use 64-bit
- # kernel with 32-bit userland, e.g. to give linker slightly more memory.
- # Distinguish between different userland bitness by querying
- # the python binary.
- if (self._name == 'linux' and
- self._bits == 64 and
- platform.architecture()[0] == '32bit'):
- self._bits = 32
- # On Mac, the inverse of the above is true: the kernel is 32-bit but the
- # CPU and userspace both are capable of running 64-bit programs.
- elif (self._name == 'mac' and
- self._bits == 32 and
- platform.architecture()[0] == '64bit'):
- self._bits = 64
-
- @property
- def is_win(self):
- return self.name == 'win'
-
- @property
- def is_mac(self):
- return self.name == 'mac'
-
- @property
- def is_linux(self):
- return self.name == 'linux'
-
- @property
- def name(self):
- return self._name
-
- @property
- def bits(self):
- # The returned bitness corresponds to the userland. If anyone ever wants
- # to query for bitness of the kernel, another accessor should be added.
- return self._bits
-
- @property
- def arch(self):
- return self._arch
-
- @staticmethod
- def normalize_platform_name(platform):
- """One of python's sys.platform values -> 'win', 'linux' or 'mac'."""
- return norm_plat(platform) # pragma: no cover
« no previous file with comments | « scripts/slave/recipe_modules/platform/__init__.py ('k') | scripts/slave/recipe_modules/platform/test_api.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698