OLD | NEW |
1 # Copyright (C) 2011 Google Inc. All rights reserved. | 1 # Copyright (C) 2011 Google Inc. All rights reserved. |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
5 # met: | 5 # met: |
6 # | 6 # |
7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 pass | 72 pass |
73 | 73 |
74 def test_get_crash_log(self): | 74 def test_get_crash_log(self): |
75 pass | 75 pass |
76 | 76 |
77 def test_check_build(self): | 77 def test_check_build(self): |
78 pass | 78 pass |
79 | 79 |
80 | 80 |
81 class MockDRTTest(unittest.TestCase): | 81 class MockDRTTest(unittest.TestCase): |
| 82 |
82 def input_line(self, port, test_name, pixel_tests, checksum=None): | 83 def input_line(self, port, test_name, pixel_tests, checksum=None): |
83 url = port.create_driver(0).test_to_uri(test_name) | 84 url = port.create_driver(0).test_to_uri(test_name) |
84 if url.startswith('file://'): | 85 if url.startswith('file://'): |
85 url = url[len('file://'):] | 86 url = url[len('file://'):] |
86 if pixel_tests: | 87 if pixel_tests: |
87 url += "'--pixel-test" | 88 url += "'--pixel-test" |
88 if checksum: | 89 if checksum: |
89 url += "'" + checksum | 90 url += "'" + checksum |
90 return url + '\n' | 91 return url + '\n' |
91 | 92 |
(...skipping 25 matching lines...) Expand all Loading... |
117 'ExpectedHash: %s\n' % expected_checksum]) | 118 'ExpectedHash: %s\n' % expected_checksum]) |
118 output.append('#EOF\n') | 119 output.append('#EOF\n') |
119 return output | 120 return output |
120 | 121 |
121 def assertTest(self, test_name, pixel_tests, expected_checksum=None, drt_out
put=None, host=None, expected_text=None): | 122 def assertTest(self, test_name, pixel_tests, expected_checksum=None, drt_out
put=None, host=None, expected_text=None): |
122 port_name = 'test' | 123 port_name = 'test' |
123 host = host or MockSystemHost() | 124 host = host or MockSystemHost() |
124 test.add_unit_tests_to_mock_filesystem(host.filesystem) | 125 test.add_unit_tests_to_mock_filesystem(host.filesystem) |
125 port = PortFactory(host).get(port_name) | 126 port = PortFactory(host).get(port_name) |
126 drt_input, drt_output = self.make_input_output(port, test_name, | 127 drt_input, drt_output = self.make_input_output(port, test_name, |
127 pixel_tests, expected_checksum, drt_output, drt_input=None, expected
_text=expected_text) | 128 pixel_tests, expected_che
cksum, drt_output, drt_input=None, expected_text=expected_text) |
128 | 129 |
129 args = ['--dump-render-tree', '--platform', port_name, '-'] | 130 args = ['--dump-render-tree', '--platform', port_name, '-'] |
130 stdin = io.BytesIO(drt_input) | 131 stdin = io.BytesIO(drt_input) |
131 stdout = io.BytesIO() | 132 stdout = io.BytesIO() |
132 stderr = io.BytesIO() | 133 stderr = io.BytesIO() |
133 options, args = mock_drt.parse_options(args) | 134 options, args = mock_drt.parse_options(args) |
134 | 135 |
135 drt = self.make_drt(options, args, host, stdin, stdout, stderr) | 136 drt = self.make_drt(options, args, host, stdin, stdout, stderr) |
136 res = drt.run() | 137 res = drt.run() |
137 | 138 |
(...skipping 14 matching lines...) Expand all Loading... |
152 self.assertEqual(stdout.getvalue(), '') | 153 self.assertEqual(stdout.getvalue(), '') |
153 self.assertEqual(stderr.getvalue(), '') | 154 self.assertEqual(stderr.getvalue(), '') |
154 self.assertEqual(host.filesystem.written_files, {}) | 155 self.assertEqual(host.filesystem.written_files, {}) |
155 | 156 |
156 def test_pixeltest_passes(self): | 157 def test_pixeltest_passes(self): |
157 # This also tests that we handle HTTP: test URLs properly. | 158 # This also tests that we handle HTTP: test URLs properly. |
158 self.assertTest('http/tests/passes/text.html', True) | 159 self.assertTest('http/tests/passes/text.html', True) |
159 | 160 |
160 def test_pixeltest__fails(self): | 161 def test_pixeltest__fails(self): |
161 self.assertTest('failures/expected/image_checksum.html', pixel_tests=Tru
e, | 162 self.assertTest('failures/expected/image_checksum.html', pixel_tests=Tru
e, |
162 expected_checksum='image_checksum-checksum', | 163 expected_checksum='image_checksum-checksum', |
163 drt_output=['Content-Type: text/plain\n', | 164 drt_output=['Content-Type: text/plain\n', |
164 'image_checksum-txt', | 165 'image_checksum-txt', |
165 '#EOF\n', | 166 '#EOF\n', |
166 '\n', | 167 '\n', |
167 'ActualHash: image_checksum-checksum\n', | 168 'ActualHash: image_checksum-checksum\n', |
168 'ExpectedHash: image_checksum-checksum\n', | 169 'ExpectedHash: image_checksum-checksum\n', |
169 '#EOF\n']) | 170 '#EOF\n']) |
170 | 171 |
171 def test_textonly(self): | 172 def test_textonly(self): |
172 self.assertTest('passes/image.html', False) | 173 self.assertTest('passes/image.html', False) |
173 | 174 |
174 def test_checksum_in_png(self): | 175 def test_checksum_in_png(self): |
175 self.assertTest('passes/checksum_in_image.html', True) | 176 self.assertTest('passes/checksum_in_image.html', True) |
176 | 177 |
177 def test_missing_image(self): | 178 def test_missing_image(self): |
178 self.assertTest('failures/expected/missing_image.html', True) | 179 self.assertTest('failures/expected/missing_image.html', True) |
179 | 180 |
180 def test_missing_text(self): | 181 def test_missing_text(self): |
181 self.assertTest('failures/expected/missing_text.html', True) | 182 self.assertTest('failures/expected/missing_text.html', True) |
182 | 183 |
183 def test_reftest_match(self): | 184 def test_reftest_match(self): |
184 self.assertTest('passes/reftest.html', True, expected_checksum='mock-che
cksum', expected_text='reference text\n') | 185 self.assertTest('passes/reftest.html', True, expected_checksum='mock-che
cksum', expected_text='reference text\n') |
185 | 186 |
186 def test_reftest_mismatch(self): | 187 def test_reftest_mismatch(self): |
187 self.assertTest('passes/mismatch.html', True, expected_checksum='mock-ch
ecksum', expected_text='reference text\n') | 188 self.assertTest('passes/mismatch.html', True, expected_checksum='mock-ch
ecksum', expected_text='reference text\n') |
188 | 189 |
189 def test_audio(self): | 190 def test_audio(self): |
190 self.assertTest('passes/audio.html', pixel_tests=True, | 191 self.assertTest('passes/audio.html', pixel_tests=True, |
191 drt_output=['Content-Type: audio/wav\n', | 192 drt_output=['Content-Type: audio/wav\n', |
192 'Content-Transfer-Encoding: base64\n', | 193 'Content-Transfer-Encoding: base64\n', |
193 'YXVkaW8td2F2', | 194 'YXVkaW8td2F2', |
194 '\n', | 195 '\n', |
195 '#EOF\n', | 196 '#EOF\n', |
196 '#EOF\n']) | 197 '#EOF\n']) |
197 | 198 |
198 def test_virtual(self): | 199 def test_virtual(self): |
199 self.assertTest('virtual/passes/text.html', True) | 200 self.assertTest('virtual/passes/text.html', True) |
OLD | NEW |