Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/w3c/update_w3c_test_expectations.py

Issue 2174073002: Adds functionality to update-w3c-test-expectations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor change Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Tools/Scripts/webkitpy/w3c/update_w3c_test_expectations_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """A script to modify TestExpectations lines based layout test failures in try j obs. 5 """A script to modify TestExpectations lines based layout test failures in try j obs.
6 6
7 This script outputs a list of test expectation lines to add to a 'TestExpectatio ns' file 7 This script outputs a list of test expectation lines to add to a 'TestExpectatio ns' file
8 by retrieving the try job results for the current CL. 8 by retrieving the try job results for the current CL.
9 """ 9 """
10 10
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 line_list.append(str(line)) 223 line_list.append(str(line))
224 return line_list 224 return line_list
225 225
226 def write_to_test_expectations(self, host, path, line_list): 226 def write_to_test_expectations(self, host, path, line_list):
227 """Writes to TestExpectations. 227 """Writes to TestExpectations.
228 228
229 Writes to the test expectations lines in line_list 229 Writes to the test expectations lines in line_list
230 to LayoutTest/TestExpectations. Checks the file for the string 230 to LayoutTest/TestExpectations. Checks the file for the string
231 '# Tests added from W3C auto import bot' and writes expectation 231 '# Tests added from W3C auto import bot' and writes expectation
232 lines directly under it. If not found, it writes to the end of 232 lines directly under it. If not found, it writes to the end of
233 the file. 233 the file. If the test name is already in LayoutTests/TestExpectations,
234 the line will be skipped.
234 235
235 Args: 236 Args:
236 host: A Host object. 237 host: A Host object.
237 path: The path to the file LayoutTest/TestExpectations. 238 path: The path to the file LayoutTests/TestExpectations.
238 line_list: A list of w3c test expectations lines. 239 line_list: A list of w3c test expectations lines.
239 240
240 Returns: 241 Returns:
241 Writes to a file on the filesystem called LayoutTests/TestExpectatio ns. 242 Writes to a file on the filesystem called LayoutTests/TestExpectatio ns.
242 """ 243 """
243 comment_line = '# Tests added from W3C auto import bot' 244 comment_line = '# Tests added from W3C auto import bot'
244 file_contents = host.filesystem.read_text_file(path) 245 file_contents = host.filesystem.read_text_file(path)
245 w3c_comment_line_index = file_contents.find(comment_line) 246 w3c_comment_line_index = file_contents.find(comment_line)
246 all_lines = '' 247 all_lines = ''
247 for line in line_list: 248 for line in line_list:
249 end_bracket_index = line.split().index(']')
250 test_name = line.split()[end_bracket_index + 1]
251 if test_name in file_contents:
252 continue
248 all_lines += str(line) + '\n' 253 all_lines += str(line) + '\n'
249 all_lines = all_lines[:-1] 254 all_lines = all_lines[:-1]
250 if w3c_comment_line_index == -1: 255 if w3c_comment_line_index == -1:
251 file_contents += '\n%s\n' % comment_line 256 file_contents += '\n%s\n' % comment_line
252 file_contents += all_lines 257 file_contents += all_lines
253 else: 258 else:
254 end_of_comment_line = (file_contents[w3c_comment_line_index:].find(' \n')) + w3c_comment_line_index 259 end_of_comment_line = (file_contents[w3c_comment_line_index:].find(' \n')) + w3c_comment_line_index
255 new_data = file_contents[: end_of_comment_line + 1] + all_lines + fi le_contents[end_of_comment_line:] 260 new_data = file_contents[: end_of_comment_line + 1] + all_lines + fi le_contents[end_of_comment_line:]
256 file_contents = new_data 261 file_contents = new_data
257 host.filesystem.write_text_file(path, file_contents) 262 host.filesystem.write_text_file(path, file_contents)
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Tools/Scripts/webkitpy/w3c/update_w3c_test_expectations_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698