OSDN Git Service

am fa65eb8a: (-s ours) am 9a77bf56: Revert "Use STLPort instead of our stripped versi...
[android-x86/external-webkit.git] / WebKitTools / Scripts / webkitpy / layout_tests / port / test.py
1 #!/usr/bin/env python
2 # Copyright (C) 2010 Google 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 Google name 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 """Dummy Port implementation used for testing."""
31
32 import os
33 import time
34
35 import base
36
37
38 class TestPort(base.Port):
39     """Test implementation of the Port interface."""
40
41     def __init__(self, port_name=None, options=None):
42         base.Port.__init__(self, port_name, options)
43
44     def base_platforms(self):
45         return ('test',)
46
47     def baseline_path(self):
48         curdir = os.path.abspath(__file__)
49         self.topdir = curdir[0:curdir.index("WebKitTools")]
50         return os.path.join(self.topdir, 'LayoutTests', 'platform', 'test')
51
52     def baseline_search_path(self):
53         return [self.baseline_path()]
54
55     def check_sys_deps(self):
56         return True
57
58     def diff_image(self, actual_filename, expected_filename, diff_filename):
59         return False
60
61     def compare_text(self, actual_text, expected_text):
62         return False
63
64     def diff_text(self, actual_text, expected_text,
65                   actual_filename, expected_filename):
66         return ''
67
68     def name(self):
69         return self._name
70
71     def num_cores(self):
72         return int(os.popen2("sysctl -n hw.ncpu")[1].read())
73
74     def options(self):
75         return self._options
76
77     def results_directory(self):
78         return '/tmp' + self._options.results_directory
79
80     def setup_test_run(self):
81         pass
82
83     def show_results_html_file(self, filename):
84         pass
85
86     def start_driver(self, image_path, options):
87         return TestDriver(image_path, options, self)
88
89     def start_http_server(self):
90         pass
91
92     def start_websocket_server(self):
93         pass
94
95     def start_helper(self):
96         pass
97
98     def stop_http_server(self):
99         pass
100
101     def stop_websocket_server(self):
102         pass
103
104     def stop_helper(self):
105         pass
106
107     def test_expectations(self):
108         return ''
109
110     def test_base_platform_names(self):
111         return ('test',)
112
113     def test_platform_name(self):
114         return 'test'
115
116     def test_platform_names(self):
117         return self.test_base_platform_names()
118
119     def version():
120         return ''
121
122     def wdiff_text(self, actual_filename, expected_filename):
123         return ''
124
125
126 class TestDriver(base.Driver):
127     """Test/Dummy implementation of the DumpRenderTree interface."""
128
129     def __init__(self, image_path, test_driver_options, port):
130         self._driver_options = test_driver_options
131         self._image_path = image_path
132         self._port = port
133
134     def poll(self):
135         return True
136
137     def returncode(self):
138         return 0
139
140     def run_test(self, uri, timeoutms, image_hash):
141         return (False, False, image_hash, '', None)
142
143     def stop(self):
144         pass