172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# Copyright (C) 2011 Google Inc. All rights reserved. 272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# 372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# Redistribution and use in source and binary forms, with or without 472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# modification, are permitted provided that the following conditions are 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# met: 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# 772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# * Redistributions of source code must retain the above copyright 872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# notice, this list of conditions and the following disclaimer. 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# * Redistributions in binary form must reproduce the above 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# copyright notice, this list of conditions and the following disclaimer 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# in the documentation and/or other materials provided with the 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# distribution. 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# * Neither the name of Google Inc. nor the names of its 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# contributors may be used to endorse or promote products derived from 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# this software without specific prior written permission. 1672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen# 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass MockPlatformInfo(object): 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen def __init__(self, os_name='mac', os_version='snowleopard'): 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen self.os_name = os_name 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen self.os_version = os_version 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen def is_mac(self): 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return self.os_name == 'mac' 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen def is_linux(self): 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return self.os_name == 'linux' 4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen def is_win(self): 42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen return self.os_name == 'win' 43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen def is_cygwin(self): 45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen return self.os_name == 'cygwin' 4672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen def is_freebsd(self): 4872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return self.os_name == 'freebsd' 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen def display_name(self): 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return "MockPlatform 1.0" 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen def total_bytes_memory(self): 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return 3 * 1024 * 1024 * 1024 # 3GB is a reasonable amount of ram to mock. 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen def terminal_width(self): 57dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen return 80 58dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen