chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright (c) 2020 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.
|
||||
"""
|
||||
usage: python_coverage.py > python-coverage.info
|
||||
"""
|
||||
|
||||
from os import path
|
||||
from xml.etree import ElementTree
|
||||
|
||||
tree = ElementTree.parse('python-coverage.xml')
|
||||
root = tree.getroot()
|
||||
|
||||
sources = root.findall('sources/source')
|
||||
|
||||
source = sources[-1].text
|
||||
|
||||
for clazz in root.findall('packages/package/classes/class'):
|
||||
clazz_filename = clazz.attrib.get('filename')
|
||||
clazz_filename = path.join(source, clazz_filename)
|
||||
|
||||
if clazz_filename.startswith('/paddle/build/python/'):
|
||||
clazz_filename = (
|
||||
'/paddle/python/' + clazz_filename[len('/paddle/build/python/') :]
|
||||
)
|
||||
|
||||
if not path.exists(clazz_filename):
|
||||
continue
|
||||
|
||||
print('TN:')
|
||||
print(f'SF:{clazz_filename}')
|
||||
|
||||
branch_index = 0
|
||||
|
||||
for line in clazz.findall('lines/line'):
|
||||
line_hits = line.attrib.get('hits')
|
||||
line_number = line.attrib.get('number')
|
||||
|
||||
line_branch = line.attrib.get('branch')
|
||||
line_condition_coverage = line.attrib.get('condition-coverage')
|
||||
line_missing_branches = line.attrib.get('missing-branches')
|
||||
|
||||
if line_branch == 'true':
|
||||
line_condition_coverage = line_condition_coverage.split()
|
||||
line_condition_coverage = line_condition_coverage[1].strip('()')
|
||||
line_condition_coverage = line_condition_coverage.split('/')
|
||||
|
||||
taken = line_condition_coverage[0]
|
||||
taken = int(taken)
|
||||
|
||||
for _ in range(taken):
|
||||
print(f'BRDA:{line_number},{0},{branch_index},{line_hits}')
|
||||
branch_index += 1
|
||||
|
||||
if line_missing_branches:
|
||||
for missing_branch in line_missing_branches.split(','):
|
||||
print(f'BRDA:{line_number},{0},{branch_index},{0}')
|
||||
branch_index += 1
|
||||
|
||||
print(f'DA:{line_number},{line_hits}')
|
||||
|
||||
print('end_of_record')
|
||||
Reference in New Issue
Block a user