Changeset 69153 in webkit
- Timestamp:
- Oct 5, 2010 3:33:18 PM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r69151 r69153 1 2010-10-05 Tony Chang <tony@chromium.org> 2 3 Reviewed by Ojan Vafai. 4 5 [chromium] fix image diffing in NRWT 6 https://bugs.webkit.org/show_bug.cgi?id=47128 7 8 * Scripts/webkitpy/layout_tests/port/chromium.py: Stop using 9 NamedTemporaryFile since it doesn't work on Windows. 10 * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: 11 1 12 2010-10-05 Kenneth Russell <kbr@google.com> 2 13 -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/base.py
r69065 r69153 260 260 if not os.path.exists(path): 261 261 return None 262 with codecs.open(path, 'r', encoding) as file: 262 open_mode = 'r' 263 if encoding is None: 264 open_mode = 'r+b' 265 with codecs.open(path, open_mode, encoding) as file: 263 266 return file.read() 264 267 -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
r69075 r69153 135 135 diff_filename=None, tolerance=0): 136 136 executable = self._path_to_image_diff() 137 expected_tmpfile = tempfile.NamedTemporaryFile() 138 expected_tmpfile.write(expected_contents) 139 actual_tmpfile = tempfile.NamedTemporaryFile() 140 actual_tmpfile.write(actual_contents) 137 138 tempdir = tempfile.mkdtemp() 139 expected_filename = os.path.join(tempdir, "expected.png") 140 with open(expected_filename, 'w+b') as file: 141 file.write(expected_contents) 142 actual_filename = os.path.join(tempdir, "actual.png") 143 with open(actual_filename, 'w+b') as file: 144 file.write(actual_contents) 145 141 146 if diff_filename: 142 cmd = [executable, '--diff', expected_ tmpfile.name,143 actual_ tmpfile.name, diff_filename]147 cmd = [executable, '--diff', expected_filename, 148 actual_filename, diff_filename] 144 149 else: 145 cmd = [executable, expected_ tmpfile.name, actual_tmpfile.name]150 cmd = [executable, expected_filename, actual_filename] 146 151 147 152 result = True 148 153 try: 149 if self._executive.run_command(cmd, return_exit_code=True) == 0: 150 return False 154 exit_code = self._executive.run_command(cmd, return_exit_code=True) 155 if exit_code == 0: 156 # The images are the same. 157 result = False 158 elif exit_code != 1: 159 # Some other error occurred. 160 raise ValueError("image diff returned an exit code of " + 161 str(exit_code)) 151 162 except OSError, e: 152 163 if e.errno == errno.ENOENT or e.errno == errno.EACCES: … … 155 166 raise e 156 167 finally: 157 expected_tmpfile.close() 158 actual_tmpfile.close() 168 shutil.rmtree(tempdir) 159 169 return result 160 170 -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py
r69075 r69153 157 157 self.assertTrue(port.default_configuration_called) 158 158 159 def test_diff_image(self): 160 class TestPort(ChromiumPortTest.TestLinuxPort): 161 def _path_to_image_diff(self): 162 return "/path/to/image_diff" 163 164 class EmptyOptions: 165 use_drt = False 166 167 class MockExecute: 168 def __init__(self, result): 169 self._result = result 170 171 def run_command(self, 172 args, 173 cwd=None, 174 input=None, 175 error_handler=None, 176 return_exit_code=False, 177 return_stderr=True, 178 decode_output=False): 179 return self._result 180 181 options = EmptyOptions() 182 port = ChromiumPortTest.TestLinuxPort(options) 183 184 # Images are different. 185 port._executive = MockExecute(0) 186 self.assertEquals(False, port.diff_image("EXPECTED", "ACTUAL")) 187 188 # Images are the same. 189 port._executive = MockExecute(1) 190 self.assertEquals(True, port.diff_image("EXPECTED", "ACTUAL")) 191 192 # There was some error running image_diff. 193 port._executive = MockExecute(2) 194 exception_raised = False 195 try: 196 port.diff_image("EXPECTED", "ACTUAL") 197 except ValueError, e: 198 exception_raised = True 199 self.assertTrue(exception_raised) 200 159 201 if __name__ == '__main__': 160 202 unittest.main() -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/test_types/image_diff.py
r67974 r69153 105 105 106 106 expected_image = port.expected_image(filename) 107 with codecs.open(actual_filename, 'r ', None) as file:107 with codecs.open(actual_filename, 'r+b', None) as file: 108 108 actual_image = file.read() 109 109
Note: See TracChangeset
for help on using the changeset viewer.