coverage_diff_list.py 1.6 KB
Newer Older
L
Liu Xudong 已提交
1
#!/usr/bin/env python
2 3

# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
4
#
5 6 7
# 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
8
#
9
#     http://www.apache.org/licenses/LICENSE-2.0
10
#
11 12 13 14 15
# 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.
L
Liu Xudong 已提交
16 17 18 19 20 21 22 23 24 25
"""
usage: coverage_diff_list.py list_file max_rate > coverage-diff-list-90.out
"""

import sys


def filter_by(list_file, max_rate):
    """
    Args:
26 27
        list_file (str): File of list.
        max_rate (float): Max rate.
L
Liu Xudong 已提交
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

    Returns:
        tuple: File and coverage rate.
    """
    with open(list_file) as list_file:
        for line in list_file:
            line = line.strip()

            split = line.split('|')

            # name

            name = split[0].strip()

            if name.startswith('/paddle/'):
43
                name = name[len('/paddle/') :]
L
Liu Xudong 已提交
44 45 46 47 48 49 50 51 52 53 54 55

            # rate

            try:
                rate = split[1].split()[0].strip('%')
                rate = float(rate)

                if rate >= max_rate:
                    continue
            except:
                pass

C
chalsliu 已提交
56
            print(name, rate)
L
Liu Xudong 已提交
57 58 59 60


if __name__ == '__main__':
    if len(sys.argv) < 2:
61
        sys.exit()
L
Liu Xudong 已提交
62 63 64 65 66

    list_file = sys.argv[1]
    max_rate = float(sys.argv[2])

    filter_by(list_file, max_rate)