coverage.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:sublime-flowtype 作者: Pegase745 项目源码 文件源码
def handle_process(self, returncode, stdout, error):
        """Handle the output from the threaded process."""
        self.view.erase_regions('flow_type_uncovered')

        if type(error) is bytes:
            error = error.decode('utf-8')

        if returncode != 0:
            logger.logger.error('coverage %s' % error)
            return

        logger.logger.debug(stdout)

        if stdout:
            expressions = stdout['expressions']
            covered = expressions['covered_count']
            uncovered = expressions['uncovered_count']
            uncovered_locs = expressions['uncovered_locs']
            total = covered + uncovered
            percentage = (covered * 100.0) / total

            self.view.set_status(
                'flow_type',
                'Flow: {}% coverage with {}/{} uncovered lines'
                .format(round(percentage, 2), uncovered, covered))

            if len(uncovered_locs) > 0:
                # Uncovered regions
                regions = []
                for location in uncovered_locs:
                    row_start = int(location['start']['line']) - 1
                    col_start = int(location['start']['column']) - 1
                    row_end = int(location['end']['line']) - 1
                    col_end = int(location['end']['column'])

                    start = self.view.text_point(row_start, col_start)
                    stop = self.view.text_point(row_end, col_end)

                    regions.append(sublime.Region(start, stop))

                self.view.add_regions(
                    'flow_type_uncovered',
                    regions, 'comment', 'bookmark',
                    sublime.DRAW_SQUIGGLY_UNDERLINE
                )

        else:
            self.view.set_status('flow_type', 'Flow: coverage is not possible')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号