3 |
3 |
4 """Summary reporting""" |
4 """Summary reporting""" |
5 |
5 |
6 import sys |
6 import sys |
7 |
7 |
8 from coverage.exceptions import CoverageException |
8 from coverage.exceptions import ConfigError, NoDataError |
9 from coverage.misc import human_sorted_items |
9 from coverage.misc import human_sorted_items |
10 from coverage.report import get_analysis_to_report |
10 from coverage.report import get_analysis_to_report |
11 from coverage.results import Numbers |
11 from coverage.results import Numbers |
12 |
12 |
13 |
13 |
101 if sort_option == "name": |
101 if sort_option == "name": |
102 lines = human_sorted_items(lines, reverse=reverse) |
102 lines = human_sorted_items(lines, reverse=reverse) |
103 else: |
103 else: |
104 position = column_order.get(sort_option) |
104 position = column_order.get(sort_option) |
105 if position is None: |
105 if position is None: |
106 raise CoverageException(f"Invalid sorting option: {self.config.sort!r}") |
106 raise ConfigError(f"Invalid sorting option: {self.config.sort!r}") |
107 lines.sort(key=lambda l: (l[1][position], l[0]), reverse=reverse) |
107 lines.sort(key=lambda l: (l[1][position], l[0]), reverse=reverse) |
108 |
108 |
109 for line in lines: |
109 for line in lines: |
110 self.writeout(line[0]) |
110 self.writeout(line[0]) |
111 |
111 |
120 args += ("",) |
120 args += ("",) |
121 self.writeout(fmt_coverage % args) |
121 self.writeout(fmt_coverage % args) |
122 |
122 |
123 # Write other final lines. |
123 # Write other final lines. |
124 if not self.total.n_files and not self.skipped_count: |
124 if not self.total.n_files and not self.skipped_count: |
125 raise CoverageException("No data to report.") |
125 raise NoDataError("No data to report.") |
126 |
126 |
127 if self.config.skip_covered and self.skipped_count: |
127 if self.config.skip_covered and self.skipped_count: |
128 self.writeout( |
128 self.writeout( |
129 fmt_skip_covered % (self.skipped_count, 's' if self.skipped_count > 1 else '') |
129 fmt_skip_covered % (self.skipped_count, 's' if self.skipped_count > 1 else '') |
130 ) |
130 ) |