1#!/usr/bin/python 2 3# 4# Copyright 2017, The Android Open Source Project 5# 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17# 18 19""" Run this script when you need to update test-data/expected.""" 20import sys 21 22if len(sys.argv) != 2: 23 print("You need to specify the only one param: file with test failures") 24 sys.exit() 25 26with open(sys.argv[1]) as f: 27 content = f.readlines() 28 29with open("src/tests/test-data/expected/license.txt") as license: 30 licenseLines = license.readlines() 31 32 33def writeToFile(fileName, lines): 34 file = open("src/tests/test-data/expected/" + fileName, "w") 35 for line in lines: 36 file.write(line) 37 38 file.close() 39 40 41state = 0 42filename = "" 43expected = "Expected file:" 44fileLines = [] 45for line in content: 46 if (state == 0 and line.startswith(expected)): 47 state = 1 48 filename = line[line.rfind("/") + 1 : len(line) - 2] 49 print(filename) 50 51 if state == 1 and line.startswith("Actual Source:"): 52 state = 2 53 continue 54 55 if state == 2: 56 fileLines.append(line) 57 58 if state == 2 and line.rstrip() == "}": 59 writeToFile(filename, licenseLines + fileLines[1:]) 60 state = 0 61 fileLines = [] 62 63