同步操作将从 PaddlePaddle/Paddle 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.import commandsfrom xml.etree import ElementTreeimport reimport timeimport queueimport threadingimport osimport jsonimport sysdef analysisPyXml(rootPath, ut):xml_path = '%s/build/pytest/%s/python-coverage.xml' % (rootPath, ut)related_ut_map_file = '%s/build/ut_map/%s/related_%s.txt' % (rootPath, ut,ut)notrelated_ut_map_file = '%s/build/ut_map/%s/notrelated_%s.txt' % (rootPath,ut, ut)tree = ElementTree.parse(xml_path)root = tree.getroot()error_files = []pyCov_file = []for clazz in root.findall('packages/package/classes/class'):clazz_filename = clazz.attrib.get('filename')if not clazz_filename.startswith('/paddle'):clazz_filename = '/paddle/%s' % clazz_filenamefor line in clazz.findall('lines/line'):line_hits = int(line.attrib.get('hits'))if line_hits != 0:line_number = int(line.attrib.get('number'))command = 'sed -n %sp %s' % (line_number, clazz_filename)_code, output = commands.getstatusoutput(command)if _code == 0:if output.strip().startswith(('from', 'import', '__all__', 'def', 'class', '"""','@', '\'\'\'', 'logger', '_logger', 'logging', 'r"""','pass', 'try', 'except', 'if __name__ == "__main__"')) == False:pattern = "(.*) = ('*')|(.*) = (\"*\")|(.*) = (\d)|(.*) = (-\d)|(.*) = (None)|(.*) = (True)|(.*) = (False)|(.*) = (URL_PREFIX*)|(.*) = (\[)|(.*) = (\{)|(.*) = (\()" #a='b'/a="b"/a=0if re.match(pattern, output.strip()) == None:pyCov_file.append(clazz_filename)coverageMessage = 'RELATED'breakelse:coverageMessage = 'FILTER' #hit filter logicelse:coverageMessage = 'FILTER'else:coverageMessage = 'ERROR'error_files.append(clazz_filename)breakelse:coverageMessage = 'NOT_RELATED'if coverageMessage in ['NOT_RELATED', 'ERROR', 'FILTER']:os.system('echo %s >> %s' %(clazz_filename, notrelated_ut_map_file))elif coverageMessage == 'RELATED':os.system('echo %s >> %s' % (clazz_filename, related_ut_map_file))print("============len(pyCov_file)")print(len(pyCov_file))print("============error")print(error_files)if __name__ == "__main__":rootPath = sys.argv[1]ut = sys.argv[2]analysisPyXml(rootPath, ut)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。