OLD | NEW |
| (Empty) |
1 # Copyright (C) 2014 Google Inc. All rights reserved. | |
2 # | |
3 # Redistribution and use in source and binary forms, with or without | |
4 # modification, are permitted provided that the following conditions are | |
5 # met: | |
6 # | |
7 # * Redistributions of source code must retain the above copyright | |
8 # notice, this list of conditions and the following disclaimer. | |
9 # * Redistributions in binary form must reproduce the above | |
10 # copyright notice, this list of conditions and the following disclaimer | |
11 # in the documentation and/or other materials provided with the | |
12 # distribution. | |
13 # * Neither the name of Google Inc. nor the names of its | |
14 # contributors may be used to endorse or promote products derived from | |
15 # this software without specific prior written permission. | |
16 # | |
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
18 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
19 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
20 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
21 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
28 | |
29 import unittest | |
30 | |
31 from webkitpy.common.system.executive_mock import MockExecutive2 | |
32 from webkitpy.common.system.systemhost_mock import MockSystemHost | |
33 from webkitpy.tool.mocktool import MockOptions | |
34 | |
35 from webkitpy.layout_tests.models import test_run_results | |
36 from webkitpy.layout_tests.port import browser_test | |
37 from webkitpy.layout_tests.port import port_testcase | |
38 from webkitpy.layout_tests.port import browser_test_driver | |
39 | |
40 | |
41 class BrowserTestLinuxTest(port_testcase.PortTestCase): | |
42 port_name = 'linux' | |
43 port_maker = browser_test.BrowserTestLinuxPort | |
44 | |
45 def test_driver_name_option(self): | |
46 self.assertTrue(self.make_port(options=MockOptions(driver_name='browser_
tests'))._path_to_driver().endswith('browser_tests')) | |
47 | |
48 def test_layout_tests_dir(self): | |
49 self.assertTrue(self.make_port().layout_tests_dir().endswith('chrome/tes
t/data/printing/layout_tests')) | |
50 | |
51 def test_driver_type(self): | |
52 self.assertTrue(isinstance(self.make_port(options=MockOptions(driver_nam
e='browser_tests')).create_driver(1), browser_test_driver.BrowserTestDriver)) | |
53 | |
54 def test_check_sys_deps(self): | |
55 port = self.make_port() | |
56 port._executive = MockExecutive2(exit_code=0) | |
57 self.assertEqual(port.check_sys_deps(needs_http=False), test_run_results
.OK_EXIT_STATUS) | |
58 | |
59 def test_default_timeout_ms(self): | |
60 self.assertEqual(self.make_port(options=MockOptions(configuration='Relea
se')).default_timeout_ms(), 10000) | |
61 self.assertEqual(self.make_port(options=MockOptions(configuration='Debug
')).default_timeout_ms(), 30000) | |
62 | |
63 | |
64 class BrowserTestWinTest(port_testcase.PortTestCase): | |
65 port_name = 'win' | |
66 port_maker = browser_test.BrowserTestWinPort | |
67 os_name = 'win' | |
68 os_version = 'xp' | |
69 | |
70 def test_driver_name_option(self): | |
71 self.assertTrue(self.make_port(options=MockOptions(driver_name='browser_
tests'))._path_to_driver().endswith('browser_tests.exe')) | |
72 | |
73 def test_layout_tests_dir(self): | |
74 self.assertTrue(self.make_port().layout_tests_dir().endswith('chrome/tes
t/data/printing/layout_tests')) | |
75 | |
76 def test_driver_type(self): | |
77 self.assertTrue(isinstance(self.make_port(options=MockOptions(driver_nam
e='browser_tests')).create_driver(1), browser_test_driver.BrowserTestDriver)) | |
78 | |
79 def test_check_sys_deps(self): | |
80 port = self.make_port() | |
81 port._executive = MockExecutive2(exit_code=0) | |
82 self.assertEqual(port.check_sys_deps(needs_http=False), test_run_results
.OK_EXIT_STATUS) | |
83 | |
84 def test_default_timeout_ms(self): | |
85 self.assertEqual(self.make_port(options=MockOptions(configuration='Relea
se')).default_timeout_ms(), 20000) | |
86 self.assertEqual(self.make_port(options=MockOptions(configuration='Debug
')).default_timeout_ms(), 60000) | |
87 | |
88 | |
89 class BrowserTestMacTest(port_testcase.PortTestCase): | |
90 os_name = 'mac' | |
91 os_version = 'snowleopard' | |
92 port_name = 'mac' | |
93 port_maker = browser_test.BrowserTestMacPort | |
94 | |
95 def test_driver_name_option(self): | |
96 self.assertTrue(self.make_port(options=MockOptions(driver_name='browser_
tests'))._path_to_driver().endswith('browser_tests')) | |
97 | |
98 def test_layout_tests_dir(self): | |
99 self.assertTrue(self.make_port().layout_tests_dir().endswith('chrome/tes
t/data/printing/layout_tests')) | |
100 | |
101 def test_driver_type(self): | |
102 self.assertTrue(isinstance(self.make_port(options=MockOptions(driver_nam
e='browser_tests')).create_driver(1), browser_test_driver.BrowserTestDriver)) | |
103 | |
104 def test_driver_path(self): | |
105 test_port = self.make_port(options=MockOptions(driver_name='browser_test
s')) | |
106 self.assertFalse('.app/Contents/MacOS' in test_port._path_to_driver()) | |
107 | |
108 def test_check_sys_deps(self): | |
109 port = self.make_port() | |
110 port._executive = MockExecutive2(exit_code=0) | |
111 self.assertEqual(port.check_sys_deps(needs_http=False), test_run_results
.OK_EXIT_STATUS) | |
112 | |
113 def test_default_timeout_ms(self): | |
114 self.assertEqual(self.make_port(options=MockOptions(configuration='Relea
se')).default_timeout_ms(), 20000) | |
115 self.assertEqual(self.make_port(options=MockOptions(configuration='Debug
')).default_timeout_ms(), 60000) | |
OLD | NEW |