forked from eatvio/eatvio_app
fix(chat): initialize startDate to current date when personal diet is not enabled and streamline widget layout for improved readability
This commit is contained in:
55
analyze_coverage.py
Normal file
55
analyze_coverage.py
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
import re
|
||||
|
||||
def analyze_coverage():
|
||||
files = {}
|
||||
current_file = None
|
||||
|
||||
with open('coverage/lcov.info', 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
i = 0
|
||||
while i < len(lines):
|
||||
line = lines[i].strip()
|
||||
if line.startswith('SF:'):
|
||||
current_file = line[3:]
|
||||
files[current_file] = {'total': 0, 'covered': 0}
|
||||
i += 1
|
||||
elif line.startswith('LF:') and current_file:
|
||||
files[current_file]['total'] = int(line[3:])
|
||||
i += 1
|
||||
elif line.startswith('LH:') and current_file:
|
||||
files[current_file]['covered'] = int(line[3:])
|
||||
i += 1
|
||||
else:
|
||||
i += 1
|
||||
|
||||
# Filter out generated files
|
||||
filtered = []
|
||||
for f, d in files.items():
|
||||
if not f.endswith('.g.dart') and not 'generated' in f.lower() and not f.endswith('l10n.dart'):
|
||||
filtered.append((f, d))
|
||||
|
||||
# Find files with less than 50% coverage
|
||||
low_coverage = []
|
||||
for f, d in filtered:
|
||||
if d['total'] > 0:
|
||||
pct = d['covered']/d['total']*100
|
||||
if pct < 50:
|
||||
low_coverage.append((f, d))
|
||||
|
||||
# Sort by coverage percentage (lowest first)
|
||||
sorted_files = sorted(
|
||||
low_coverage,
|
||||
key=lambda x: (x[1]['covered']/x[1]['total']*100 if x[1]['total'] > 0 else 0)
|
||||
)
|
||||
|
||||
print('Files with less than 50% coverage:')
|
||||
print('=' * 80)
|
||||
for f, d in sorted_files[:50]:
|
||||
pct = d['covered']/d['total']*100
|
||||
print(f'{pct:6.1f}% ({d["covered"]:4d}/{d["total"]:4d}) - {f}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
analyze_coverage()
|
||||
|
||||
Reference in New Issue
Block a user