|
2 | 2 | import os |
3 | 3 | import sys |
4 | 4 | from dataclasses import dataclass, field |
5 | | -from typing import Iterable, Callable |
| 5 | +from typing import Iterable |
6 | 6 |
|
7 | 7 | from result import Result, ResultReader |
8 | 8 |
|
| 9 | +ENHANCED_REPORT = False |
| 10 | + |
9 | 11 | @dataclass |
10 | 12 | class ResultSet: |
11 | 13 | python_version: str |
@@ -194,6 +196,40 @@ def format_size_change_detail() -> str: |
194 | 196 | f'| {format_difference(summary.exception(), base_summary.exception())} ' |
195 | 197 | ) |
196 | 198 |
|
| 199 | + if ENHANCED_REPORT: |
| 200 | + yield ''' |
| 201 | +## Larger than original |
| 202 | +
|
| 203 | +| Corpus Entry | Original Size | Minified Size | |
| 204 | +|--------------|--------------:|--------------:|''' |
| 205 | + |
| 206 | + for python_version in ['3.11']: |
| 207 | + summary = result_summary(results_dir, python_version, minifier_sha) |
| 208 | + larger_than_original = sorted(summary.larger_than_original(), key=lambda result: result.original_size) |
| 209 | + |
| 210 | + for entry in larger_than_original: |
| 211 | + yield f'| {entry.corpus_entry} | {entry.original_size} | {entry.minified_size} ({entry.minified_size - entry.original_size:+}) |' |
| 212 | + |
| 213 | + yield ''' |
| 214 | +## Top 10 Larger than base |
| 215 | +
|
| 216 | +| Corpus Entry | Original Size | Minified Size | |
| 217 | +|--------------|--------------:|--------------:|''' |
| 218 | + |
| 219 | + there_are_some_larger_than_base = False |
| 220 | + |
| 221 | + for python_version in ['3.11']: |
| 222 | + summary = result_summary(results_dir, python_version, minifier_sha) |
| 223 | + base_summary = result_summary(results_dir, python_version, base_sha) |
| 224 | + larger_than_original = sorted(summary.compare_size_increase(base_summary), key=lambda result: result.original_size)[:10] |
| 225 | + |
| 226 | + for entry in larger_than_original: |
| 227 | + there_are_some_larger_than_base = True |
| 228 | + yield f'| {entry.corpus_entry} | {entry.original_size} | {entry.minified_size} ({entry.minified_size - base_summary.entries[entry.corpus_entry].minified_size:+}) |' |
| 229 | + |
| 230 | + if not there_are_some_larger_than_base: |
| 231 | + yield '| N/A | N/A | N/A |' |
| 232 | + |
197 | 233 | def main(): |
198 | 234 | parser = argparse.ArgumentParser(description='Generate a test report for a given python-minifier ref') |
199 | 235 | parser.add_argument('results_dir', type=str, help='Path to results directory', default='results') |
|
0 commit comments