61704cf78836eba874111b674a6f57b886a6d6cd
[WebKit-https.git] / Tools / Scripts / webkitpy / common / system / platforminfo_mock.py
1 # Copyright (C) 2011 Google Inc. All rights reserved.
2 # Copyright (c) 2017 Apple Inc. All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7 #
8 #    * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #    * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
13 # distribution.
14 #    * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30 from webkitpy.common.version import Version
31
32 class MockPlatformInfo(object):
33     def __init__(self, os_name='mac', os_version='snowleopard'):
34         self.os_name = os_name
35         self.os_version = os_version
36         self.expected_xcode_simctl_list = None
37
38     def is_mac(self):
39         return self.os_name == 'mac'
40
41     def is_ios(self):
42         return self.os_name == 'ios'
43
44     def is_linux(self):
45         return self.os_name == 'linux'
46
47     def is_win(self):
48         return self.os_name == 'win'
49
50     def is_cygwin(self):
51         return self.os_name == 'cygwin'
52
53     def is_freebsd(self):
54         return self.os_name == 'freebsd'
55
56     def display_name(self):
57         return "MockPlatform 1.0"
58
59     def total_bytes_memory(self):
60         return 3 * 1024 * 1024 * 1024  # 3GB is a reasonable amount of ram to mock.
61
62     def terminal_width(self):
63         return 80
64
65     def xcode_sdk_version(self, sdk_name):
66         return Version('8.1')
67
68     def xcode_version(self):
69         return Version('8.0')
70
71     def xcode_simctl_list(self):
72         return self.expected_xcode_simctl_list