22This module provides utility functions shared by tests.
33"""
44
5+ import itertools
56import os
67import os .path
78import pathlib
@@ -32,6 +33,10 @@ def debug_results(spec: PathSpec, results: Iterable[CheckResult[str]]) -> str:
3233 """
3334 patterns = cast (list [RegexPattern ], spec .patterns )
3435
36+ pattern_table = []
37+ for index , pattern in enumerate (patterns , 1 ):
38+ pattern_table .append ((f"{ index } :{ pattern .pattern } " , repr (pattern .regex .pattern )))
39+
3540 result_table = []
3641 for result in results :
3742 if result .index is not None :
@@ -42,18 +47,19 @@ def debug_results(spec: PathSpec, results: Iterable[CheckResult[str]]) -> str:
4247
4348 result_table .sort (key = lambda r : r [1 ])
4449
45- first_max_len = max ((len (__row [0 ]) for __row in result_table ), default = 0 )
50+ first_max_len = max ((
51+ len (__row [0 ]) for __row in itertools .chain (pattern_table , result_table )
52+ ), default = 0 )
4653 first_width = min (first_max_len , 20 )
4754
55+ pattern_lines = []
56+ for row in pattern_table :
57+ pattern_lines .append (f" { row [0 ]:<{first_width }} { row [1 ]} " )
58+
4859 result_lines = []
4960 for row in result_table :
5061 result_lines .append (f" { row [0 ]:<{first_width }} { row [1 ]} " )
5162
52- pattern_lines = []
53- for index , pattern in enumerate (patterns , 1 ):
54- first_col = f"{ index } :{ pattern .pattern } "
55- pattern_lines .append (f" { first_col :<{first_width }} { pattern .regex .pattern !r} " )
56-
5763 return "\n " .join ([
5864 "\n " ,
5965 " DEBUG " .center (32 , "-" ),
0 commit comments